ankidroid / Anki-Android

AnkiDroid: Anki flashcards on Android. Your secret trick to achieve superhuman information retention.
GNU General Public License v3.0
8.38k stars 2.18k forks source link

[BUG]: Cancelling image sharing #15655

Closed CyberButton closed 6 months ago

CyberButton commented 6 months ago

Checked for duplicates?

What are the steps to reproduce this bug?

  1. select image from documents
  2. click share
  3. select (Anki)"Add image"
  4. cancel action by clicking back arrow

Expected behaviour

Gracefull cancellation.

Actual behaviour

Bug report is being opened.

https://github.com/ankidroid/Anki-Android/assets/67738637/bd5f1aaa-bcc4-4cc1-aff9-68733b52925d

Debug info

AnkiDroid Version = 2.17beta3-debug (7e21b4d72346a804a482c5fd334f5b7df95d2326)

Backend Version = 0.1.34-anki23.12.1 (23.12.1 1a1d4d5419c6b57ef3baf99c9d2d9cf85d36ae0a)

Android Version = 13 (SDK 33)

ProductFlavor = amazon

Manufacturer = Xiaomi

Model = M2102J20SG

Hardware = qcom

Webview User Agent = Mozilla/5.0 (Linux; Android 13; M2102J20SG Build/TKQ1.221013.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/123.0.6312.3 Mobile Safari/537.36

ACRA UUID = 0dde1e06-cd8c-4dfd-a64f-1e741210f0d2

Crash Reports Enabled = false

(Optional) Anything else you want to share?

It may be realted to: https://github.com/ankidroid/Anki-Android/issues/15653 and https://github.com/ankidroid/Anki-Android/issues/15651

Logs:

com.ichi2.anki.debug                 E  FATAL EXCEPTION: main
 Process: com.ichi2.anki.debug, PID: 31318
 java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=762470842, result=-1, data=Intent { (has extras) }} to activity {com.ichi2.anki.debug/com.ichi2.anki.NoteEditor}: java.lang.NullPointerException
    at android.app.ActivityThread.deliverResults(ActivityThread.java:5531)
    at android.app.ActivityThread.handleSendResult(ActivityThread.java:5570)
    at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:67)
    at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2394)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loopOnce(Looper.java:211)
    at android.os.Looper.loop(Looper.java:300)
    at android.app.ActivityThread.main(ActivityThread.java:8289)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:559)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:954)
 Caused by: java.lang.NullPointerException
    at com.ichi2.anki.NoteEditor$requestMultiMediaEditLauncher$1.invoke(NoteEditor.kt:209)
    at com.ichi2.anki.NoteEditor$requestMultiMediaEditLauncher$1.invoke(NoteEditor.kt:194)
    at com.ichi2.anki.NoteEditor$NoteEditorActivityResultCallback.onActivityResult(NoteEditor.kt:284)
    at com.ichi2.anki.NoteEditor$NoteEditorActivityResultCallback.onActivityResult(NoteEditor.kt:278)
    at androidx.activity.result.ActivityResultRegistry.doDispatch(ActivityResultRegistry.java:414)
    at androidx.activity.result.ActivityResultRegistry.dispatchResult(ActivityResultRegistry.java:371)
    at androidx.activity.ComponentActivity.onActivityResult(ComponentActivity.java:845)
    at androidx.fragment.app.FragmentActivity.onActivityResult(FragmentActivity.java:151)
    at android.app.Activity.dispatchActivityResult(Activity.java:8907)
    at android.app.ActivityThread.deliverResults(ActivityThread.java:5524)
    at android.app.ActivityThread.handleSendResult(ActivityThread.java:5570) 
    at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:67) 
    at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45) 
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2394) 
    at android.os.Handler.dispatchMessage(Handler.java:106) 
    at android.os.Looper.loopOnce(Looper.java:211) 
    at android.os.Looper.loop(Looper.java:300) 
    at android.app.ActivityThread.main(ActivityThread.java:8289) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:559) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:954) 

Research

welcome[bot] commented 6 months ago

Hello! 👋 Thanks for logging this issue. Please remember we are all volunteers here, so some patience may be required before we can get to the issue. Also remember that the fastest way to get resolution on an issue is to propose a change directly, https://github.com/ankidroid/Anki-Android/wiki/Contributing

david-allison commented 6 months ago

Very likely because the currently selected note type is image occlusion

criticalAY commented 6 months ago

Ahhh I see please update your application it was fixed AnkiDroid Version = 2.17beta3-debug (7e21b4d72346a804a482c5fd334f5b7df95d2326) @david-allison we can close it

CyberButton commented 6 months ago

Yes, updating fixed the issue, sorry, next time I'll make sure to be on the latest version before submitting bug report