OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 module arc; | |
6 | |
7 // Describes the current process state, as defined by AOSP in | |
8 // android.app.ActivityManager. | |
9 enum ProcessState { | |
10 // Process does not exist. | |
11 NONEXISTENT = -1, | |
12 | |
13 // Process is a persistent system process. | |
14 PERSISTENT = 0, | |
15 | |
16 // Process is a persistent system process and is doing UI. | |
17 PERSISTENT_UI = 1, | |
18 | |
19 // Process is hosting the current top activities. Note that this covers | |
20 // all activities that are visible to the user. | |
21 TOP = 2, | |
22 | |
23 // Process is hosting a foreground service due to a system binding. | |
24 BOUND_FOREGROUND_SERVICE = 3, | |
25 | |
26 // Process is hosting a foreground service. | |
27 FOREGROUND_SERVICE = 4, | |
28 | |
29 // Same as PROCESS_STATE_TOP but while device is sleeping. | |
30 TOP_SLEEPING = 5, | |
31 | |
32 // Process is important to the user, and something they are aware of. | |
33 IMPORTANT_FOREGROUND = 6, | |
34 | |
35 // Process is important to the user, but not something they are aware of. | |
36 IMPORTANT_BACKGROUND = 7, | |
37 | |
38 // Process is in the background running a backup/restore operation. | |
39 BACKUP = 8, | |
40 | |
41 // Process is in the background, but it can't restore its state so we want | |
42 // to try to avoid killing it. | |
43 HEAVY_WEIGHT = 9, | |
44 | |
45 // Process is in the background running a service. Unlike oom_adj, this level | |
46 // is used for both the normal running in background state and the executing | |
47 // operations state. | |
48 SERVICE = 10, | |
49 | |
50 // Process is in the background running a receiver. Note that from the | |
51 // perspective of oom_adj receivers run at a higher foreground level, but for | |
52 // our prioritization here that is not necessary and putting them below | |
53 // services means many fewer changes in some process states as they receive | |
54 // broadcasts. | |
55 RECEIVER = 11, | |
56 | |
57 // Process is in the background but hosts the home activity. | |
58 HOME = 12, | |
59 | |
60 // Process is in the background but hosts the last shown activity. | |
61 LAST_ACTIVITY = 13, | |
62 | |
63 // Process is being cached for later use and contains activities. | |
64 CACHED_ACTIVITY = 14, | |
65 | |
66 // Process is being cached for later use and is a client of another cached | |
67 // process that contains activities. | |
68 CACHED_ACTIVITY_CLIENT = 15, | |
69 | |
70 // Process is being cached for later use and is empty. | |
71 CACHED_EMPTY = 16, | |
72 }; | |
73 | |
74 // Describes a running ARC process. | |
75 // This struct is a subset of android.app.ActivityManager.RunningAppProcessInfo. | |
76 struct RunningAppProcessInfo { | |
77 // Name of the process. | |
78 string process_name; | |
79 | |
80 // PID (within ARC's PID namespace) of the process. | |
81 uint32 pid; | |
82 | |
83 // Current process state. | |
84 ProcessState process_state; | |
85 }; | |
86 | |
87 interface ProcessListInstance { | |
hidehiko
2015/12/16 18:39:57
One more nit (or bikeshed). As nya@ is trying to a
Luis Héctor Chávez
2015/12/16 19:09:49
Sure. I wasn't sure of the intended scope of this
| |
88 // Requests ARC instance to return the current process list. | |
89 RequestProcessList() => (array<RunningAppProcessInfo> processes); | |
90 }; | |
OLD | NEW |