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) {