Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3a77e1d4 authored by Julia Reynolds's avatar Julia Reynolds
Browse files

Allow some system channels to be blocked

Test: manual
Bug: 38428796
Change-Id: If6853f1d847ade968d2bd3a7454ddce0fdda62f0
parent 7226c9f4
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -203,7 +203,8 @@ public class AppNotificationSettings extends NotificationSettingsBase {
            final NotificationChannel channel) {
        MasterSwitchPreference channelPref = new MasterSwitchPreference(
                getPrefContext());
        channelPref.setSwitchEnabled(mSuspendedAppsAdmin == null && !mAppRow.systemApp);
        channelPref.setSwitchEnabled(mSuspendedAppsAdmin == null
                &&  isChannelBlockable(mAppRow.systemApp, channel));
        channelPref.setKey(channel.getId());
        channelPref.setTitle(channel.getName());
        channelPref.setChecked(channel.getImportance() != IMPORTANCE_NONE);
+1 −1
Original line number Diff line number Diff line
@@ -232,7 +232,7 @@ public class ChannelNotificationSettings extends NotificationSettingsBase {
        mBlockBar.setKey(KEY_BLOCK);
        getPreferenceScreen().addPreference(mBlockBar);

        if (mAppRow.systemApp && mChannel.getImportance() != NotificationManager.IMPORTANCE_NONE) {
        if (!isChannelBlockable(mAppRow.systemApp, mChannel)) {
            setVisible(mBlockBar, false);
        }

+8 −0
Original line number Diff line number Diff line
@@ -443,4 +443,12 @@ abstract public class NotificationSettingsBase extends SettingsPreferenceFragmen

        return lockscreenSecure;
    }

    protected boolean isChannelBlockable(boolean systemApp, NotificationChannel channel) {
        if (!mAppRow.systemApp) {
            return true;
        }
        return channel.isBlockableSystem()
                || channel.getImportance() == NotificationManager.IMPORTANCE_NONE;
    }
}