diff --git a/app/src/main/java/io/github/sspanak/tt9/ime/TraditionalT9.java b/app/src/main/java/io/github/sspanak/tt9/ime/TraditionalT9.java index ca8a68f9..1ae86c72 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ime/TraditionalT9.java +++ b/app/src/main/java/io/github/sspanak/tt9/ime/TraditionalT9.java @@ -207,7 +207,7 @@ public class TraditionalT9 extends MainViewHandler { private void askForNotifications() { - if (!InputModeKind.isPassthrough(mInputMode) && settings.shouldAskForNotifications() && !inputType.isUs()) { + if (settings.shouldAskForNotifications() && !InputModeKind.isPassthrough(mInputMode) && !inputType.isUs()) { settings.setNotificationsApproved(false); RequestPermissionDialog.show(this, Manifest.permission.POST_NOTIFICATIONS); } diff --git a/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsUI.java b/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsUI.java index 1f968779..80083125 100644 --- a/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsUI.java +++ b/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsUI.java @@ -56,6 +56,7 @@ public class SettingsUI extends SettingsTyping { "pref_asked_for_notifications_version", Integer.toString(yes ? Integer.MAX_VALUE : BuildConfig.VERSION_CODE) ); + prefsEditor.apply(); } public boolean isStatusIconEnabled() { diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/RequestPermissionDialog.java b/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/RequestPermissionDialog.java index 938e3873..8f0f2038 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/RequestPermissionDialog.java +++ b/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/RequestPermissionDialog.java @@ -79,8 +79,13 @@ public class RequestPermissionDialog extends AppCompatActivity { private void render(@NonNull String permission) { if (permission.equals(Manifest.permission.RECORD_AUDIO) && permissions.noRecordAudio()) { permissions.requestRecordAudio(); - } else if (permission.equals(Manifest.permission.POST_NOTIFICATIONS) && permissions.noPostNotifications()) { - permissions.requestPostNotifications(); + } else if (permission.equals(Manifest.permission.POST_NOTIFICATIONS)) { + if (permissions.noPostNotifications()) { + permissions.requestPostNotifications(); + } else { + new SettingsStore(this).setNotificationsApproved(true); + finish(); + } } else { finish(); }