Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f410222f authored by Fahim Salam Chowdhury's avatar Fahim Salam Chowdhury 👽
Browse files

Merge branch '722-Fix_mail_app_crash_after_authentication_complete' into 'main'

722-Fix_mail_app_crash_after_authentication_complete

See merge request !67
parents 6dff4eeb dc168939
Loading
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
@@ -27,7 +27,11 @@ object MailAccountSyncHelper {
    private const val MAIL_RECEIVER_CLASS = "com.fsck.k9.account.AccountSyncReceiver"
    private const val ACTION_PREFIX = "foundation.e.accountmanager.account."

    fun onAccountLoggedIn(applicationContext : Context?) {
    fun onAccountLoggedIn(applicationContext: Context?, packageToBeOpened: String?) {
        if (isOpeningMailAppActivity(packageToBeOpened)) {
            return
        }

        val intent = getIntent()
        intent.action = ACTION_PREFIX + "create"
        applicationContext?.sendBroadcast(intent)
@@ -51,4 +55,14 @@ object MailAccountSyncHelper {
        intent.component = ComponentName(MAIL_PACKAGE, MAIL_RECEIVER_CLASS)
        return intent
    }

    // if mail app's activity is needed to open after the auth, no need to send broadCast.
    // because, sending broadcast will fail. The cause is, mail app will be opened in a new task
    private fun isOpeningMailAppActivity(packageToBeOpened: String?): Boolean {
        if (packageToBeOpened == null || packageToBeOpened != MAIL_PACKAGE) {
            return false
        }

        return true
    }
}
 No newline at end of file
+1 −1
Original line number Diff line number Diff line
@@ -188,7 +188,7 @@ class AccountDetailsFragment : Fragment() {
        val packageToBeOpened = requireActivity().intent.getStringExtra(LoginActivity.OPEN_APP_PACKAGE_AFTER_AUTH)
        val activityToBeOpened = requireActivity().intent.getStringExtra(LoginActivity.OPEN_APP_ACTIVITY_AFTER_AUTH)
        openApp(packageToBeOpened, activityToBeOpened)
        MailAccountSyncHelper.onAccountLoggedIn(context?.applicationContext)
        MailAccountSyncHelper.onAccountLoggedIn(context?.applicationContext, packageToBeOpened)
    }

    private fun openApp(packageToBeOpened: String?, activityToBeOpened: String?) {