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

Commit d0e5b702 authored by Devarshi Bhatt's avatar Devarshi Bhatt Committed by Android (Google) Code Review
Browse files

Merge "Move Zen mode registerContentObserver calls to background handler." into main

parents a66a9efb 17fa983f
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -469,3 +469,13 @@ flag {
        purpose: PURPOSE_BUGFIX
    }
}

flag {
    name: "register_zen_mode_content_observer_background"
    namespace: "systemui"
    description: "Decide whether to register zen mode content observers in the background thread."
    bug: "324515627"
    metadata {
        purpose: PURPOSE_BUGFIX
    }
}
+15 −2
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.systemui.statusbar.policy;

import static com.android.systemui.Flags.registerZenModeContentObserverBackground;

import android.app.AlarmManager;
import android.app.Flags;
import android.app.NotificationManager;
@@ -45,6 +47,7 @@ import com.android.internal.annotations.VisibleForTesting;
import com.android.systemui.Dumpable;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.settings.UserTracker;
@@ -104,6 +107,7 @@ public class ZenModeControllerImpl implements ZenModeController, Dumpable {
    public ZenModeControllerImpl(
            Context context,
            @Main Handler handler,
            @Background Handler bgHandler,
            BroadcastDispatcher broadcastDispatcher,
            DumpManager dumpManager,
            GlobalSettings globalSettings,
@@ -134,9 +138,18 @@ public class ZenModeControllerImpl implements ZenModeController, Dumpable {
            }
        };
        mNoMan = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
        if (registerZenModeContentObserverBackground()) {
            bgHandler.post(() -> {
                globalSettings.registerContentObserver(Global.ZEN_MODE, modeContentObserver);
                globalSettings.registerContentObserver(Global.ZEN_MODE_CONFIG_ETAG,
                        configContentObserver);
            });
        } else {
            globalSettings.registerContentObserver(Global.ZEN_MODE, modeContentObserver);
            globalSettings.registerContentObserver(Global.ZEN_MODE_CONFIG_ETAG,
                    configContentObserver);
        }
        updateZenMode(getModeSettingValueFromProvider());
        globalSettings.registerContentObserver(Global.ZEN_MODE_CONFIG_ETAG, configContentObserver);
        updateZenModeConfig();
        updateConsolidatedNotificationPolicy();
        mAlarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
+1 −0
Original line number Diff line number Diff line
@@ -79,6 +79,7 @@ public class ZenModeControllerImplTest extends SysuiTestCase {
        mController = new ZenModeControllerImpl(
                mContext,
                Handler.createAsync(TestableLooper.get(this).getLooper()),
                Handler.createAsync(TestableLooper.get(this).getLooper()),
                mBroadcastDispatcher,
                mDumpManager,
                mGlobalSettings,