OSDN Git Service

Whitelisting device provisioning package from app standby
authorTony Mak <tonymak@google.com>
Thu, 14 Jul 2016 07:30:18 +0000 (15:30 +0800)
committerTony Mak <tonymak@google.com>
Fri, 15 Jul 2016 03:41:41 +0000 (03:41 +0000)
Change-Id: Ib9cb7a3fdf7aa16a97f22eacbed872880b7f9fbe
Fix: 29892977

services/usage/java/com/android/server/usage/UsageStatsService.java

index eb3c665..69cf1a2 100644 (file)
@@ -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) {