diff --git a/app/src/main/java/io/zenandroid/onlinego/ui/composables/ScrollableDropDownMenu.kt b/app/src/main/java/io/zenandroid/onlinego/ui/composables/ScrollableDropDownMenu.kt index 08609913..96f5b229 100644 --- a/app/src/main/java/io/zenandroid/onlinego/ui/composables/ScrollableDropDownMenu.kt +++ b/app/src/main/java/io/zenandroid/onlinego/ui/composables/ScrollableDropDownMenu.kt @@ -583,7 +583,11 @@ private class PopupLayout( params.x = popupPosition.x params.y = popupPosition.y - windowManager.updateViewLayout(this, params) + try { + windowManager.updateViewLayout(this, params) + } catch (_: Exception) { + // Ignore the exception if the view is not attached to the window. + } } /** diff --git a/app/src/main/java/io/zenandroid/onlinego/ui/screens/main/MainActivity.kt b/app/src/main/java/io/zenandroid/onlinego/ui/screens/main/MainActivity.kt index 4f928e37..5097af10 100644 --- a/app/src/main/java/io/zenandroid/onlinego/ui/screens/main/MainActivity.kt +++ b/app/src/main/java/io/zenandroid/onlinego/ui/screens/main/MainActivity.kt @@ -143,7 +143,13 @@ class MainActivity : AppCompatActivity(), MainContract.View { NotificationChannelGroup("blitz", "Blitz"), ) .map { it.id } - .map(notificationManager::deleteNotificationChannelGroup) + .map { + try { + notificationManager.deleteNotificationChannelGroup(it) + } catch (_: Exception) { + // a bug in Oreo where deleting a non-existant notification channel group throws an NPE + } + } notificationManager.createNotificationChannelGroup( NotificationChannelGroup("your_turn", "Your Turn")