Merge "Unrestricting app when put on power whitelist" into pi-dev

This commit is contained in:
TreeHugger Robot
2018-05-11 23:06:49 +00:00
committed by Android (Google) Code Review
4 changed files with 51 additions and 7 deletions

View File

@@ -18,27 +18,49 @@ package com.android.settings.fuelgauge;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.app.AppOpsManager;
import android.content.Context;
import android.content.DialogInterface;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.fuelgauge.PowerWhitelistBackend;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
@RunWith(SettingsRobolectricTestRunner.class)
public class HighPowerDetailTest {
private static final int TEST_UID = 12000;
private static final String TEST_PACKAGE = "com.test.package";
private FakeFeatureFactory mFeatureFactory;
private HighPowerDetail mFragment;
@Mock
private PowerWhitelistBackend mPowerWhitelistBackend;
@Mock
private BatteryUtils mBatteryUtils;
@Before
public void setUp() {
mFeatureFactory = FakeFeatureFactory.setupForTest();
MockitoAnnotations.initMocks(this);
mFragment = spy(new HighPowerDetail());
mFragment.mBackend = mPowerWhitelistBackend;
mFragment.mBatteryUtils = mBatteryUtils;
mFragment.mPackageUid = TEST_UID;
mFragment.mPackageName = TEST_PACKAGE;
}
@Test
@@ -53,4 +75,13 @@ public class HighPowerDetailTest {
verify(mFeatureFactory.metricsFeatureProvider).action(any(Context.class),
eq(MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_BATTERY_ALLOW), eq("app"));
}
@Test
public void onClick_appAddedToDozeWhitelist_getsUnrestricted() {
mFragment.mIsEnabled = true;
when(mPowerWhitelistBackend.isWhitelisted(TEST_PACKAGE)).thenReturn(false);
mFragment.onClick(null, DialogInterface.BUTTON_POSITIVE);
verify(mBatteryUtils).setForceAppStandby(TEST_UID, TEST_PACKAGE,
AppOpsManager.MODE_ALLOWED);
}
}