Loading services/usage/java/com/android/server/usage/AppIdleHistory.java +5 −0 Original line number Diff line number Diff line Loading @@ -274,6 +274,11 @@ public class AppIdleHistory { - (idle ? mScreenOnTimeThreshold : 0) - 1000 /* just a second more */; } public void clearUsageLocked(String packageName, int userId) { ArrayMap<String, PackageHistory> userHistory = getUserHistoryLocked(userId); userHistory.remove(packageName); } private boolean hasPassedThresholdsLocked(PackageHistory packageHistory, long elapsedRealtime) { return (packageHistory.lastUsedScreenTime <= getScreenOnTimeLocked(elapsedRealtime) - mScreenOnTimeThreshold) Loading services/usage/java/com/android/server/usage/UsageStatsService.java +13 −0 Original line number Diff line number Diff line Loading @@ -180,6 +180,7 @@ public class UsageStatsService extends SystemService implements IntentFilter packageFilter = new IntentFilter(); packageFilter.addAction(Intent.ACTION_PACKAGE_ADDED); packageFilter.addAction(Intent.ACTION_PACKAGE_CHANGED); packageFilter.addAction(Intent.ACTION_PACKAGE_REMOVED); packageFilter.addDataScheme("package"); getContext().registerReceiverAsUser(new PackageReceiver(), UserHandle.ALL, packageFilter, Loading Loading @@ -266,6 +267,12 @@ public class UsageStatsService extends SystemService implements || Intent.ACTION_PACKAGE_CHANGED.equals(action)) { clearCarrierPrivilegedApps(); } if ((Intent.ACTION_PACKAGE_REMOVED.equals(action) || Intent.ACTION_PACKAGE_ADDED.equals(action)) && !intent.getBooleanExtra(Intent.EXTRA_REPLACING, false)) { clearAppIdleForPackage(intent.getData().getSchemeSpecificPart(), getSendingUserId()); } } } Loading Loading @@ -332,6 +339,12 @@ public class UsageStatsService extends SystemService implements } } void clearAppIdleForPackage(String packageName, int userId) { synchronized (mLock) { mAppIdleHistory.clearUsageLocked(packageName, userId); } } private void cleanUpRemovedUsersLocked() { final List<UserInfo> users = mUserManager.getUsers(true); if (users == null || users.size() == 0) { Loading Loading
services/usage/java/com/android/server/usage/AppIdleHistory.java +5 −0 Original line number Diff line number Diff line Loading @@ -274,6 +274,11 @@ public class AppIdleHistory { - (idle ? mScreenOnTimeThreshold : 0) - 1000 /* just a second more */; } public void clearUsageLocked(String packageName, int userId) { ArrayMap<String, PackageHistory> userHistory = getUserHistoryLocked(userId); userHistory.remove(packageName); } private boolean hasPassedThresholdsLocked(PackageHistory packageHistory, long elapsedRealtime) { return (packageHistory.lastUsedScreenTime <= getScreenOnTimeLocked(elapsedRealtime) - mScreenOnTimeThreshold) Loading
services/usage/java/com/android/server/usage/UsageStatsService.java +13 −0 Original line number Diff line number Diff line Loading @@ -180,6 +180,7 @@ public class UsageStatsService extends SystemService implements IntentFilter packageFilter = new IntentFilter(); packageFilter.addAction(Intent.ACTION_PACKAGE_ADDED); packageFilter.addAction(Intent.ACTION_PACKAGE_CHANGED); packageFilter.addAction(Intent.ACTION_PACKAGE_REMOVED); packageFilter.addDataScheme("package"); getContext().registerReceiverAsUser(new PackageReceiver(), UserHandle.ALL, packageFilter, Loading Loading @@ -266,6 +267,12 @@ public class UsageStatsService extends SystemService implements || Intent.ACTION_PACKAGE_CHANGED.equals(action)) { clearCarrierPrivilegedApps(); } if ((Intent.ACTION_PACKAGE_REMOVED.equals(action) || Intent.ACTION_PACKAGE_ADDED.equals(action)) && !intent.getBooleanExtra(Intent.EXTRA_REPLACING, false)) { clearAppIdleForPackage(intent.getData().getSchemeSpecificPart(), getSendingUserId()); } } } Loading Loading @@ -332,6 +339,12 @@ public class UsageStatsService extends SystemService implements } } void clearAppIdleForPackage(String packageName, int userId) { synchronized (mLock) { mAppIdleHistory.clearUsageLocked(packageName, userId); } } private void cleanUpRemovedUsersLocked() { final List<UserInfo> users = mUserManager.getUsers(true); if (users == null || users.size() == 0) { Loading