Merge "Add test for setLowPowerStandbyActiveDuringMaintenance" into tm-dev am: 363473deab am: 6427c9d30f am: 3e15ec61b4

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

Change-Id: Iae896dca99ec47934fbfa5ccf485789ebbee57f7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Robert Horvath
2022-05-04 13:53:11 +00:00
committed by Automerger Merge Worker
2 changed files with 21 additions and 7 deletions

View File

@@ -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 "

View File

@@ -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";