diff options
| author | Xiaohui Chen <xiaohuic@google.com> | 2015-06-19 12:44:59 -0700 |
|---|---|---|
| committer | Xiaohui Chen <xiaohuic@google.com> | 2015-06-22 15:35:19 -0700 |
| commit | 8dca36dc8a5d17315775ce216689addc5bd9be00 (patch) | |
| tree | 020e812cedd03afe06a6c783465ec85356c26b86 /core/java/android | |
| parent | 20fab81a09e1ca04e811c6c6d94acb08037739e7 (diff) | |
system_server: optimize app idle parole state change
Currently when app idle parole state changes, all idle apps' states
are updated one by one including firewall modifications which are
very expensive. This optimization gets rid of individual firewall
rule changes and makes sure we only modify the firewall once at child
chain level.
BUG: 21446713
Change-Id: Iafc415fe0bc127826fe17894d4fedcf1755cb17d
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/app/usage/UsageStatsManagerInternal.java | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/core/java/android/app/usage/UsageStatsManagerInternal.java b/core/java/android/app/usage/UsageStatsManagerInternal.java index 8a31390dbf26..9113426da129 100644 --- a/core/java/android/app/usage/UsageStatsManagerInternal.java +++ b/core/java/android/app/usage/UsageStatsManagerInternal.java @@ -77,6 +77,12 @@ public abstract class UsageStatsManagerInternal { public abstract boolean isAppIdle(String packageName, int userId); /** + * @return True if currently app idle parole mode is on. This means all idle apps are allow to + * run for a short period of time. + */ + public abstract boolean isAppIdleParoleOn(); + + /** * Sets up a listener for changes to packages being accessed. * @param listener A listener within the system process. */ @@ -90,8 +96,9 @@ public abstract class UsageStatsManagerInternal { public abstract void removeAppIdleStateChangeListener( AppIdleStateChangeListener listener); - public interface AppIdleStateChangeListener { - void onAppIdleStateChanged(String packageName, int userId, boolean idle); + public static abstract class AppIdleStateChangeListener { + public abstract void onAppIdleStateChanged(String packageName, int userId, boolean idle); + public abstract void onParoleStateChanged(boolean isParoleOn); } } |
