From 5136266c110cd0c74b1bd124535ad665192b5ebf Mon Sep 17 00:00:00 2001 From: orfelorfel23 Date: Sun, 23 Aug 2026 14:55:38 +0200 Subject: [PATCH] Remove restartPreview to fix black screen and shifted image --- android/app/build.gradle | 4 ++-- app.json | 4 ++-- .../expo/modules/usbcamera/UsbCameraModule.kt | 4 ---- .../expo/modules/usbcamera/UsbCameraView.kt | 20 ------------------- modules/usb-camera/index.ts | 2 +- package.json | 2 +- src/screens/CameraScreen.tsx | 10 ---------- 7 files changed, 6 insertions(+), 40 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index a239ae29..81f1649f 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 60 - versionName "23.01.60" + versionCode 61 + versionName "23.01.61" buildConfigField "String", "REACT_NATIVE_RELEASE_LEVEL", "\"${findProperty('reactNativeReleaseLevel') ?: 'stable'}\"" } diff --git a/app.json b/app.json index 8f446fba..f82aff50 100644 --- a/app.json +++ b/app.json @@ -3,7 +3,7 @@ "newArchEnabled": true, "name": "Schnappix", "slug": "Schnappix", - "version": "23.01.60", + "version": "23.01.61", "orientation": "landscape", "icon": "./Icon.png", "userInterfaceStyle": "dark", @@ -13,7 +13,7 @@ }, "android": { "package": "de.orfel.schnappix", - "versionCode": 60, + "versionCode": 61, "usesCleartextTraffic": true, "adaptiveIcon": { "backgroundColor": "#050510", diff --git a/modules/usb-camera/android/src/main/java/expo/modules/usbcamera/UsbCameraModule.kt b/modules/usb-camera/android/src/main/java/expo/modules/usbcamera/UsbCameraModule.kt index 2d21dad8..3cc2e4e7 100644 --- a/modules/usb-camera/android/src/main/java/expo/modules/usbcamera/UsbCameraModule.kt +++ b/modules/usb-camera/android/src/main/java/expo/modules/usbcamera/UsbCameraModule.kt @@ -50,10 +50,6 @@ class UsbCameraModule : Module() { promise.resolve(view.isCameraConnected()) } - AsyncFunction("restartPreview") { view: UsbCameraView, promise: Promise -> - view.restartPreview() - promise.resolve(true) - } OnViewDestroys { view -> view.onDestroy() 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 8b87b4c6..a7d0090e 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 @@ -259,26 +259,6 @@ class UsbCameraView(context: Context, appContext: AppContext) : ExpoView(context return cameraClient?.isCameraOpened() ?: false } - fun restartPreview() { - try { - if (cameraClient != null) { - cameraClient?.closeCamera() - textureView.postDelayed({ - try { - val safeContext = UsbContextWrapperJava(appContext.currentActivity ?: context) - removeView(textureView) - textureView = AspectRatioTextureView(safeContext) - addView(textureView, LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)) - cameraClient?.openCamera(textureView) - } catch (e: Exception) { - e.printStackTrace() - } - }, 300) - } - } catch (e: Exception) { - e.printStackTrace() - } - } fun onDestroy() { try { diff --git a/modules/usb-camera/index.ts b/modules/usb-camera/index.ts index 04387d4b..e027f755 100644 --- a/modules/usb-camera/index.ts +++ b/modules/usb-camera/index.ts @@ -19,7 +19,7 @@ export interface UsbCameraViewProps extends ViewProps { export interface UsbCameraRef { takePicture(savePath: string): Promise; isCameraConnected(): Promise; - restartPreview(): Promise; + } // Export the native view manager component diff --git a/package.json b/package.json index eb722122..867b59a7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "schnappix", - "version": "23.01.60", + "version": "23.01.61", "main": "index.ts", "dependencies": { "@fortawesome/fontawesome-svg-core": "^6.7.2", diff --git a/src/screens/CameraScreen.tsx b/src/screens/CameraScreen.tsx index 1d33387c..112f5462 100644 --- a/src/screens/CameraScreen.tsx +++ b/src/screens/CameraScreen.tsx @@ -128,17 +128,7 @@ export default function CameraScreen({ const isObscuredRef = useRef(isObscured); useEffect(() => { - const wasObscured = isObscuredRef.current; isObscuredRef.current = isObscured; - - // If we just became visible again (e.g. returning from PreviewScreen or AdminScreen) - if (wasObscured && !isObscured) { - if (usbCameraRef.current && !useFrontCamera) { - usbCameraRef.current.restartPreview().catch(e => { - logger.error('Failed to restart preview natively', e); - }); - } - } }, [isObscured, useFrontCamera]); const { width } = useWindowDimensions();