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

Commit 0f6ae3aa authored by Daniel Sandler's avatar Daniel Sandler Committed by Android (Google) Code Review
Browse files

Merge "Suppress notif block/silence settings for essential packages." into nyc-mr1-dev

parents 49c0bab8 acf763e9
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -90,7 +90,8 @@ public class AppNotificationSettings extends NotificationSettingsBase {
            rows.put(mAppRow.pkg, mAppRow);
            collectConfigActivities(rows);

            setupImportancePrefs(mAppRow.systemApp, mAppRow.appImportance, mAppRow.banned);
            setupImportancePrefs(mAppRow.cantBlock, mAppRow.cantSilence,
                    mAppRow.appImportance, mAppRow.banned);
            setupPriorityPref(mAppRow.appBypassDnd);
            setupVisOverridePref(mAppRow.appVisOverride);
            updateDependents(mAppRow.appImportance);
+4 −3
Original line number Diff line number Diff line
@@ -59,14 +59,14 @@ public class NotificationBackend {

    public AppRow loadAppRow(Context context, PackageManager pm, PackageInfo app) {
        final AppRow row = loadAppRow(context, pm, app.applicationInfo);
        row.systemApp = Utils.isSystemPackage(context.getResources(), pm, app);
        row.cantBlock = Utils.isSystemPackage(context.getResources(), pm, app);
        final String[] nonBlockablePkgs = context.getResources().getStringArray(
                    com.android.internal.R.array.config_nonBlockableNotificationPackages);
        if (nonBlockablePkgs != null) {
            int N = nonBlockablePkgs.length;
            for (int i = 0; i < N; i++) {
                if (app.packageName.equals(nonBlockablePkgs[i])) {
                    row.systemApp = true;
                    row.cantBlock = row.cantSilence = true;
                }
            }
        }
@@ -153,7 +153,8 @@ public class NotificationBackend {
        public Intent settingsIntent;
        public boolean banned;
        public boolean first;  // first app in section
        public boolean systemApp;
        public boolean cantBlock;
        public boolean cantSilence;
        public int appImportance;
        public boolean appBypassDnd;
        public int appVisOverride;
+19 −14
Original line number Diff line number Diff line
@@ -154,8 +154,9 @@ abstract public class NotificationSettingsBase extends SettingsPreferenceFragmen
        }
    }

    protected void setupImportancePrefs(boolean notBlockable, int importance, boolean banned) {
        if (mShowSlider) {
    protected void setupImportancePrefs(boolean notBlockable, boolean notSilenceable,
                                        int importance, boolean banned) {
        if (mShowSlider && !notSilenceable) {
            setVisible(mBlock, false);
            setVisible(mSilent, false);
            mImportance.setDisabledByAdmin(mSuspendedAppsAdmin);
@@ -192,6 +193,9 @@ abstract public class NotificationSettingsBase extends SettingsPreferenceFragmen
                    }
                });
            }
            if (notSilenceable) {
                setVisible(mSilent, false);
            } else {
                mSilent.setChecked(importance == Ranking.IMPORTANCE_LOW);
                mSilent.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
                    @Override
@@ -204,6 +208,7 @@ abstract public class NotificationSettingsBase extends SettingsPreferenceFragmen
                        return true;
                    }
                });
            }
            updateDependents(banned ? Ranking.IMPORTANCE_NONE : importance);
        }
    }