18
18
package net.bible.android
19
19
20
20
import android.annotation.SuppressLint
21
+ import android.app.Activity
21
22
import android.app.Application
22
23
import android.app.Notification
23
24
import android.app.NotificationChannel
@@ -41,7 +42,9 @@ import net.bible.android.control.backup.BackupControl
41
42
import net.bible.android.control.event.ABEventBus
42
43
import net.bible.android.control.event.ToastEvent
43
44
import net.bible.android.control.report.BugReport
45
+ import net.bible.android.view.activity.base.CurrentActivityHolder
44
46
import net.bible.android.view.activity.base.ErrorActivity
47
+ import net.bible.android.view.activity.page.currentActivity
45
48
import net.bible.android.view.util.locale.LocaleHelper
46
49
import net.bible.service.cloudsync.SYNC_NOTIFICATION_CHANNEL
47
50
import net.bible.service.common.BuildVariant
@@ -267,8 +270,10 @@ open class BibleApplication : Application() {
267
270
fun onEventMainThread (ev : ToastEvent ) {
268
271
val duration = ev.duration ? : Toast .LENGTH_SHORT
269
272
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
270
275
try {
271
- Toast .makeText(this , message, duration).show()
276
+ Toast .makeText(context , message, duration).show()
272
277
} catch (e: Exception ) {
273
278
Log .e(TAG , " Error in showing toast $message " , e)
274
279
}
0 commit comments