chore: bump version to 23.01.49, fix Android 14 USB crash, and delay disconnected text

This commit is contained in:
Jannik committed 2026-08-21 20:30:38 +02:00
1 parent 7048b72cc5
commit 5079cbed24
7 files changed
+66 -12

No files matched your search

@@ -14,6 +14,34 @@ import expo.modules.kotlin.Promise
import expo.modules.kotlin.viewevent.EventDispatcher
import androidx.annotation.Keep
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleOwner
class UsbContextWrapper(base: Context) : android.content.ContextWrapper(base), LifecycleOwner {
override val lifecycle: Lifecycle
get() = (baseContext as LifecycleOwner).lifecycle
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)
}
}
}
@Keep
class UsbCameraView(context: Context, appContext: AppContext) : ExpoView(context, appContext) {
@@ -92,8 +120,10 @@ class UsbCameraView(context: Context, appContext: AppContext) : ExpoView(context
activityContext.registerReceiver(permissionReceiver, filter)
}
cameraClient = CameraClient.newBuilder(activityContext)
.setCameraStrategy(CameraUvcStrategy(activityContext))
val safeContext = UsbContextWrapper(activityContext)
cameraClient = CameraClient.newBuilder(safeContext)
.setCameraStrategy(CameraUvcStrategy(safeContext))
.setCameraRequest(cameraRequest)
.setEnableGLES(false)
.build()