1
0
Fork 0

fixed notification permissions being requested when they are already granted

This commit is contained in:
sspanak 2025-06-30 15:51:47 +03:00 committed by Dimo Karaivanov
parent f52550be1a
commit cabbe35d0b
3 changed files with 9 additions and 3 deletions

View file

@ -207,7 +207,7 @@ public class TraditionalT9 extends MainViewHandler {
private void askForNotifications() { private void askForNotifications() {
if (!InputModeKind.isPassthrough(mInputMode) && settings.shouldAskForNotifications() && !inputType.isUs()) { if (settings.shouldAskForNotifications() && !InputModeKind.isPassthrough(mInputMode) && !inputType.isUs()) {
settings.setNotificationsApproved(false); settings.setNotificationsApproved(false);
RequestPermissionDialog.show(this, Manifest.permission.POST_NOTIFICATIONS); RequestPermissionDialog.show(this, Manifest.permission.POST_NOTIFICATIONS);
} }

View file

@ -56,6 +56,7 @@ public class SettingsUI extends SettingsTyping {
"pref_asked_for_notifications_version", "pref_asked_for_notifications_version",
Integer.toString(yes ? Integer.MAX_VALUE : BuildConfig.VERSION_CODE) Integer.toString(yes ? Integer.MAX_VALUE : BuildConfig.VERSION_CODE)
); );
prefsEditor.apply();
} }
public boolean isStatusIconEnabled() { public boolean isStatusIconEnabled() {

View file

@ -79,8 +79,13 @@ public class RequestPermissionDialog extends AppCompatActivity {
private void render(@NonNull String permission) { private void render(@NonNull String permission) {
if (permission.equals(Manifest.permission.RECORD_AUDIO) && permissions.noRecordAudio()) { if (permission.equals(Manifest.permission.RECORD_AUDIO) && permissions.noRecordAudio()) {
permissions.requestRecordAudio(); permissions.requestRecordAudio();
} else if (permission.equals(Manifest.permission.POST_NOTIFICATIONS) && permissions.noPostNotifications()) { } else if (permission.equals(Manifest.permission.POST_NOTIFICATIONS)) {
permissions.requestPostNotifications(); if (permissions.noPostNotifications()) {
permissions.requestPostNotifications();
} else {
new SettingsStore(this).setNotificationsApproved(true);
finish();
}
} else { } else {
finish(); finish();
} }