Merge "Add action active check for anomaly action." into oc-dr1-dev am: e7735b8d52

am: 010c9d9535

Change-Id: I5d7d02d5387b8d58d8ea6f158311c1aae659fe19
This commit is contained in:
jackqdyulei
2017-06-13 23:58:14 +00:00
committed by android-build-merger
9 changed files with 112 additions and 10 deletions

View File

@@ -16,6 +16,8 @@
package com.android.settings.fuelgauge.anomaly.action;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.verify;
@@ -69,4 +71,20 @@ public class BackgroundCheckActionTest {
verify(mAppOpsManagerr).setMode(AppOpsManager.OP_RUN_IN_BACKGROUND, UID, PACKAGE_NAME,
AppOpsManager.MODE_IGNORED);
}
@Test
public void testIsActionActive_modeAllowed_returnTrue() {
doReturn(AppOpsManager.MODE_ALLOWED).when(mAppOpsManagerr).checkOpNoThrow(
AppOpsManager.OP_RUN_IN_BACKGROUND, UID, PACKAGE_NAME);
assertThat(mBackgroundCheckAction.isActionActive(mAnomaly)).isTrue();
}
@Test
public void testIsActionActive_modeIgnored_returnFalse() {
doReturn(AppOpsManager.MODE_IGNORED).when(mAppOpsManagerr).checkOpNoThrow(
AppOpsManager.OP_RUN_IN_BACKGROUND, UID, PACKAGE_NAME);
assertThat(mBackgroundCheckAction.isActionActive(mAnomaly)).isFalse();
}
}

View File

@@ -16,11 +16,15 @@
package com.android.settings.fuelgauge.anomaly.action;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.verify;
import android.app.ActivityManager;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
@@ -44,15 +48,22 @@ public class ForceStopActionTest {
private Context mContext;
@Mock
private ActivityManager mActivityManager;
@Mock
private ApplicationInfo mApplicationInfo;
@Mock
private PackageManager mPackageManager;
private Anomaly mAnomaly;
private ForceStopAction mForceStopAction;
@Before
public void setUp() {
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
FakeFeatureFactory.setupForTest(mContext);
doReturn(mActivityManager).when(mContext).getSystemService(Context.ACTIVITY_SERVICE);
doReturn(mPackageManager).when(mContext).getPackageManager();
doReturn(mApplicationInfo).when(mPackageManager).getApplicationInfo(PACKAGE_NAME,
PackageManager.GET_META_DATA);
mAnomaly = new Anomaly.Builder()
.setPackageName(PACKAGE_NAME)
@@ -66,4 +77,18 @@ public class ForceStopActionTest {
verify(mActivityManager).forceStopPackage(PACKAGE_NAME);
}
@Test
public void testIsActionActive_appStopped_returnFalse() {
mApplicationInfo.flags = ApplicationInfo.FLAG_STOPPED;
assertThat(mForceStopAction.isActionActive(mAnomaly)).isFalse();
}
@Test
public void testIsActionActive_appRunning_returnTrue() {
mApplicationInfo.flags = 0;
assertThat(mForceStopAction.isActionActive(mAnomaly)).isTrue();
}
}

View File

@@ -19,6 +19,7 @@ package com.android.settings.fuelgauge.anomaly.checker;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.nullable;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.anyLong;
import static org.mockito.Matchers.eq;
@@ -39,6 +40,7 @@ import com.android.settings.TestConfig;
import com.android.settings.fuelgauge.BatteryUtils;
import com.android.settings.fuelgauge.anomaly.Anomaly;
import com.android.settings.fuelgauge.anomaly.AnomalyDetectionPolicy;
import com.android.settings.fuelgauge.anomaly.action.AnomalyAction;
import org.junit.Before;
import org.junit.Test;
@@ -96,6 +98,8 @@ public class WakeLockAnomalyDetectorTest {
private ApplicationInfo mApplicationInfo;
@Mock
private AnomalyDetectionPolicy mPolicy;
@Mock
private AnomalyAction mAnomalyAction;
private ArrayMap<String, BatteryStats.Uid.Wakelock> mAnomalyWakelocks;
private ArrayMap<String, BatteryStats.Uid.Wakelock> mNormalWakelocks;
@@ -115,6 +119,7 @@ public class WakeLockAnomalyDetectorTest {
doReturn(mPackageManager).when(mContext).getPackageManager();
doReturn(mApplicationInfo).when(mPackageManager)
.getApplicationInfo(nullable(String.class), anyInt());
doReturn(true).when(mAnomalyAction).isActionActive(any());
mAnomalySipper.uidObj = mAnomalyUid;
mAnomalyWakelocks = new ArrayMap<>();
@@ -145,6 +150,7 @@ public class WakeLockAnomalyDetectorTest {
mWakelockAnomalyDetector = spy(new WakeLockAnomalyDetector(mContext, mPolicy));
mWakelockAnomalyDetector.mBatteryUtils = mBatteryUtils;
mWakelockAnomalyDetector.mAnomalyAction = mAnomalyAction;
doReturn(ANOMALY_WAKELOCK_TIME_MS).when(mWakelockAnomalyDetector).getTotalDurationMs(
eq(mAnomalyTimer), anyLong());
doReturn(ANOMALY_WAKELOCK_TIME_MS).when(mWakelockAnomalyDetector).getTotalDurationMs(

View File

@@ -38,6 +38,7 @@ import com.android.settings.TestConfig;
import com.android.settings.fuelgauge.BatteryUtils;
import com.android.settings.fuelgauge.anomaly.Anomaly;
import com.android.settings.fuelgauge.anomaly.AnomalyDetectionPolicy;
import com.android.settings.fuelgauge.anomaly.action.AnomalyAction;
import org.junit.Before;
import org.junit.Test;
@@ -85,6 +86,8 @@ public class WakeupAlarmAnomalyDetectorTest {
private BatteryStats.Counter mCounter;
@Mock
private AnomalyDetectionPolicy mPolicy;
@Mock
private AnomalyAction mAnomalyAction;
private WakeupAlarmAnomalyDetector mWakeupAlarmAnomalyDetector;
private Context mContext;
@@ -100,6 +103,7 @@ public class WakeupAlarmAnomalyDetectorTest {
doReturn(false).when(mBatteryUtils).shouldHideSipper(any());
doReturn(RUNNING_TIME_MS).when(mBatteryUtils).calculateRunningTimeBasedOnStatsType(any(),
anyInt());
doReturn(true).when(mAnomalyAction).isActionActive(any());
mAnomalySipper.uidObj = mAnomalyUid;
doReturn(ANOMALY_UID).when(mAnomalyUid).getUid();
@@ -116,6 +120,7 @@ public class WakeupAlarmAnomalyDetectorTest {
mWakeupAlarmAnomalyDetector = spy(new WakeupAlarmAnomalyDetector(mContext, mPolicy));
mWakeupAlarmAnomalyDetector.mBatteryUtils = mBatteryUtils;
mWakeupAlarmAnomalyDetector.mAnomalyAction = mAnomalyAction;
}
@Test