diff --git a/android/app/build.gradle b/android/app/build.gradle index 17e44340..da50b1a9 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -92,8 +92,8 @@ android { applicationId 'de.orfel.schnappix' minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 44 - versionName "23.01.44" + versionCode 45 + versionName "23.01.45" buildConfigField "String", "REACT_NATIVE_RELEASE_LEVEL", "\"${findProperty('reactNativeReleaseLevel') ?: 'stable'}\"" } diff --git a/apks/Schnappix_v23.01.45.aab b/apks/Schnappix_v23.01.45.aab new file mode 100644 index 00000000..13a39979 Binary files /dev/null and b/apks/Schnappix_v23.01.45.aab differ diff --git a/apks/Schnappix_v23.01.45.apk b/apks/Schnappix_v23.01.45.apk new file mode 100644 index 00000000..683a33c8 --- /dev/null +++ b/apks/Schnappix_v23.01.45.apk @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae174293dbb56404229b29d493296aed4eaff0c931ae9406e489a7a3dba39264 +size 116898327 diff --git a/app.json b/app.json index 79e69ca7..b9267206 100644 --- a/app.json +++ b/app.json @@ -3,7 +3,7 @@ "newArchEnabled": true, "name": "Schnappix", "slug": "Schnappix", - "version": "23.01.44", + "version": "23.01.45", "orientation": "landscape", "icon": "./Icon.png", "userInterfaceStyle": "dark", @@ -13,7 +13,7 @@ }, "android": { "package": "de.orfel.schnappix", - "versionCode": 44, + "versionCode": 45, "usesCleartextTraffic": true, "adaptiveIcon": { "backgroundColor": "#050510", diff --git a/modules/usb-camera/android/build.gradle b/modules/usb-camera/android/build.gradle index 3a9129c7..f6a4288c 100644 --- a/modules/usb-camera/android/build.gradle +++ b/modules/usb-camera/android/build.gradle @@ -27,7 +27,7 @@ repositories { dependencies { implementation 'com.facebook.react:react-android' // AndroidUSBCamera library for USB/UVC Webcams - implementation('com.github.jiangdongguo.AndroidUSBCamera:libausbc:3.2.7') { + implementation('com.github.jiangdongguo.AndroidUSBCamera:libausbc:3.3.3') { exclude group: 'com.gyf.immersionbar', module: 'immersionbar' exclude group: 'com.zlc.glide', module: 'webpdecoder' } diff --git a/modules/usb-camera/android/src/main/java/expo/modules/usbcamera/UsbCameraView.kt b/modules/usb-camera/android/src/main/java/expo/modules/usbcamera/UsbCameraView.kt index 8e8c2c5c..1e5e26a3 100644 --- a/modules/usb-camera/android/src/main/java/expo/modules/usbcamera/UsbCameraView.kt +++ b/modules/usb-camera/android/src/main/java/expo/modules/usbcamera/UsbCameraView.kt @@ -92,50 +92,8 @@ class UsbCameraView(context: Context, appContext: AppContext) : ExpoView(context activityContext.registerReceiver(permissionReceiver, filter) } - // Create a ContextWrapper that automatically injects RECEIVER_EXPORTED - // This is required to fix the crash on Android 14+ when the 3rd party ausbc library - // calls registerReceiver without the required flag. - val wrappedContext = object : android.content.ContextWrapper(activityContext), androidx.lifecycle.LifecycleOwner { - override val lifecycle: androidx.lifecycle.Lifecycle - get() { - if (activityContext is androidx.lifecycle.LifecycleOwner) { - return (activityContext as androidx.lifecycle.LifecycleOwner).lifecycle - } - // Fallback to avoid crash, though CameraX needs a real lifecycle - throw IllegalStateException("activityContext is not a LifecycleOwner!") - } - - override fun getApplicationContext(): android.content.Context { - return this - } - - override fun registerReceiver( - receiver: android.content.BroadcastReceiver?, - filter: android.content.IntentFilter? - ): android.content.Intent? { - return if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.TIRAMISU) { - super.registerReceiver(receiver, filter, Context.RECEIVER_EXPORTED) - } else { - super.registerReceiver(receiver, filter) - } - } - - override fun registerReceiver( - receiver: android.content.BroadcastReceiver?, - filter: android.content.IntentFilter?, - broadcastPermission: String?, - scheduler: android.os.Handler? - ): android.content.Intent? { - return if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.TIRAMISU) { - super.registerReceiver(receiver, filter, broadcastPermission, scheduler, Context.RECEIVER_EXPORTED) - } else { - super.registerReceiver(receiver, filter, broadcastPermission, scheduler) - } - } - } - - cameraClient = CameraClient.newBuilder(wrappedContext) - .setCameraStrategy(CameraUvcStrategy(wrappedContext)) + cameraClient = CameraClient.newBuilder(activityContext) + .setCameraStrategy(CameraUvcStrategy(activityContext)) .setCameraRequest(cameraRequest) .setEnableGLES(false) .build() diff --git a/package.json b/package.json index a82cd3b2..1db9b247 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "schnappix", - "version": "23.01.44", + "version": "23.01.45", "main": "index.ts", "dependencies": { "@fortawesome/fontawesome-svg-core": "^6.7.2",