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

Commit 53396ce3 authored by Jernej Virag's avatar Jernej Virag Committed by Android (Google) Code Review
Browse files

Merge "Register/unregister listeners async in DozeSensors" into main

parents 54a4daef 8a50f9c6
Loading
Loading
Loading
Loading
+13 −3
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ import com.android.internal.R;
import com.android.internal.logging.UiEvent;
import com.android.internal.logging.UiEventLogger;
import com.android.internal.logging.UiEventLoggerImpl;
import com.android.systemui.Flags;
import com.android.systemui.biometrics.AuthController;
import com.android.systemui.plugins.SensorManagerPlugin;
import com.android.systemui.statusbar.phone.DozeParameters;
@@ -426,7 +427,11 @@ public class DozeSensors {
        }

        if (!anyListening) {
            if (Flags.registerContentObserversAsync()) {
                mSecureSettings.unregisterContentObserverAsync(mSettingsObserver);
            } else {
                mSecureSettings.unregisterContentObserverSync(mSettingsObserver);
            }
        } else if (!mSettingRegistered) {
            for (TriggerSensor s : mTriggerSensors) {
                s.registerSettingsObserver(mSettingsObserver);
@@ -750,10 +755,15 @@ public class DozeSensors {

        public void registerSettingsObserver(ContentObserver settingsObserver) {
            if (mConfigured && !TextUtils.isEmpty(mSetting)) {
                if (Flags.registerContentObserversAsync()) {
                    mSecureSettings.registerContentObserverForUserAsync(
                            mSetting, mSettingsObserver, UserHandle.USER_ALL);
                } else {
                    mSecureSettings.registerContentObserverForUserSync(
                            mSetting, mSettingsObserver, UserHandle.USER_ALL);
                }
            }
        }

        protected String triggerEventToString(TriggerEvent event) {
            if (event == null) return null;
+4 −2
Original line number Diff line number Diff line
@@ -35,8 +35,8 @@ import android.os.Handler;
import android.os.PowerManager;
import android.provider.Settings;

import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
import androidx.test.runner.AndroidJUnit4;

import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.systemui.SysuiTestCase;
@@ -53,6 +53,7 @@ import com.android.systemui.tuner.TunerService;
import com.android.systemui.unfold.FoldAodAnimationController;
import com.android.systemui.unfold.SysUIUnfoldComponent;
import com.android.systemui.util.settings.FakeSettings;
import com.android.systemui.util.settings.SecureSettings;

import org.junit.Assert;
import org.junit.Before;
@@ -114,6 +115,7 @@ public class DozeParametersTest extends SysuiTestCase {
                .thenReturn(mFoldAodAnimationController);
        when(mUserTracker.getUserId()).thenReturn(ActivityManager.getCurrentUser());

        SecureSettings secureSettings = new FakeSettings();
        mDozeParameters = new DozeParameters(
            mContext,
            mHandler,
@@ -132,7 +134,7 @@ public class DozeParametersTest extends SysuiTestCase {
            mStatusBarStateController,
            mUserTracker,
            mDozeInteractor,
            new FakeSettings()
            secureSettings
        );

        verify(mBatteryController).addCallback(mBatteryStateChangeCallback.capture());