mrahimygk / conceal

Concealing WAVE audio files inside images
GNU General Public License v3.0
14 stars 4 forks source link

Manual Test: The app has not been tested with several devices/emulators #1

Open mrahimygk opened 4 years ago

mrahimygk commented 4 years ago

Devices that have been used in testing:

Samsung A10 Emulator Nexus 5X Api 29

Please submit issues here.

SuNNjek commented 4 years ago

Hi, I wanted to take a look at your other issue, but the app currently crashes on my Pixel 3a API 29 emulator with the following error after having selected an image:

E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /storage/emulated/0/DCIM/Camera/IMG_20201005_131314.jpg: open failed: EACCES (Permission denied)
E/AndroidRuntime: FATAL EXCEPTION: main
    Process: ir.mrahimy.conceal, PID: 2520
    java.lang.IllegalStateException: BitmapFactory.decodeFile(this) must not be null
        at ir.mrahimy.conceal.util.ktx.StringKt.loadBitmap(String.kt:16)
        at ir.mrahimy.conceal.ui.parse.ParseActivityViewModel$selectImageFile$2.invokeSuspend(ParseActivityViewModel.kt:252)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.ResumeModeKt.resumeMode(ResumeMode.kt:67)
        at kotlinx.coroutines.DispatchedKt.resume(Dispatched.kt:319)
        at kotlinx.coroutines.DispatchedKt.dispatch(Dispatched.kt:301)
        at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:250)
        at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl(CancellableContinuationImpl.kt:260)
        at kotlinx.coroutines.CancellableContinuationImpl.resumeUndispatched(CancellableContinuationImpl.kt:332)
        at kotlinx.coroutines.android.HandlerContext$scheduleResumeAfterDelay$$inlined$Runnable$1.run(Runnable.kt:19)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)

As far as I know you don't access the filesystem directly but use Android's ContentResolver for that. This seems to be the issue here. I could look into it if you want me to, just create another issue for it and assign me.

mrahimygk commented 4 years ago

Many Thanks. It seems you need to comment on that other issue too.