Whitelisting device provisioning package from app standby
Change-Id: Ib9cb7a3fdf7aa16a97f22eacbed872880b7f9fbe
Fix: 29892977
diff --git a/services/usage/java/com/android/server/usage/UsageStatsService.java b/services/usage/java/com/android/server/usage/UsageStatsService.java
index eb3c665..69cf1a2 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 @@
&& mAppWidgetManager.isBoundWidgetPackage(packageName, userId)) {
return false;
}
+
+ if (isDeviceProvisioningPackage(packageName)) {
+ return false;
+ }
}
if (!isAppIdleUnfiltered(packageName, userId, elapsedRealtime)) {
@@ -930,6 +934,16 @@
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) {