diff options
author | Zach Johnson <zachoverflow@google.com> | 2015-05-19 00:02:27 -0700 |
---|---|---|
committer | Zach Johnson <zachoverflow@google.com> | 2015-06-08 13:49:13 -0700 |
commit | b4b9ca7580c75f07330e5222cbd9ccc93b12935e (patch) | |
tree | 99c18c384cf567d01d9771533608cee0c158a4d5 /services | |
parent | 7631697793a8b82bb2a1cd3adced1b140d266427 (diff) | |
download | frameworks_base-b4b9ca7580c75f07330e5222cbd9ccc93b12935e.zip frameworks_base-b4b9ca7580c75f07330e5222cbd9ccc93b12935e.tar.gz frameworks_base-b4b9ca7580c75f07330e5222cbd9ccc93b12935e.tar.bz2 |
Ignore carrier apps when checking for idleness
Also introduce a way to check if a package has
carrier privileges for any active phone.
Change-Id: If5c5fe07f05ffc90fc21431eb27cf48030c0175b
Diffstat (limited to 'services')
-rw-r--r-- | services/usage/java/com/android/server/usage/UsageStatsService.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/services/usage/java/com/android/server/usage/UsageStatsService.java b/services/usage/java/com/android/server/usage/UsageStatsService.java index 23057c4..633aee8 100644 --- a/services/usage/java/com/android/server/usage/UsageStatsService.java +++ b/services/usage/java/com/android/server/usage/UsageStatsService.java @@ -57,6 +57,7 @@ import android.os.SystemClock; import android.os.UserHandle; import android.os.UserManager; import android.provider.Settings; +import android.telephony.TelephonyManager; import android.util.ArraySet; import android.util.AtomicFile; import android.util.Log; @@ -725,6 +726,10 @@ public class UsageStatsService extends SystemService implements return false; } + if (isCarrierApp(packageName)) { + return false; + } + if (mAppWidgetManager != null && mAppWidgetManager.isBoundWidgetPackage(packageName, userId)) { return false; @@ -754,6 +759,12 @@ public class UsageStatsService extends SystemService implements return false; } + private boolean isCarrierApp(String packageName) { + TelephonyManager telephonyManager = getContext().getSystemService(TelephonyManager.class); + return telephonyManager.checkCarrierPrivilegesForPackageAnyPhone(packageName) + == TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS; + } + void informListeners(String packageName, int userId, boolean isIdle) { for (AppIdleStateChangeListener listener : mPackageAccessListeners) { listener.onAppIdleStateChanged(packageName, userId, isIdle); |