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

Commit 213ceeed authored by Robert Horvath's avatar Robert Horvath Committed by Automerger Merge Worker
Browse files

Merge "Add test for setLowPowerStandbyActiveDuringMaintenance" into tm-dev am:...

Merge "Add test for setLowPowerStandbyActiveDuringMaintenance" into tm-dev am: 363473de am: 6427c9d3

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17071390



Change-Id: Ic2e1b9ef928244e2ca7aafac223bbdb2cacda1bd
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents e120972e 6427c9d3
Loading
Loading
Loading
Loading
+7 −3
Original line number Original line Diff line number Diff line
@@ -68,7 +68,7 @@ import java.util.Arrays;
 *
 *
 * @hide
 * @hide
 */
 */
public final class LowPowerStandbyController {
public class LowPowerStandbyController {
    private static final String TAG = "LowPowerStandbyController";
    private static final String TAG = "LowPowerStandbyController";
    private static final boolean DEBUG = false;
    private static final boolean DEBUG = false;
    private static final boolean DEFAULT_ACTIVE_DURING_MAINTENANCE = false;
    private static final boolean DEFAULT_ACTIVE_DURING_MAINTENANCE = false;
@@ -173,7 +173,9 @@ public final class LowPowerStandbyController {
        mSettingsObserver = new SettingsObserver(mHandler);
        mSettingsObserver = new SettingsObserver(mHandler);
    }
    }


    void systemReady() {
    /** Call when system services are ready */
    @VisibleForTesting
    public void systemReady() {
        final Resources resources = mContext.getResources();
        final Resources resources = mContext.getResources();
        synchronized (mLock) {
        synchronized (mLock) {
            mSupportedConfig = resources.getBoolean(
            mSupportedConfig = resources.getBoolean(
@@ -435,7 +437,9 @@ public final class LowPowerStandbyController {
        }
        }
    }
    }


    void setActiveDuringMaintenance(boolean activeDuringMaintenance) {
    /** Set whether Low Power Standby should be active during doze maintenance mode. */
    @VisibleForTesting
    public void setActiveDuringMaintenance(boolean activeDuringMaintenance) {
        synchronized (mLock) {
        synchronized (mLock) {
            if (!mSupportedConfig) {
            if (!mSupportedConfig) {
                Slog.w(TAG, "Low Power Standby settings cannot be changed "
                Slog.w(TAG, "Low Power Standby settings cannot be changed "
+14 −4
Original line number Original line Diff line number Diff line
@@ -71,7 +71,6 @@ import android.os.IWakeLockCallback;
import android.os.Looper;
import android.os.Looper;
import android.os.PowerManager;
import android.os.PowerManager;
import android.os.PowerSaveState;
import android.os.PowerSaveState;
import android.os.SystemClock;
import android.os.UserHandle;
import android.os.UserHandle;
import android.os.test.TestLooper;
import android.os.test.TestLooper;
import android.provider.Settings;
import android.provider.Settings;
@@ -144,6 +143,7 @@ public class PowerManagerServiceTest {
    @Mock private AmbientDisplayConfiguration mAmbientDisplayConfigurationMock;
    @Mock private AmbientDisplayConfiguration mAmbientDisplayConfigurationMock;
    @Mock private SystemPropertiesWrapper mSystemPropertiesMock;
    @Mock private SystemPropertiesWrapper mSystemPropertiesMock;
    @Mock private AppOpsManager mAppOpsManagerMock;
    @Mock private AppOpsManager mAppOpsManagerMock;
    @Mock private LowPowerStandbyController mLowPowerStandbyControllerMock;


    @Mock
    @Mock
    private InattentiveSleepWarningController mInattentiveSleepWarningControllerMock;
    private InattentiveSleepWarningController mInattentiveSleepWarningControllerMock;
@@ -298,8 +298,7 @@ public class PowerManagerServiceTest {
            @Override
            @Override
            LowPowerStandbyController createLowPowerStandbyController(Context context,
            LowPowerStandbyController createLowPowerStandbyController(Context context,
                    Looper looper) {
                    Looper looper) {
                return new LowPowerStandbyController(context, mTestLooper.getLooper(),
                return mLowPowerStandbyControllerMock;
                        SystemClock::elapsedRealtime);
            }
            }


            @Override
            @Override
@@ -316,7 +315,6 @@ public class PowerManagerServiceTest {
        LocalServices.removeServiceForTest(DisplayManagerInternal.class);
        LocalServices.removeServiceForTest(DisplayManagerInternal.class);
        LocalServices.removeServiceForTest(BatteryManagerInternal.class);
        LocalServices.removeServiceForTest(BatteryManagerInternal.class);
        LocalServices.removeServiceForTest(ActivityManagerInternal.class);
        LocalServices.removeServiceForTest(ActivityManagerInternal.class);
        LocalServices.removeServiceForTest(LowPowerStandbyControllerInternal.class);
        FakeSettingsProvider.clearSettingsProvider();
        FakeSettingsProvider.clearSettingsProvider();
    }
    }


@@ -1888,6 +1886,18 @@ public class PowerManagerServiceTest {
        assertThat(wakeLock.mDisabled).isFalse();
        assertThat(wakeLock.mDisabled).isFalse();
    }
    }


    @Test
    public void testSetLowPowerStandbyActiveDuringMaintenance_redirectsCallToNativeWrapper() {
        createService();
        startSystem();

        mService.getBinderServiceInstance().setLowPowerStandbyActiveDuringMaintenance(true);
        verify(mLowPowerStandbyControllerMock).setActiveDuringMaintenance(true);

        mService.getBinderServiceInstance().setLowPowerStandbyActiveDuringMaintenance(false);
        verify(mLowPowerStandbyControllerMock).setActiveDuringMaintenance(false);
    }

    private WakeLock acquireWakeLock(String tag, int flags) {
    private WakeLock acquireWakeLock(String tag, int flags) {
        IBinder token = new Binder();
        IBinder token = new Binder();
        String packageName = "pkg.name";
        String packageName = "pkg.name";