thunderbird / thunderbird-android

K-9 Mail – Open Source Email App for Android
https://k9mail.app/
Apache License 2.0
9.67k stars 2.44k forks source link

Crash when trying to open an encrypted draft without having a crypto provider configured #6433

Open cketti opened 1 year ago

cketti commented 1 year ago

Checklist

App version

6.309

Where did you get the app from?

Google Play

Android version

Android 13

Device model

No response

Steps to reproduce

  1. Put an encrypted message in your drafts folder
  2. Try to open the encrypted draft message without having a crypto provider configured

Expected behavior

Display an error message

Actual behavior

Crash

Logs

Stack trace (via Google Play Developer Console):

Exception java.lang.NullPointerException: Attempt to invoke interface method 'java.util.Iterator java.util.List.iterator()' on a null object reference
  at com.fsck.k9.activity.compose.AttachmentPresenter.loadAllAvailableAttachments (AttachmentPresenter.java:210)
  at com.fsck.k9.activity.MessageCompose.processDraftMessage (MessageCompose.java:1399)
  at com.fsck.k9.activity.MessageCompose.processSourceMessage (MessageCompose.java:1272)
  at com.fsck.k9.activity.MessageCompose.loadLocalMessageForDisplay (MessageCompose.java:1669)
  at com.fsck.k9.activity.MessageCompose$11.onMessageViewInfoLoadFinished (MessageCompose.java:1689)
  at com.fsck.k9.activity.MessageLoaderHelper.onDecodeMessageFinished (MessageLoaderHelper.java:401)
  at com.fsck.k9.activity.MessageLoaderHelper.access$1100 (MessageLoaderHelper.java:76)
  at com.fsck.k9.activity.MessageLoaderHelper$3.onLoadFinished (MessageLoaderHelper.java:437)
  at com.fsck.k9.activity.MessageLoaderHelper$3.onLoadFinished (MessageLoaderHelper.java:414)
  at androidx.loader.app.LoaderManagerImpl$LoaderObserver.onChanged (LoaderManagerImpl.java:250)
  at androidx.lifecycle.LiveData.considerNotify (LiveData.java:133)
  at androidx.lifecycle.LiveData.dispatchingValue (LiveData.java:151)
  at androidx.lifecycle.LiveData.setValue (LiveData.java:309)
  at androidx.lifecycle.MutableLiveData.setValue (MutableLiveData.java:50)
  at androidx.loader.app.LoaderManagerImpl$LoaderInfo.setValue (LoaderManagerImpl.java:189)
  at androidx.loader.app.LoaderManagerImpl$LoaderInfo.onLoadComplete (LoaderManagerImpl.java:174)
  at androidx.loader.content.Loader.deliverResult (Loader.java:132)
  at com.fsck.k9.ui.message.LocalMessageExtractorLoader.deliverResult (LocalMessageExtractorLoader.java:47)
  at com.fsck.k9.ui.message.LocalMessageExtractorLoader.deliverResult (LocalMessageExtractorLoader.java:16)
  at androidx.loader.content.AsyncTaskLoader.dispatchOnLoadComplete (AsyncTaskLoader.java:258)
  at androidx.loader.content.AsyncTaskLoader$LoadTask.onPostExecute (AsyncTaskLoader.java:83)
  at androidx.loader.content.ModernAsyncTask.finish (ModernAsyncTask.java:490)
  at androidx.loader.content.ModernAsyncTask$InternalHandler.handleMessage (ModernAsyncTask.java:507)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loopOnce (Looper.java:201)
  at android.os.Looper.loop (Looper.java:288)
  at android.app.ActivityThread.main (ActivityThread.java:7898)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:548)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:936)
fereshtehamiri commented 1 year ago

Hello @cketti . I had the same error on my "Samsung A32" with Android 13.

cketti commented 1 year ago

@fereshtehamiri: What's the value of letting me know you've been able to reproduce an error in an issue with instructions on how to reproduce the error?