Merge "Hide app if it shares uid with whitelisted app" into pi-dev

This commit is contained in:
Lei Yu
2018-04-06 17:19:19 +00:00
committed by Android (Google) Code Review
2 changed files with 7 additions and 5 deletions

View File

@@ -30,6 +30,7 @@ import android.content.ComponentName;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Bundle; import android.os.Bundle;
import android.os.Process; import android.os.Process;
import android.os.StatsDimensionsValue; import android.os.StatsDimensionsValue;
@@ -131,6 +132,7 @@ public class AnomalyDetectionJobService extends JobService {
StatsManager.EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES); StatsManager.EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES);
final AnomalyInfo anomalyInfo = new AnomalyInfo( final AnomalyInfo anomalyInfo = new AnomalyInfo(
!ArrayUtils.isEmpty(cookies) ? cookies.get(0) : ""); !ArrayUtils.isEmpty(cookies) ? cookies.get(0) : "");
final PackageManager packageManager = context.getPackageManager();
Log.i(TAG, "Extra stats value: " + intentDimsValue.toString()); Log.i(TAG, "Extra stats value: " + intentDimsValue.toString());
try { try {
@@ -141,8 +143,8 @@ public class AnomalyDetectionJobService extends JobService {
: Settings.Global.getInt(contentResolver, : Settings.Global.getInt(contentResolver,
Settings.Global.APP_AUTO_RESTRICTION_ENABLED, ON) == ON; Settings.Global.APP_AUTO_RESTRICTION_ENABLED, ON) == ON;
final String packageName = batteryUtils.getPackageName(uid); final String packageName = batteryUtils.getPackageName(uid);
if (!powerWhitelistBackend.isSysWhitelistedExceptIdle(packageName) if (!isSystemUid(uid) && !powerWhitelistBackend.isSysWhitelistedExceptIdle(
&& !isSystemUid(uid)) { packageManager.getPackagesForUid(uid))) {
boolean anomalyDetected = true; boolean anomalyDetected = true;
if (anomalyInfo.anomalyType if (anomalyInfo.anomalyType
== StatsManagerConfig.AnomalyType.EXCESSIVE_BACKGROUND_SERVICE) { == StatsManagerConfig.AnomalyType.EXCESSIVE_BACKGROUND_SERVICE) {

View File

@@ -64,7 +64,7 @@ import java.util.concurrent.TimeUnit;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
public class AnomalyDetectionJobServiceTest { public class AnomalyDetectionJobServiceTest {
private static final int UID = 123; private static final int UID = 12345;
private static final String SYSTEM_PACKAGE = "com.android.system"; private static final String SYSTEM_PACKAGE = "com.android.system";
private static final String SUBSCRIBER_COOKIES_AUTO_RESTRICTION = private static final String SUBSCRIBER_COOKIES_AUTO_RESTRICTION =
"anomaly_type=6,auto_restriction=true"; "anomaly_type=6,auto_restriction=true";
@@ -120,8 +120,8 @@ public class AnomalyDetectionJobServiceTest {
@Test @Test
public void testSaveAnomalyToDatabase_systemWhitelisted_doNotSave() { public void testSaveAnomalyToDatabase_systemWhitelisted_doNotSave() {
doReturn(SYSTEM_PACKAGE).when(mBatteryUtils).getPackageName(anyInt()); doReturn(UID).when(mAnomalyDetectionJobService).extractUidFromStatsDimensionsValue(any());
doReturn(true).when(mPowerWhitelistBackend).isSysWhitelisted(SYSTEM_PACKAGE); doReturn(true).when(mPowerWhitelistBackend).isSysWhitelistedExceptIdle(any(String[].class));
mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext, mBatteryStatsHelper, mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext, mBatteryStatsHelper,
mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy, mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy,