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

Commit b1def70e authored by Jeff DeCew's avatar Jeff DeCew
Browse files

Fix a security exception breaking notification inflation.

Fixes: 188595459
Test: manual testing that snooze continues to work under basic circumstances.
Change-Id: Ic1e2dcf3d70d5bc0174254c2f5acba25a459d62b
parent e7fc7576
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -5606,14 +5606,24 @@ public class Notification implements Parcelable

            final boolean snoozeEnabled = !hideSnoozeButton
                    && mContext.getContentResolver() != null
                    && (Settings.Secure.getInt(mContext.getContentResolver(),
                    Settings.Secure.SHOW_NOTIFICATION_SNOOZE, 0) == 1);
                    && isSnoozeSettingEnabled();
            if (snoozeEnabled) {
                big.setViewLayoutMarginDimen(R.id.notification_action_list_margin_target,
                        RemoteViews.MARGIN_BOTTOM, 0);
            }
        }

        private boolean isSnoozeSettingEnabled() {
            try {
                return Settings.Secure.getInt(mContext.getContentResolver(),
                    Settings.Secure.SHOW_NOTIFICATION_SNOOZE, 0) == 1;
            } catch (SecurityException ex) {
                // Most 3p apps can't access this snooze setting, so their NotificationListeners
                // would be unable to create notification views if we propagated this exception.
                return false;
            }
        }

        /**
         * Returns the actions that are not contextual.
         */