Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🐛 Flip camera is not working in Android #2748

Closed
4 of 5 tasks
lv-saikrishna opened this issue Apr 17, 2024 · 5 comments
Closed
4 of 5 tasks

🐛 Flip camera is not working in Android #2748

lv-saikrishna opened this issue Apr 17, 2024 · 5 comments
Labels
🐛 bug Something isn't working

Comments

@lv-saikrishna
Copy link

lv-saikrishna commented Apr 17, 2024

What's happening?

I am using the 4.0.0-beta.14 version, Flip camera is not working in Android. The same code was working fine in V 3.9.2

Reproduceable Code

const camera = useRef<Camera>(null)
  const isFocussed = useIsFocused()
  const isForeground = useIsForeground()
  const isActive = isFocussed && isForeground
  const [cameraPosition, setCameraPosition] = useState<'front' | 'back'>('back')
  
  let device = useCameraDevice(cameraPosition)

  const onFlipCameraPressed = useCallback(() => {
    setCameraPosition((p) => (p === 'back' ? 'front' : 'back'))
  }, [])
  
    const codeScanner: CodeScanner = {
    codeTypes: ['code-39'],
    onCodeScanned: useCallback((codes) => {
      const scanResult = codes[0]?.value?.trim() ?? '';	  
	  ///log scanResult
      }
    }, []),
  };
  

  return (
    <View style={styles.container}>
      {device != null && (
        <Camera ref={camera} style={styles.Camera} device={device} isActive={isActive} codeScanner={codeScanner} enableZoomGesture={true}></Camera>
      )}

      <View style={styles.rightButtonRow}>
        <PressableOpacity style={styles.button} onPress={onFlipCameraPressed} disabledOpacity={0.4}>
          <IonIcon name="camera-reverse" color="white" size={24} />
        </PressableOpacity>
      </View>
    </View>
  )

Relevant log output

I don't have the logs to share

Camera Device

{}

Device

samsung galaxy s23

VisionCamera Version

4.0.0-beta.14

Can you reproduce this issue in the VisionCamera Example app?

Yes, I can reproduce the same issue in the Example app here

Additional information

@lv-saikrishna lv-saikrishna added the 🐛 bug Something isn't working label Apr 17, 2024
@EmanuilM
Copy link

EmanuilM commented Apr 18, 2024

I have same issue

Relevant log output

Camera.onError(unknown/unknown): Use case Preview:androidx.camera.core.Preview-1fdaff89-d5cf-44e3-9c72-75d09de454d2 already bound to a different lifecycle. [unknown/unknown: Use case Preview:androidx.camera.core.Preview-1fdaff89-d5cf-44e3-9c72-75d09de454d2 already bound to a different lifecycle.]

**Logcat**
2024-04-18 15:48:07.680  2578-2578  CameraView              pid-2578                             I  Updating CameraSession...
2024-04-18 15:48:07.683  2578-2578  CameraSession           pid-2578                             I  configure { ... }: Waiting for lock...
2024-04-18 15:48:07.684  2578-2578  CameraSession           pid-2578                             I  configure { ... }: Updating CameraSession Configuration... Difference(deviceChanged=true, outputsChanged=false, sidePropsChanged=false, isActiveChanged=false, locationChanged=false)
2024-04-18 15:48:07.684  2578-2578  CameraSession           pid-2578                             I  Binding Camera #10...
2024-04-18 15:48:07.685  2578-2578  CameraSession           pid-2578                             I  Binding 3 use-cases...
2024-04-18 15:48:07.687  2578-2578  CameraSession           pid-2578                             I  Camera State: OPEN (has error: false)
2024-04-18 15:48:07.687  2578-2578  CameraView              pid-2578                             I  invokeOnInitialized()
2024-04-18 15:48:07.688  2578-2578  CameraSession           pid-2578                             I  Successfully bound Camera #10!
2024-04-18 15:48:07.688  2578-2578  CameraSession           pid-2578                             I  configure { ... }: Completed CameraSession Configuration! (State: RESUMED)
2024-04-18 15:48:07.756   977-999   ndroid.systemui         com.android.systemui                 I  Background concurrent mark compact GC freed 372175(17MB) AllocSpace objects, 0(0B) LOS objects, 50% free, 16MB/33MB, paused 169us,9.742ms total 93.345ms
2024-04-18 15:48:07.879   550-647   audioserver             audioserver                          D  FGS Logger Transaction failed
2024-04-18 15:48:07.879   550-647   audioserver             audioserver                          D  -129
2024-04-18 15:48:08.883  2578-2770  EGL_emulation           pid-2578                             D  app_time_stats: avg=83.28ms min=10.34ms max=952.59ms count=19
2024-04-18 15:48:08.970   550-639   audioserver             audioserver                          D  FGS Logger Transaction failed
2024-04-18 15:48:08.970   550-639   audioserver             audioserver                          D  -129
2024-04-18 15:48:08.994  2578-2578  CameraView              pid-2578                             I  Updating CameraSession...
2024-04-18 15:48:08.995  2578-2578  CameraSession           pid-2578                             I  configure { ... }: Waiting for lock...
2024-04-18 15:48:08.996  2578-2578  CameraSession           pid-2578                             I  configure { ... }: Updating CameraSession Configuration... Difference(deviceChanged=true, outputsChanged=false, sidePropsChanged=false, isActiveChanged=false, locationChanged=false)
2024-04-18 15:48:08.996  2578-2578  CameraSession           pid-2578                             I  Binding Camera #1...
2024-04-18 15:48:08.996  2578-2578  CameraSession           pid-2578                             I  Binding 3 use-cases...
2024-04-18 15:48:08.997  2578-2578  CameraSession           pid-2578                             E  Failed to configure CameraSession! Error: Use case Preview:androidx.camera.core.Preview-446a4f93-f850-48f1-9497-e11fd42c6df9 already bound to a different lifecycle., Config-Diff: Difference(deviceChanged=true, outputsChanged=false, sidePropsChanged=false, isActiveChanged=false, locationChanged=false)
                                                                                                    java.lang.IllegalStateException: Use case Preview:androidx.camera.core.Preview-446a4f93-f850-48f1-9497-e11fd42c6df9 already bound to a different lifecycle.
                                                                                                    	at androidx.camera.lifecycle.ProcessCameraProvider.bindToLifecycle(ProcessCameraProvider.java:587)
                                                                                                    	at androidx.camera.lifecycle.ProcessCameraProvider.bindToLifecycle(ProcessCameraProvider.java:386)
                                                                                                    	at com.mrousavy.camera.core.CameraSession.configureCamera(CameraSession.kt:427)
                                                                                                    	at com.mrousavy.camera.core.CameraSession.configure(CameraSession.kt:165)
                                                                                                    	at com.mrousavy.camera.CameraView$update$1.invokeSuspend(CameraView.kt:156)
                                                                                                    	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
                                                                                                    	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
                                                                                                    	at android.os.Handler.handleCallback(Handler.java:958)
                                                                                                    	at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                                    	at android.os.Looper.loopOnce(Looper.java:205)
                                                                                                    	at android.os.Looper.loop(Looper.java:294)
                                                                                                    	at android.app.ActivityThread.main(ActivityThread.java:8177)
                                                                                                    	at java.lang.reflect.Method.invoke(Native Method)
                                                                                                    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
                                                                                                    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
2024-04-18 15:48:08.997  2578-2578  CameraView              pid-2578                             E  invokeOnError(...):
2024-04-18 15:48:08.997  2578-2578  System.err              pid-2578                             W  java.lang.IllegalStateException: Use case Preview:androidx.camera.core.Preview-446a4f93-f850-48f1-9497-e11fd42c6df9 already bound to a different lifecycle.
2024-04-18 15:48:08.998  2578-2578  System.err              pid-2578                             W  	at androidx.camera.lifecycle.ProcessCameraProvider.bindToLifecycle(ProcessCameraProvider.java:587)
2024-04-18 15:48:08.998  2578-2578  System.err              pid-2578                             W  	at androidx.camera.lifecycle.ProcessCameraProvider.bindToLifecycle(ProcessCameraProvider.java:386)
2024-04-18 15:48:08.998  2578-2578  System.err              pid-2578                             W  	at com.mrousavy.camera.core.CameraSession.configureCamera(CameraSession.kt:427)
2024-04-18 15:48:08.998  2578-2578  System.err              pid-2578                             W  	at com.mrousavy.camera.core.CameraSession.configure(CameraSession.kt:165)
2024-04-18 15:48:08.998  2578-2578  System.err              pid-2578                             W  	at com.mrousavy.camera.CameraView$update$1.invokeSuspend(CameraView.kt:156)
2024-04-18 15:48:08.998  2578-2578  System.err              pid-2578                             W  	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
2024-04-18 15:48:08.998  2578-2578  System.err              pid-2578                             W  	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
2024-04-18 15:48:08.998  2578-2578  System.err              pid-2578                             W  	at android.os.Handler.handleCallback(Handler.java:958)
2024-04-18 15:48:08.998  2578-2578  System.err              pid-2578                             W  	at android.os.Handler.dispatchMessage(Handler.java:99)
2024-04-18 15:48:08.998  2578-2578  System.err              pid-2578                             W  	at android.os.Looper.loopOnce(Looper.java:205)
2024-04-18 15:48:08.998  2578-2578  System.err              pid-2578                             W  	at android.os.Looper.loop(Looper.java:294)
2024-04-18 15:48:08.998  2578-2578  System.err              pid-2578                             W  	at android.app.ActivityThread.main(ActivityThread.java:8177)
2024-04-18 15:48:08.998  2578-2578  System.err              pid-2578                             W  	at java.lang.reflect.Method.invoke(Native Method)
2024-04-18 15:48:08.998  2578-2578  System.err              pid-2578                             W  	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
2024-04-18 15:48:08.998  2578-2578  System.err              pid-2578                             W  	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
2024-04-18 15:48:09.016  2578-2951  ReactNativeJS           pid-2578                             E  'Camera.onError(unknown/unknown): Use case Preview:androidx.camera.core.Preview-446a4f93-f850-48f1-9497-e11fd42c6df9 already bound to a different lifecycle.', { [unknown/unknown: Use case Preview:androidx.camera.core.Preview-446a4f93-f850-48f1-9497-e11fd42c6df9 already bound to a different lifecycle.]
                                                                                                      name: 'unknown/unknown',
                                                                                                      _code: 'unknown/unknown',
                                                                                                      _message: 'Use case Preview:androidx.camera.core.Preview-446a4f93-f850-48f1-9497-e11fd42c6df9 already bound to a different lifecycle.',
                                                                                                      _cause: 
                                                                                                       { stacktrace: 'java.lang.IllegalStateException: Use case Preview:androidx.camera.core.Preview-446a4f93-f850-48f1-9497-e11fd42c6df9 already bound to a different lifecycle.\n\tat androidx.camera.lifecycle.ProcessCameraProvider.bindToLifecycle(ProcessCameraProvider.java:587)\n\tat androidx.camera.lifecycle.ProcessCameraProvider.bindToLifecycle(ProcessCameraProvider.java:386)\n\tat com.mrousavy.camera.core.CameraSession.configureCamera(CameraSession.kt:427)\n\tat com.mrousavy.camera.core.CameraSession.configure(CameraSession.kt:165)\n\tat com.mrousavy.camera.CameraView$update$1.invokeSuspend(CameraView.kt:156)\n\tat kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)\n\tat kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)\n\tat android.os.Handler.handleCallback(Handler.java:958)\n\tat android.os.Handler.dispatchMessage(Handler.java:99)\n\tat android.os.Looper.loopOnce(Looper.java:205)\n\tat android.os.Looper.loop(Looper.java:294)\n\tat android.app.ActivityThread.main(ActivityThread.java:8177)\n\tat java.lang.reflect.Method.invoke(Native Method)\n\tat com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)\n\tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)\n',
                                                                                                         message: 'Use case Preview:androidx.camera.core.Preview-446a4f93-f850-48f1-9497-e11fd42c6df9 already bound to a different lifecycle.' } }
2024-04-18 15:48:09.068  2578-3308  TrafficStats            pid-2578                             D  tagSocket(75) with statsTag=0xffffffff, statsUid=-1
2024-04-18 15:48:09.193   550-647   audioserver             audioserver                          D  FGS Logger Transaction failed
2024-04-18 15:48:09.193   550-647   audioserver             audioserver                          D  -129
2024-04-18 15:48:09.636  3241-3244  ziparchive              pid-3241                             W  Unable to open '/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/CronetDynamite.dm': No such file or directory
2024-04-18 15:48:09.636  3241-3244  ziparchive              pid-3241                             W  Unable to open '/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/CronetDynamite.dm': No such file or directory
2024-04-18 15:48:09.637  3241-3244  ziparchive              pid-3241                             W  Unable to open '/data/user_de/0/com.google.android.gms/app_chimera/m/00000002/DynamiteLoader.dm': No such file or directory
2024-04-18 15:48:09.637  3241-3244  ziparchive              pid-3241                             W  Unable to open '/data/user_de/0/com.google.android.gms/app_chimera/m/00000002/DynamiteLoader.dm': No such file or directory
2024-04-18 15:48:09.650  3241-3244  ziparchive              pid-3241                             W  Unable to open '/data/user_de/0/com.google.android.gms/app_chimera/m/00000005/GoogleCertificates.dm': No such file or directory
2024-04-18 15:48:09.650  3241-3244  ziparchive              pid-3241                             W  Unable to open '/data/user_de/0/com.google.android.gms/app_chimera/m/00000005/GoogleCertificates.dm': No such file or directory
2024-04-18 15:48:09.653  3241-3244  ziparchive              pid-3241                             W  Unable to open '/data/user_de/0/com.google.android.gms/app_chimera/m/0000000d/dl-VisionOcrDynamite.integ_231602402100000.dm': No such file or directory
2024-04-18 15:48:09.653  3241-3244  ziparchive              pid-3241                             W  Unable to open '/data/user_de/0/com.google.android.gms/app_chimera/m/0000000d/dl-VisionOcrDynamite.integ_231602402100000.dm': No such file or directory
2024-04-18 15:48:09.654  3241-3244  ziparchive              pid-3241                             W  Unable to open '/data/user_de/0/com.google.android.gms/app_chimera/m/0000000a/dl-MlkitBarcodeUi.optional_231818100000.dm': No such file or directory
2024-04-18 15:48:09.654  3241-3244  ziparchive              pid-3241                             W  Unable to open '/data/user_de/0/com.google.android.gms/app_chimera/m/0000000a/dl-MlkitBarcodeUi.optional_231818100000.dm': No such file or directory
2024-04-18 15:48:09.659  3241-3244  ziparchive              pid-3241                             W  Unable to open '/data/user_de/0/com.google.android.gms/app_chimera/m/0000000b/dl-MlkitOcrCommon.optional_231818100400.dm': No such file or directory
2024-04-18 15:48:09.659  3241-3244  ziparchive              pid-3241                             W  Unable to open '/data/user_de/0/com.google.android.gms/app_chimera/m/0000000b/dl-MlkitOcrCommon.optional_231818100400.dm': No such file or directory
2024-04-18 15:48:09.659  3241-3244  ziparchive              pid-3241                             W  Unable to open '/data/user_de/0/com.google.android.gms/app_chimera/m/00000000/AdsDynamite.dm': No such file or directory
2024-04-18 15:48:09.659  3241-3244  ziparchive              pid-3241                             W  Unable to open '/data/user_de/0/com.google.android.gms/app_chimera/m/00000000/AdsDynamite.dm': No such file or directory
2024-04-18 15:48:09.661  3241-3244  ziparchive              pid-3241                             W  Unable to open '/data/user_de/0/com.google.android.gms/app_chimera/m/00000018/dl-VisionOcr.optional_241017100000.dm': No such file or directory
2024-04-18 15:48:09.661  3241-3244  ziparchive              pid-3241                             W  Unable to open '/data/user_de/0/com.google.android.gms/app_chimera/m/00000018/dl-VisionOcr.optional_241017100000.dm': No such file or directory
2024-04-18 15:48:09.662  3241-3244  ziparchive              pid-3241                             W  Unable to open '/data/user_de/0/com.google.android.gms/app_chimera/m/00000013/DynamiteLoader.dm': No such file or directory

Camera Device

{
  "formats": [],
  "sensorOrientation": "landscape-left",
  "hardwareLevel": "limited",
  "maxZoom": 1,
  "minZoom": 1,
  "maxExposure": 6,
  "supportsLowLightBoost": false,
  "neutralZoom": 1,
  "physicalDevices": [
    "ultra-wide-angle-camera"
  ],
  "supportsFocus": false,
  "supportsRawCapture": false,
  "isMultiCam": false,
  "minFocusDistance": 0,
  "minExposure": -6,
  "name": "10 (BACK) androidx.camera.camera2",
  "hasFlash": false,
  "hasTorch": false,
  "position": "back",
  "id": "10"
}

Device

Samsung A71 - Android 13, Android Emulator - Android 13,14

VisionCamera Version

4.0.0-beta.14

@moafandi0
Copy link

see this
#2721 (comment)

@mrousavy
Copy link
Owner

Duplicate of #2721

@mrousavy mrousavy marked this as a duplicate of #2721 Apr 21, 2024
@mrousavy
Copy link
Owner

Also without sharing logs I cannot help you @lv-saikrishna.

Thanks for extending this and sharing logs @EmanuilM though.

@mrousavy
Copy link
Owner

Fixed this issue in #2768. 💪

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐛 bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants