diff options
author | Dianne Hackborn <hackbod@google.com> | 2015-06-05 18:08:37 -0700 |
---|---|---|
committer | Dianne Hackborn <hackbod@google.com> | 2015-06-08 13:51:57 -0700 |
commit | ab4bb9d1fec685dab0fce9232c9a3477fab356b3 (patch) | |
tree | b4727c7e6323beeef451dc79d3a3de6ca197ec86 /core/java/android | |
parent | 7631697793a8b82bb2a1cd3adced1b140d266427 (diff) | |
download | frameworks_base-ab4bb9d1fec685dab0fce9232c9a3477fab356b3.zip frameworks_base-ab4bb9d1fec685dab0fce9232c9a3477fab356b3.tar.gz frameworks_base-ab4bb9d1fec685dab0fce9232c9a3477fab356b3.tar.bz2 |
Fix issue #21571700: Need to be smarter about how foreground...
...services get out of app idle
Introduce a new process state to even better distinguish foreground
services from other states. Rework the INTERACTION reporting to
usage stats to do it less when the screen is off -- require that
an app sit in the foreground service or top activity state for
at least 30 minutes before we consider it an interaction.
Also eradicate a bunch of logging in package manager.
Change-Id: I94249e67f9a9c62e9a92ae104710e6747b16327e
Diffstat (limited to 'core/java/android')
-rw-r--r-- | core/java/android/app/ActivityManager.java | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/core/java/android/app/ActivityManager.java b/core/java/android/app/ActivityManager.java index 3892dd9..da345a6 100644 --- a/core/java/android/app/ActivityManager.java +++ b/core/java/android/app/ActivityManager.java @@ -279,51 +279,54 @@ public class ActivityManager { * all activities that are visible to the user. */ public static final int PROCESS_STATE_TOP = 2; + /** @hide Process is hosting a foreground service due to a system binding. */ + public static final int PROCESS_STATE_BOUND_FOREGROUND_SERVICE = 3; + /** @hide Process is hosting a foreground service. */ - public static final int PROCESS_STATE_FOREGROUND_SERVICE = 3; + public static final int PROCESS_STATE_FOREGROUND_SERVICE = 4; /** @hide Same as {@link #PROCESS_STATE_TOP} but while device is sleeping. */ - public static final int PROCESS_STATE_TOP_SLEEPING = 4; + public static final int PROCESS_STATE_TOP_SLEEPING = 5; /** @hide Process is important to the user, and something they are aware of. */ - public static final int PROCESS_STATE_IMPORTANT_FOREGROUND = 5; + public static final int PROCESS_STATE_IMPORTANT_FOREGROUND = 6; /** @hide Process is important to the user, but not something they are aware of. */ - public static final int PROCESS_STATE_IMPORTANT_BACKGROUND = 6; + public static final int PROCESS_STATE_IMPORTANT_BACKGROUND = 7; /** @hide Process is in the background running a backup/restore operation. */ - public static final int PROCESS_STATE_BACKUP = 7; + public static final int PROCESS_STATE_BACKUP = 8; /** @hide Process is in the background, but it can't restore its state so we want * to try to avoid killing it. */ - public static final int PROCESS_STATE_HEAVY_WEIGHT = 8; + public static final int PROCESS_STATE_HEAVY_WEIGHT = 9; /** @hide Process is in the background running a service. Unlike oom_adj, this level * is used for both the normal running in background state and the executing * operations state. */ - public static final int PROCESS_STATE_SERVICE = 9; + public static final int PROCESS_STATE_SERVICE = 10; /** @hide Process is in the background running a receiver. Note that from the * perspective of oom_adj receivers run at a higher foreground level, but for our * prioritization here that is not necessary and putting them below services means * many fewer changes in some process states as they receive broadcasts. */ - public static final int PROCESS_STATE_RECEIVER = 10; + public static final int PROCESS_STATE_RECEIVER = 11; /** @hide Process is in the background but hosts the home activity. */ - public static final int PROCESS_STATE_HOME = 11; + public static final int PROCESS_STATE_HOME = 12; /** @hide Process is in the background but hosts the last shown activity. */ - public static final int PROCESS_STATE_LAST_ACTIVITY = 12; + public static final int PROCESS_STATE_LAST_ACTIVITY = 13; /** @hide Process is being cached for later use and contains activities. */ - public static final int PROCESS_STATE_CACHED_ACTIVITY = 13; + public static final int PROCESS_STATE_CACHED_ACTIVITY = 14; /** @hide Process is being cached for later use and is a client of another cached * process that contains activities. */ - public static final int PROCESS_STATE_CACHED_ACTIVITY_CLIENT = 14; + public static final int PROCESS_STATE_CACHED_ACTIVITY_CLIENT = 15; /** @hide Process is being cached for later use and is empty. */ - public static final int PROCESS_STATE_CACHED_EMPTY = 15; + public static final int PROCESS_STATE_CACHED_EMPTY = 16; /** @hide requestType for assist context: only basic information. */ public static final int ASSIST_CONTEXT_BASIC = 0; |