(mod) prepare UVCCamera for Android Oreo #443
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Newer version of Android are attaching and mounting an external USB Camera as v4l devices. If one openDevice it, Android first detaches the device and immediately reattaches it under a different identifier. Hence UVCCamera fails to connect.
In order to fix this, this PR listens on ACTION_USB_DEVICE_ATTACHED, tries to detect whether the new device is the one that was intended to be opened and openDevice the new one immediately before Android remounts the v4l device.
In addition, the PR handles some Backward Compat adjustments and also fixes Notifcation handling on UsbCameraTest4 App for Android 8.1+.
Tested successful with devices on Android 5.1 and 8.1.