RedApparat / Fotoapparat

Making Camera for Android more friendly. 📸
Apache License 2.0
3.81k stars 405 forks source link

Can't make a photo on an OnePlus 6T with Android 9, possible orientation issue #355

Open wolf81 opened 5 years ago

wolf81 commented 5 years ago

What are you trying to achieve or the steps to reproduce?

Trying to make a photo on a OnePlus 6T device with Android 9. I am testing this device using AppCenter, as I don't own one myself. An exception occurs trying to make a photo regarding the orientation.

PhotoResult photoResult = camera.takePicture();

// PLEASE NOTE: We perform the save on a separate thread manually instead of using the
// saveToFile() method, since the saveToFile() method doesn't properly log exceptions
Thread thread = new Thread() {
    @Override
    public void run() {
        try {
            photoResult.saveToFile(imageFile).await();
        } catch (Exception e) {
            Log.e(TamperSecure.TAG, "*** ERROR: " + e.toString() );
            e.printStackTrace();
    }
};
thread.start();

How did you initialize FA?

this.camera = Fotoapparat
    .with(this)
    .into(cameraView)
    .lensPosition(SelectorsKt.firstAvailable(
            LensPositionSelectorsKt.back(),
            LensPositionSelectorsKt.front(),
            LensPositionSelectorsKt.external()
    ))
    .previewResolution((resolutions) -> getResolutionWithMp(1.f, resolutions))
    .photoResolution((resolutions) -> getResolutionWithMp(5.f, resolutions))
    .previewScaleType(ScaleType.CenterCrop)
    .flash(off())
    .focusMode(SelectorsKt.firstAvailable(
            FocusModeSelectorsKt.continuousFocusPicture(),
            FocusModeSelectorsKt.autoFocus(),
            FocusModeSelectorsKt.fixed(),
            FocusModeSelectorsKt.infinity()
    ))
    .logger(LoggersKt.logcat())
    .cameraErrorCallback((exception) -> {
        Log.e(TamperSecure.TAG, exception.toString());
    })
    .build();

What was the result you received?

D/Fotoapparat( 7056): CameraDevice: takePhoto
D/Fotoapparat( 7056): Couldn't deliver pending result: Operation failed internally.
E/TamperSecure( 7056): *** ERROR: java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: kotlin.UninitializedPropertyAccessException: lateinit property imageOrientation has not been initialized
W/System.err( 7056): java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: kotlin.UninitializedPropertyAccessException: lateinit property imageOrientation has not been initialized
W/System.err( 7056):     at java.util.concurrent.FutureTask.report(FutureTask.java:123)
W/System.err( 7056):  at java.util.concurrent.FutureTask.get(FutureTask.java:193)
W/System.err( 7056):     at io.fotoapparat.result.PendingResult.await(PendingResult.kt:55)
W/System.err( 7056):   at com.peir.photector.CameraActivity$1.run(CameraActivity.java:217)
W/System.err( 7056): Caused by: java.util.concurrent.ExecutionException: kotlin.UninitializedPropertyAccessException: lateinit property imageOrientation has not been initialized
W/System.err( 7056):    at java.util.concurrent.FutureTask.report(FutureTask.java:123)
W/System.err( 7056):  at java.util.concurrent.FutureTask.get(FutureTask.java:193)
W/System.err( 7056):     at io.fotoapparat.result.PendingResult$transform$transformTask$1.call(PendingResult.kt:36)
W/System.err( 7056):  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
W/System.err( 7056):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
W/System.err( 7056):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
W/System.err( 7056):  at java.lang.Thread.run(Thread.java:764)
W/System.err( 7056): Caused by: kotlin.UninitializedPropertyAccessException: lateinit property imageOrientation has not been initialized
W/System.err( 7056):    at io.fotoapparat.hardware.CameraDevice.takePhoto(CameraDevice.kt:139)
W/System.err( 7056):  at io.fotoapparat.routine.photo.TakePhotoRoutineKt$takePhoto$1.invokeSuspend(TakePhotoRoutine.kt:15)
W/System.err( 7056):    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:32)
W/System.err( 7056):   at kotlinx.coroutines.DispatchedTask$DefaultImpls.run(Dispatched.kt:235)
W/System.err( 7056):    at kotlinx.coroutines.DispatchedContinuation.run(Dispatched.kt:81)
W/System.err( 7056):  at kotlinx.coroutines.EventLoopBase.processNextEvent(EventLoop.kt:123)
W/System.err( 7056):  at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:69)
W/System.err( 7056):    at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:45)
W/System.err( 7056):    at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source:1)
W/System.err( 7056):  at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:35)
W/System.err( 7056):    at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source:1)
W/System.err( 7056):  at io.fotoapparat.routine.photo.TakePhotoRoutineKt.takePhoto(TakePhotoRoutine.kt:12)
W/System.err( 7056):    at io.fotoapparat.Fotoapparat$takePicture$future$1.invoke(Fotoapparat.kt:119)
W/System.err( 7056):   at io.fotoapparat.Fotoapparat$takePicture$future$1.invoke(Fotoapparat.kt:34)
W/System.err( 7056):    at io.fotoapparat.concurrent.CameraExecutor$execute$future$1.call(CameraExecutor.kt:26)
W/System.err( 7056):     ... 4 more
I/TamperSecure( 7056): *** STOP CAMERA
D/Fotoapparat( 7056): Fotoapparat: stop

What did you expect?

I would have expected to be able to save the file successfully.

It seems the issues is caused by the image orientation being a null value, perhaps it should have some default?

Context:

Diolor commented 5 years ago

Hey, thanks for reporting. Are you by any chance calling take picture before starting FA? The lateinit value is being firstly initialized just before starting the preview 🤔

wolf81 commented 5 years ago

I believe Fotoapparat should have been started already. I'll show a more complete version of the log. Please note init is called previously as well as start.

D/Fotoapparat( 7056): Device: updateLensPositionSelector
D/Fotoapparat( 7056): Fotoapparat: <init>
D/LifecycleMonitor( 7056): Lifecycle status change: com.peir.photector.CameraActivity@d9429a5 in: CREATED
D/LifecycleMonitor( 7056): running callback: androidx.test.rule.ActivityTestRule$LifecycleCallback@becf7e9
D/LifecycleMonitor( 7056): callback completes: androidx.test.rule.ActivityTestRule$LifecycleCallback@becf7e9
D/Fotoapparat( 7056): Fotoapparat: start
D/LifecycleMonitor( 7056): Lifecycle status change: com.peir.photector.CameraActivity@d9429a5 in: STARTED
D/LifecycleMonitor( 7056): running callback: androidx.test.rule.ActivityTestRule$LifecycleCallback@becf7e9
D/LifecycleMonitor( 7056): callback completes: androidx.test.rule.ActivityTestRule$LifecycleCallback@becf7e9
D/Fotoapparat( 7056): Fotoapparat: getCapabilities
D/LifecycleMonitor( 7056): Lifecycle status change: com.peir.photector.CameraActivity@d9429a5 in: RESUMED
D/LifecycleMonitor( 7056): running callback: androidx.test.rule.ActivityTestRule$LifecycleCallback@becf7e9
D/LifecycleMonitor( 7056): callback completes: androidx.test.rule.ActivityTestRule$LifecycleCallback@becf7e9
D/Fotoapparat( 7056): Device: selectCamera
D/Fotoapparat( 7056): CameraDevice: open
W/pool-7-thread-1( 7056): type=1400 audit(0.0:1008): avc: denied { read } for name="u:object_r:vendor_default_prop:s0" dev="tmpfs" ino=16873 scontext=u:r:untrusted_app:s0:c166,c262,c512,c768 tcontext=u:object_r:vendor_default_prop:s0 tclass=file permissive=0
E/libc    ( 7056): Access denied finding property "vendor.camera.hal1.packagelist"
I/CameraService(  930): CameraService::connect call (PID -1 "com.peir.tampersecure_example", camera ID 0) for HAL version default and Camera API version 1
I/CameraService(  930): CameraService::connect Bypass active check: com.peir.tampersecure_example (active: 1)
D/MediaPlayerService(  944): LF player type = 4
D/NuPlayerDriver(  944): NuPlayerDriver(0xf0793480) created, clientPid(930)
E/FileSource(  944): Failed to open file '/product/media/audio/ui/camera_click.ogg'. (No such file or directory)
E/GenericSource(  944): Failed to create data source!
D/NuPlayerDriver(  944): notifyListener_l(0xf0793480), (100, 1, -2147483648, -1), loop setting(0, 0)
E/MediaPlayerNative(  930): error (1, -2147483648)
E/CameraService(  930): Failed to load CameraService sounds: /product/media/audio/ui/camera_click.ogg
D/NuPlayerDriver(  944): reset(0xf0793480) at state 2
D/NuPlayerDriver(  944): notifyListener_l(0xf0793480), (8, 0, 0, -1), loop setting(0, 0)
W/AMessage(  944): failed to post message as target looper for handler 0 is gone.
D/NuPlayerDriver(  944): notifyResetComplete(0xf0793480)
D/MediaPlayerService(  944): LF player type = 4
D/NuPlayerDriver(  944): NuPlayerDriver(0xf0793500) created, clientPid(930)
I/QComExtractorFactory(  936):  Sniff OGG success <==
I/MMParserExtractor(  936): Created(0x7d0a4c7700)
D/MMParserExtractor(  936): MMParserExtractor create m_eFileFormat 16
W/BpMediaSource(  944): ignoring potentially modified MetaData from start
W/BpMediaSource(  944): input:
I/MetaDataBase(  944): bytm: (int32_t) 2
W/BpMediaSource(  944): output:
I/MetaDataBase(  944): bytm: (int32_t) 0
D/NuPlayerDriver(  944): notifyListener_l(0xf0793500), (1, 0, 0, -1), loop setting(0, 0)
D/MediaPlayerService(  944): LF player type = 4
D/NuPlayerDriver(  944): NuPlayerDriver(0xf0793580) created, clientPid(930)
E/FileSource(  944): Failed to open file '/product/media/audio/ui/VideoRecord.ogg'. (No such file or directory)
E/GenericSource(  944): Failed to create data source!
D/NuPlayerDriver(  944): notifyListener_l(0xf0793580), (100, 1, -2147483648, -1), loop setting(0, 0)
E/MediaPlayerNative(  930): error (1, -2147483648)
E/CameraService(  930): Failed to load CameraService sounds: /product/media/audio/ui/VideoRecord.ogg
D/NuPlayerDriver(  944): reset(0xf0793580) at state 2
D/NuPlayerDriver(  944): notifyListener_l(0xf0793580), (8, 0, 0, -1), loop setting(0, 0)
W/AMessage(  944): failed to post message as target looper for handler 0 is gone.
D/NuPlayerDriver(  944): notifyResetComplete(0xf0793580)
D/MediaPlayerService(  944): LF player type = 4
D/NuPlayerDriver(  944): NuPlayerDriver(0xf0793600) created, clientPid(930)
I/QComExtractorFactory(  936):  Sniff OGG success <==
I/MMParserExtractor(  936): Created(0x7d0a4c77e0)
D/MMParserExtractor(  936): MMParserExtractor create m_eFileFormat 16
W/BpMediaSource(  944): ignoring potentially modified MetaData from start
W/BpMediaSource(  944): input:
I/MetaDataBase(  944): bytm: (int32_t) 2
W/BpMediaSource(  944): output:
I/MetaDataBase(  944): bytm: (int32_t) 0
D/NuPlayerDriver(  944): notifyListener_l(0xf0793600), (1, 0, 0, -1), loop setting(0, 0)
D/MediaPlayerService(  944): LF player type = 4
D/NuPlayerDriver(  944): NuPlayerDriver(0xf0793b80) created, clientPid(930)
E/FileSource(  944): Failed to open file '/product/media/audio/ui/VideoStop.ogg'. (No such file or directory)
E/GenericSource(  944): Failed to create data source!
D/NuPlayerDriver(  944): notifyListener_l(0xf0793b80), (100, 1, -2147483648, -1), loop setting(0, 0)
E/MediaPlayerNative(  930): error (1, -2147483648)
E/CameraService(  930): Failed to load CameraService sounds: /product/media/audio/ui/VideoStop.ogg
D/NuPlayerDriver(  944): reset(0xf0793b80) at state 2
D/NuPlayerDriver(  944): notifyListener_l(0xf0793b80), (8, 0, 0, -1), loop setting(0, 0)
W/AMessage(  944): failed to post message as target looper for handler 0 is gone.
D/NuPlayerDriver(  944): notifyResetComplete(0xf0793b80)
D/MediaPlayerService(  944): LF player type = 4
D/NuPlayerDriver(  944): NuPlayerDriver(0xf0793c00) created, clientPid(930)
D/OemPhoneWindowManager(  886): [isDefaultHome] default home: ActivityInfo{d57f69b net.oneplus.launcher.Launcher}
D/DecorView( 7056): onWindowFocusChangedFromViewRoot hasFocus: true, DecorView@86a8bad[CameraActivity]
I/QComExtractorFactory(  936):  Sniff OGG success <==
I/MMParserExtractor(  936): Created(0x7d08085380)
W/RenderThread( 7056): type=1400 audit(0.0:1009): avc: denied { read } for name="u:object_r:vendor_default_prop:s0" dev="tmpfs" ino=16873 scontext=u:r:untrusted_app:s0:c166,c262,c512,c768 tcontext=u:object_r:vendor_default_prop:s0 tclass=file permissive=0
D/MMParserExtractor(  936): MMParserExtractor create m_eFileFormat 16
E/libc    ( 7056): Access denied finding property "vendor.debug.egl.changepixelformat"
W/BpMediaSource(  944): ignoring potentially modified MetaData from start
W/BpMediaSource(  944): input:
I/MetaDataBase(  944): bytm: (int32_t) 2
W/BpMediaSource(  944): output:
I/MetaDataBase(  944): bytm: (int32_t) 0
D/NuPlayerDriver(  944): notifyListener_l(0xf0793c00), (1, 0, 0, -1), loop setting(0, 0)
I/Camera2ClientBase(  930): Camera 0: Opened. Client: com.peir.tampersecure_example (PID 7056, UID 11702)
I/RecentsModel( 2772): onTaskStackChanged# mTaskChangeId=8
I/CameraService(  930): onTorchStatusChangedLocked: Torch status changed for cameraId=0, newStatus=0
I/NfcService( 2606): Camera 0 is unavailable
I/CameraProviderManager(  930): Camera device device@3.3/legacy/0 torch status is now NOT_AVAILABLE
E/CameraProviderManager(  930): torchModeStatusChange:813 call onTorchStatusChanged
I/CameraService(  930): onTorchStatusChangedLocked: Torch status changed for cameraId=0, newStatus=0
I/CameraProviderManager(  930): Camera device device@3.3/legacy/1 torch status is now NOT_AVAILABLE
E/CameraProviderManager(  930): torchModeStatusChange:813 call onTorchStatusChanged
I/CameraService(  930): onTorchStatusChangedLocked: Torch status changed for cameraId=1, newStatus=0
E/CameraService(  930): onTorchStatusChangedLocked: cannot get torch status of camera 1: No such file or directory (-2)
I/CameraProviderManager(  930): Camera device device@1.0/legacy/2 torch status is now NOT_AVAILABLE
E/CameraProviderManager(  930): torchModeStatusChange:813 call onTorchStatusChanged
I/CameraService(  930): onTorchStatusChangedLocked: Torch status changed for cameraId=2, newStatus=0
E/CameraService(  930): onTorchStatusChangedLocked: cannot get torch status of camera 2: No such file or directory (-2)
I/CameraProviderManager(  930): Camera device device@3.3/legacy/2 torch status is now NOT_AVAILABLE
E/CameraProviderManager(  930): torchModeStatusChange:813 call onTorchStatusChanged
I/CameraService(  930): onTorchStatusChangedLocked: Torch status changed for cameraId=2, newStatus=0
E/CameraService(  930): onTorchStatusChangedLocked: cannot get torch status of camera 2: No such file or directory (-2)
I/CameraProviderManager(  930): Camera device device@1.0/legacy/3 torch status is now NOT_AVAILABLE
E/CameraProviderManager(  930): torchModeStatusChange:813 call onTorchStatusChanged
I/CameraService(  930): onTorchStatusChangedLocked: Torch status changed for cameraId=3, newStatus=0
E/CameraService(  930): onTorchStatusChangedLocked: cannot get torch status of camera 3: No such file or directory (-2)
I/CameraProviderManager(  930): Camera device device@3.3/legacy/3 torch status is now NOT_AVAILABLE
E/CameraProviderManager(  930): torchModeStatusChange:813 call onTorchStatusChanged
I/CameraService(  930): onTorchStatusChangedLocked: Torch status changed for cameraId=3, newStatus=0
E/CameraService(  930): onTorchStatusChangedLocked: cannot get torch status of camera 3: No such file or directory (-2)
D/CHIUSECASE(  687): [chi_extend_open][142] "[OP_EXT] OPEN_CAMERA E cameraId 0"
I/OPCameraBinder(  687): OPHWBinder
D/CHIUSECASE(  687): [initPackageName][2488] "[OP_EXT] com.peir.tampersecure_example"
I/OPCameraBinder(  687): ~OPHWBinder
D/CHIUSECASE(  687): [chi_extend_open][146] "[OP_EXT] OPEN_CAMERA X"
I/OPCameraBinder(  687): OPHWBinder
I/        (  687): LoadOPPackageName: [OP_EXT] com.peir.tampersecure_example
I/OPCameraBinder(  687): ~OPHWBinder
I/OPCameraBinder(  687): OPHWBinder
I/        (  687): LoadOPPackageName: [OP_EXT] com.peir.tampersecure_example
I/OPCameraBinder(  687): ~OPHWBinder
E/libc    (  687): Access denied finding property "ro.camera.req.fmq.size"
E/libc    (  687): Access denied finding property "ro.camera.res.fmq.size"
W/provider@2.4-se(  687): type=1400 audit(0.0:1010): avc: denied { read } for name="u:object_r:default_prop:s0" dev="tmpfs" ino=16782 scontext=u:r:hal_camera_default:s0 tcontext=u:object_r:default_prop:s0 tclass=file permissive=0
E/libc    ( 7056): Access denied finding property "vendor.debug.egl.swapinterval"
W/Camera2-Parameters(  930): initialize: Camera 0: Unknown preview format: 24
W/Camera2-Parameters(  930): initialize: Camera 0: Unknown preview format: 25
E/Camera2-Parameters(  930): Error finding static metadata entry 'android.distortionCorrection.availableModes' (1b0001)
I/Camera2-Parameters(  930): Camera 0: Disabling ZSL mode
I/Camera2-Parameters(  930): initialize: allowZslMode: 0 slowJpegMode 0
D/Fotoapparat( 7056): CameraDevice: getCapabilities$suspendImpl
E/TamperSecure( 7056): selected resolution: 5.02848
D/Fotoapparat( 7056): CameraDevice: getCapabilities$suspendImpl
I/ActivityManager(  886): Displayed com.peir.tampersecure_example/com.peir.photector.CameraActivity: +136ms
E/OnePlusSmartBoostManager(  886): socket connect
E/OnePlusSmartBoostManager(  886): cmd: iop_start 7056 com.peir.tampersecure_example /data/app/com.peir.tampersecure_example-tg6WV0YgsZasyPadCoyl8Q== false length = 115
E/OnePlusSmartBoostManager(  886): data: [B@6dfbc8b length = 115
E/ANDR-RAMBOOST_SERVER(  933): ramboost cmd_len = 115 cmd: iop_start 7056 com.peir.tampersecure_example /data/app/com.peir.tampersecure_example-tg6WV0YgsZasyPadCoyl8Q== false
E/libc    ( 7056): Access denied finding property "vendor.debug.egl.swapinterval"
I/TamperSecure( 7056): Capabilities
I/TamperSecure( 7056): zoom:        Zoom.VariableZoom(maxZoom=99, zoomRatios=[100, 107, 114, 121, 128, 135, 142, 149, 156, 163, 170, 177, 184, 191, 198, 206, 213, 220, 227, 234, 241, 248, 255, 262, 269, 276, 283, 290, 297, 305, 312, 319, 326, 333, 340, 347, 354, 361, 368, 375, 382, 389, 396, 404, 411, 418, 425, 432, 439, 446, 453, 460, 467, 474, 481, 488, 495, 503, 510, 517, 524, 531, 538, 545, 552, 559, 566, 573, 580, 587, 594, 602, 609, 616, 623, 630, 637, 644, 651, 658, 665, 672, 679, 686, 693, 701, 708, 715, 722, 729, 736, 743, 750, 757, 764, 771, 778, 785, 792, 799])
I/TamperSecure( 7056): flashModes:[
I/TamperSecure( 7056):      Flash.Off,
I/TamperSecure( 7056):      Flash.Auto,
I/TamperSecure( 7056):      Flash.On,
I/TamperSecure( 7056):      Flash.Torch,
I/TamperSecure( 7056):      Flash.AutoRedEye]
I/TamperSecure( 7056): focusModes:[
I/TamperSecure( 7056):      FocusMode.Infinity,
I/TamperSecure( 7056):      FocusMode.Auto,
I/TamperSecure( 7056):      FocusMode.Macro,
I/TamperSecure( 7056):      FocusMode.ContinuousFocusVideo,
I/TamperSecure( 7056):      FocusMode.ContinuousFocusPicture]
I/TamperSecure( 7056): canSmoothZoom:       false
I/TamperSecure( 7056): maxFocusAreas:       1
I/TamperSecure( 7056): maxMeteringAreas:        1
I/TamperSecure( 7056): jpegQualityRange:        0..100
I/TamperSecure( 7056): exposureCompensationRange:       -12..12
I/TamperSecure( 7056): antiBandingModes:[
I/TamperSecure( 7056):      AntiBandingMode.None,
I/TamperSecure( 7056):      AntiBandingMode.HZ50,
I/TamperSecure( 7056):      AntiBandingMode.HZ60,
I/TamperSecure( 7056):      AntiBandingMode.Auto]
I/TamperSecure( 7056): previewFpsRanges:[
I/TamperSecure( 7056):      FpsRange(min=15000, max=15000),
I/TamperSecure( 7056):      FpsRange(min=7000, max=30000),
I/TamperSecure( 7056):      FpsRange(min=30000, max=30000)]
I/TamperSecure( 7056): pictureResolutions:[
I/TamperSecure( 7056):      Resolution(width=4608, height=3456),
I/TamperSecure( 7056):      Resolution(width=4608, height=2304),
I/TamperSecure( 7056):      Resolution(width=4608, height=2592),
I/TamperSecure( 7056):      Resolution(width=4608, height=2176),
I/TamperSecure( 7056):      Resolution(width=4608, height=2112),
I/TamperSecure( 7056):      Resolution(width=4160, height=3120),
I/TamperSecure( 7056):      Resolution(width=4096, height=2160),
I/TamperSecure( 7056):      Resolution(width=4096, height=1940),
I/TamperSecure( 7056):      Resolution(width=4000, height=3000),
I/TamperSecure( 7056):      Resolution(width=3840, height=2160),
I/TamperSecure( 7056):      Resolution(width=3456, height=3456),
I/TamperSecure( 7056):      Resolution(width=3264, height=2448),
I/TamperSecure( 7056):      Resolution(width=3200, height=2400),
I/TamperSecure( 7056):      Resolution(width=2976, height=2976),
I/TamperSecure( 7056):      Resolution(width=2688, height=1512),
I/TamperSecure( 7056):      Resolution(width=2592, height=1944),
I/TamperSecure( 7056):      Resolution(width=2592, height=1940),
I/TamperSecure( 7056):      Resolution(width=2340, height=1080),
I/TamperSecure( 7056):      Resolution(width=2304, height=1728),
I/TamperSecure( 7056):      Resolution(width=2280, height=1080),
I/TamperSecure( 7056):      Resolution(width=2160, height=1080),
I/TamperSecure( 7056):      Resolution(width=2048, height=1536),
I/TamperSecure( 7056):      Resolution(width=1920, height=1440),
I/TamperSecure( 7056):      Resolution(width=1920, height=1080),
I/TamperSecure( 7056):      Resolution(width=1440, height=1080),
I/TamperSecure( 7056):      Resolution(width=1280, height=960),
I/TamperSecure( 7056):      Resolution(width=1280, height=768),
I/TamperSecure( 7056):      Resolution(width=1280, height=720),
I/TamperSecure( 7056):      Resolution(width=1080, height=1080),
I/TamperSecure( 7056):      Resolution(width=1024, height=738),
I/TamperSecure( 7056):      Resolution(width=1024, height=768),
I/TamperSecure( 7056):      Resolution(width=800, height=600),
I/TamperSecure( 7056):      Resolution(width=800, height=480),
I/TamperSecure( 7056):      Resolution(width=720, height=480),
I/TamperSecure( 7056):      Resolution(width=640, height=480),
I/TamperSecure( 7056):      Resolution(width=352, height=288),
I/TamperSecure( 7056):      Resolution(width=320, height=240)]
I/TamperSecure( 7056): previewResolutions:[
I/TamperSecure( 7056):      Resolution(width=2280, height=1080),
I/TamperSecure( 7056):      Resolution(width=2160, height=1080),
I/TamperSecure( 7056):      Resolution(width=2048, height=1536),
I/TamperSecure( 7056):      Resolution(width=1920, height=1440),
I/TamperSecure( 7056):      Resolution(width=1920, height=1080),
I/TamperSecure( 7056):      Resolution(width=1440, height=1080),
I/TamperSecure( 7056):      Resolution(width=1280, height=960),
I/TamperSecure( 7056):      Resolution(width=1280, height=768),
I/TamperSecure( 7056):      Resolution(width=1280, height=720),
I/TamperSecure( 7056):      Resolution(width=1080, height=1080),
I/TamperSecure( 7056):      Resolution(width=1024, height=738),
I/TamperSecure( 7056):      Resolution(width=1024, height=768),
I/TamperSecure( 7056):      Resolution(width=800, height=600),
I/TamperSecure( 7056):      Resolution(width=800, height=480),
I/TamperSecure( 7056):      Resolution(width=720, height=480),
I/TamperSecure( 7056):      Resolution(width=640, height=480),
I/TamperSecure( 7056):      Resolution(width=352, height=288),
I/TamperSecure( 7056):      Resolution(width=320, height=240),
I/TamperSecure( 7056):      Resolution(width=176, height=144)]
I/TamperSecure( 7056): sensorSensitivities:[]
E/libc    ( 7056): Access denied finding property "vendor.debug.egl.swapinterval"
I/chatty  ( 7056): uid=11702(com.peir.tampersecure_example) RenderThread identical 1 line
E/libc    ( 7056): Access denied finding property "vendor.debug.egl.swapinterval"
I/DpmTcmClient( 7056): RegisterTcmMonitor from: com.android.okhttp.TcmIdleTimerMonitor
I/netd    (  629): ;; res_nquery(in.appcenter.ms, 1, 1)
I/rsecure_exampl( 7056): Explicit concurrent copying GC freed 12129(898KB) AllocSpace objects, 3(124KB) LOS objects, 80% free, 2MB/14MB, paused 74us total 24.622ms
D/ActivityTrigger(  886): ActivityTrigger activityStopTrigger
D/LifecycleMonitor( 7056): Lifecycle status change: com.peir.tampersecure_example.EventsActivity@a8eb1ae in: STOPPED
D/LifecycleMonitor( 7056): running callback: androidx.test.rule.ActivityTestRule$LifecycleCallback@becf7e9
D/LifecycleMonitor( 7056): callback completes: androidx.test.rule.ActivityTestRule$LifecycleCallback@becf7e9
I/rsecure_exampl( 7056): Explicit concurrent copying GC freed 21867(1007KB) AllocSpace objects, 1(20KB) LOS objects, 80% free, 2MB/14MB, paused 48us total 17.303ms
D/NtpTrustedTime( 6880): forceRefreshInternal() - No network connected
D/Embryo_Uterus(  886): trim size=3
I/rsecure_exampl( 7056): Explicit concurrent copying GC freed 4464(190KB) AllocSpace objects, 1(20KB) LOS objects, 80% free, 2MB/14MB, paused 89us total 16.625ms
I/ActivityManager(  886): Killing 4496:com.oem.oemlogkit/1000 (adj 906): empty #31
W/libprocessgroup(  886): kill(-4496, 9) failed: No such process
I/Zygote  (  630): Process 4496 exited due to signal (9)
W/libprocessgroup(  886): kill(-4496, 9) failed: No such process
I/libprocessgroup(  886): Successfully killed process cgroup uid 1000 pid 4496 in 30ms
I/TamperSecureTests( 7056): check if button container is hidden
I/ViewInteraction( 7056): Checking 'MatchesViewAssertion{viewMatcher=view has effective visibility=INVISIBLE}' assertion on view with id: com.peir.tampersecure_example:id/button_container
I/TamperSecureTests( 7056): take photo
I/ViewInteraction( 7056): Checking 'MatchesViewAssertion{viewMatcher=is displayed on the screen to the user}' assertion on view with id: com.peir.tampersecure_example:id/camera_view
W/rsecure_exampl( 7056): Accessing hidden method Landroid/view/ViewConfiguration;->getDoubleTapMinTime()I (light greylist, reflection)
I/ViewInteraction( 7056): Performing 'single click' action on view with id: com.peir.tampersecure_example:id/camera_view
E/libc    ( 7056): Access denied finding property "vendor.debug.egl.swapinterval"
W/RenderThread( 7056): type=1400 audit(0.0:1017): avc: denied { read } for name="u:object_r:vendor_default_prop:s0" dev="tmpfs" ino=16873 scontext=u:r:untrusted_app:s0:c166,c262,c512,c768 tcontext=u:object_r:vendor_default_prop:s0 tclass=file permissive=0
E/libc    ( 7056): Access denied finding property "vendor.debug.egl.swapinterval"
W/RenderThread( 7056): type=1400 audit(0.0:1018): avc: denied { read } for name="u:object_r:vendor_default_prop:s0" dev="tmpfs" ino=16873 scontext=u:r:untrusted_app:s0:c166,c262,c512,c768 tcontext=u:object_r:vendor_default_prop:s0 tclass=file permissive=0
D/Fotoapparat( 7056): Fotoapparat: takePicture
D/Fotoapparat( 7056): CameraDevice: takePhoto
E/libc    ( 7056): Access denied finding property "vendor.debug.egl.swapinterval"
D/Fotoapparat( 7056): Couldn't deliver pending result: Operation failed internally.
W/RenderThread( 7056): type=1400 audit(0.0:1019): avc: denied { read } for name="u:object_r:vendor_default_prop:s0" dev="tmpfs" ino=16873 scontext=u:r:untrusted_app:s0:c166,c262,c512,c768 tcontext=u:object_r:vendor_default_prop:s0 tclass=file permissive=0
E/TamperSecure( 7056): *** ERROR: java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: kotlin.UninitializedPropertyAccessException: lateinit property imageOrientation has not been initialized
W/System.err( 7056): java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: kotlin.UninitializedPropertyAccessException: lateinit property imageOrientation has not been initialized
W/System.err( 7056):    at java.util.concurrent.FutureTask.report(FutureTask.java:123)
W/System.err( 7056):    at java.util.concurrent.FutureTask.get(FutureTask.java:193)
W/System.err( 7056):    at io.fotoapparat.result.PendingResult.await(PendingResult.kt:55)
W/System.err( 7056):    at com.peir.photector.CameraActivity$1.run(CameraActivity.java:217)
W/System.err( 7056): Caused by: java.util.concurrent.ExecutionException: kotlin.UninitializedPropertyAccessException: lateinit property imageOrientation has not been initialized
W/System.err( 7056):    at java.util.concurrent.FutureTask.report(FutureTask.java:123)
W/System.err( 7056):    at java.util.concurrent.FutureTask.get(FutureTask.java:193)
W/System.err( 7056):    at io.fotoapparat.result.PendingResult$transform$transformTask$1.call(PendingResult.kt:36)
W/System.err( 7056):    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
W/System.err( 7056):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
W/System.err( 7056):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
W/System.err( 7056):    at java.lang.Thread.run(Thread.java: