From 589fca469f8368fec886c6e6e37605a4b805bee8 Mon Sep 17 00:00:00 2001 From: Tony Mak Date: Thu, 14 Jul 2016 15:30:18 +0800 Subject: [PATCH] Whitelisting device provisioning package from app standby Change-Id: Ib9cb7a3fdf7aa16a97f22eacbed872880b7f9fbe Fix: 29892977 --- .../android/server/usage/UsageStatsService.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/services/usage/java/com/android/server/usage/UsageStatsService.java b/services/usage/java/com/android/server/usage/UsageStatsService.java index eb3c665a5e574..69cf1a2c53621 100644 --- a/services/usage/java/com/android/server/usage/UsageStatsService.java +++ b/services/usage/java/com/android/server/usage/UsageStatsService.java @@ -838,6 +838,10 @@ public class UsageStatsService extends SystemService implements && mAppWidgetManager.isBoundWidgetPackage(packageName, userId)) { return false; } + + if (isDeviceProvisioningPackage(packageName)) { + return false; + } } if (!isAppIdleUnfiltered(packageName, userId, elapsedRealtime)) { @@ -930,6 +934,16 @@ public class UsageStatsService extends SystemService implements return dpm.packageHasActiveAdmins(packageName, userId); } + /** + * Returns {@code true} if the supplied package is the device provisioning app. Otherwise, + * returns {@code false}. + */ + private boolean isDeviceProvisioningPackage(String packageName) { + String deviceProvisioningPackage = getContext().getResources().getString( + com.android.internal.R.string.config_deviceProvisioningPackage); + return deviceProvisioningPackage != null && deviceProvisioningPackage.equals(packageName); + } + private boolean isCarrierApp(String packageName) { synchronized (mLock) { if (!mHaveCarrierPrivilegedApps) {