ActivityManager: use proc state from compiled aidl
bug: 172942349
bug: 159172726
test: builds
Change-Id: Ifb13dd33a3478a9337ab2eacfea5f1fe97471ca8
diff --git a/libs/binder/Android.bp b/libs/binder/Android.bp
index e6071a0..278d8e1 100644
--- a/libs/binder/Android.bp
+++ b/libs/binder/Android.bp
@@ -113,6 +113,7 @@
"Status.cpp",
"TextOutput.cpp",
":libbinder_aidl",
+ ":activity_manager_procstate_aidl",
],
target: {
diff --git a/libs/binder/include/binder/ActivityManager.h b/libs/binder/include/binder/ActivityManager.h
index 6796723..e3b7cb9 100644
--- a/libs/binder/include/binder/ActivityManager.h
+++ b/libs/binder/include/binder/ActivityManager.h
@@ -20,12 +20,16 @@
#ifndef __ANDROID_VNDK__
#include <binder/IActivityManager.h>
+#include <android/app/ProcessStateEnum.h>
#include <utils/threads.h>
// ---------------------------------------------------------------------------
namespace android {
+#define DECLARE_PROCESS_STATE(name) \
+ PROCESS_STATE_##name = (int32_t) app::ProcessStateEnum::name
+
class ActivityManager
{
public:
@@ -41,30 +45,31 @@
UID_OBSERVER_ACTIVE = 1<<3
};
+ // PROCESS_STATE_* must come from frameworks/base/core/java/android/app/ProcessStateEnum.aidl.
+ // This is to make sure that Java side uses the same values as native.
enum {
- PROCESS_STATE_UNKNOWN = -1,
- PROCESS_STATE_PERSISTENT = 0,
- PROCESS_STATE_PERSISTENT_UI = 1,
- PROCESS_STATE_TOP = 2,
- PROCESS_STATE_FOREGROUND_SERVICE_LOCATION = 3,
- PROCESS_STATE_BOUND_TOP = 4,
- PROCESS_STATE_FOREGROUND_SERVICE = 5,
- PROCESS_STATE_BOUND_FOREGROUND_SERVICE = 6,
- PROCESS_STATE_IMPORTANT_FOREGROUND = 7,
- PROCESS_STATE_IMPORTANT_BACKGROUND = 8,
- PROCESS_STATE_TRANSIENT_BACKGROUND = 9,
- PROCESS_STATE_BACKUP = 10,
- PROCESS_STATE_SERVICE = 11,
- PROCESS_STATE_RECEIVER = 12,
- PROCESS_STATE_TOP_SLEEPING = 13,
- PROCESS_STATE_HEAVY_WEIGHT = 14,
- PROCESS_STATE_HOME = 15,
- PROCESS_STATE_LAST_ACTIVITY = 16,
- PROCESS_STATE_CACHED_ACTIVITY = 17,
- PROCESS_STATE_CACHED_ACTIVITY_CLIENT = 18,
- PROCESS_STATE_CACHED_RECENT = 19,
- PROCESS_STATE_CACHED_EMPTY = 20,
- PROCESS_STATE_NONEXISTENT = 21,
+ DECLARE_PROCESS_STATE(UNKNOWN),
+ DECLARE_PROCESS_STATE(PERSISTENT),
+ DECLARE_PROCESS_STATE(PERSISTENT_UI),
+ DECLARE_PROCESS_STATE(TOP),
+ DECLARE_PROCESS_STATE(BOUND_TOP),
+ DECLARE_PROCESS_STATE(FOREGROUND_SERVICE),
+ DECLARE_PROCESS_STATE(BOUND_FOREGROUND_SERVICE),
+ DECLARE_PROCESS_STATE(IMPORTANT_FOREGROUND),
+ DECLARE_PROCESS_STATE(IMPORTANT_BACKGROUND),
+ DECLARE_PROCESS_STATE(TRANSIENT_BACKGROUND),
+ DECLARE_PROCESS_STATE(BACKUP),
+ DECLARE_PROCESS_STATE(SERVICE),
+ DECLARE_PROCESS_STATE(RECEIVER),
+ DECLARE_PROCESS_STATE(TOP_SLEEPING),
+ DECLARE_PROCESS_STATE(HEAVY_WEIGHT),
+ DECLARE_PROCESS_STATE(HOME),
+ DECLARE_PROCESS_STATE(LAST_ACTIVITY),
+ DECLARE_PROCESS_STATE(CACHED_ACTIVITY),
+ DECLARE_PROCESS_STATE(CACHED_ACTIVITY_CLIENT),
+ DECLARE_PROCESS_STATE(CACHED_RECENT),
+ DECLARE_PROCESS_STATE(CACHED_EMPTY),
+ DECLARE_PROCESS_STATE(NONEXISTENT),
};
ActivityManager();