Skip to content

Commit d1be25f

Browse files
author
Tuomas Airaksinen
committed
Fix #2030 (or try to). Crash - BadTokenException unable to add window
1 parent 0b58668 commit d1be25f

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

app/src/main/java/net/bible/android/BibleApplication.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
package net.bible.android
1919

2020
import android.annotation.SuppressLint
21+
import android.app.Activity
2122
import android.app.Application
2223
import android.app.Notification
2324
import android.app.NotificationChannel
@@ -41,7 +42,9 @@ import net.bible.android.control.backup.BackupControl
4142
import net.bible.android.control.event.ABEventBus
4243
import net.bible.android.control.event.ToastEvent
4344
import net.bible.android.control.report.BugReport
45+
import net.bible.android.view.activity.base.CurrentActivityHolder
4446
import net.bible.android.view.activity.base.ErrorActivity
47+
import net.bible.android.view.activity.page.currentActivity
4548
import net.bible.android.view.util.locale.LocaleHelper
4649
import net.bible.service.cloudsync.SYNC_NOTIFICATION_CHANNEL
4750
import net.bible.service.common.BuildVariant
@@ -267,8 +270,10 @@ open class BibleApplication : Application() {
267270
fun onEventMainThread(ev: ToastEvent) {
268271
val duration = ev.duration ?: Toast.LENGTH_SHORT
269272
val message = if (ev.messageId != null) getString(ev.messageId) else ev.message
273+
val context = ev.context ?: CurrentActivityHolder.currentActivity?: return
274+
if ((context as? Activity)?.isFinishing == true) return
270275
try {
271-
Toast.makeText(this, message, duration).show()
276+
Toast.makeText(context, message, duration).show()
272277
} catch (e: Exception) {
273278
Log.e(TAG, "Error in showing toast $message", e)
274279
}

app/src/main/java/net/bible/android/control/event/ToastEvent.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717

1818
package net.bible.android.control.event
1919

20-
class ToastEvent(val message: String = "", val duration: Int? = null, val messageId: Int? = null) {
20+
import android.content.Context
21+
22+
class ToastEvent(val message: String = "", val duration: Int? = null, val messageId: Int? = null, val context: Context? = null) {
2123
constructor(message: String) : this(message, null)
2224
constructor(messageId: Int) : this("", null, messageId)
2325
}

0 commit comments

Comments
 (0)