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

Commit 5077aefc authored by Sunny Goyal's avatar Sunny Goyal
Browse files

Skip starting new fragment, if the manager is in paused state

Bug: 111684268
Change-Id: Ice529356733d98181371e37beed7a34922313cc4
parent ee598ada
Loading
Loading
Loading
Loading
+8 −9
Original line number Diff line number Diff line
@@ -88,6 +88,11 @@ public class SettingsActivity extends Activity
    @Override
    public boolean onPreferenceStartFragment(
            PreferenceFragment preferenceFragment, Preference pref) {
        if (getFragmentManager().isStateSaved()) {
            // Sometimes onClick can come after onPause because of being posted on the handler.
            // Skip starting new fragments in that case.
            return false;
        }
        Fragment f = Fragment.instantiate(this, pref.getFragment(), pref.getExtras());
        if (f instanceof DialogFragment) {
            ((DialogFragment) f).show(getFragmentManager(), pref.getKey());
@@ -241,8 +246,7 @@ public class SettingsActivity extends Activity
     * Content observer which listens for system badging setting changes,
     * and updates the launcher badging setting subtext accordingly.
     */
    private static class IconBadgingObserver extends SettingsObserver.Secure
            implements Preference.OnPreferenceClickListener {
    private static class IconBadgingObserver extends SettingsObserver.Secure {

        private final ButtonPreference mBadgingPref;
        private final ContentResolver mResolver;
@@ -275,16 +279,11 @@ public class SettingsActivity extends Activity
                }
            }
            mBadgingPref.setWidgetFrameVisible(!serviceEnabled);
            mBadgingPref.setOnPreferenceClickListener(serviceEnabled ? null : this);
            mBadgingPref.setFragment(
                    serviceEnabled ? null : NotificationAccessConfirmation.class.getName());
            mBadgingPref.setSummary(summary);

        }

        @Override
        public boolean onPreferenceClick(Preference preference) {
            new NotificationAccessConfirmation().show(mFragmentManager, "notification_access");
            return true;
        }
    }

    public static class NotificationAccessConfirmation