summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Moreland <smoreland@google.com>2019-09-26 14:47:21 -0700
committerSteven Moreland <smoreland@google.com>2019-09-26 14:47:21 -0700
commitbceb3bfb4d2b1ac1de25169c0e66025a4f18bf0e (patch)
tree5aabf6a1f74edbfa61239c1a80558529b2eef6ef
parent6f30b0626e353b6c486c6cc367b59d0c72359281 (diff)
downloadnative-bceb3bfb4d2b1ac1de25169c0e66025a4f18bf0e.tar.gz
libbinder: Consider 'VNDK + APEX' as system stable
Currently, we have 'use_vendor' on APEX which means that '__ANDROID_VNDK__' things might not be logically coupled with the vendor partition. Since APEXes can't be used from the vendor partition now, we can mark 'vndk && apex' things as having a stability corresponding to the system partition. Bug: 136027762 Test: boot && binderStabilityTest Change-Id: Ib784c0da6bbb4435aec0f8c1fd1bf421332d64d7
-rw-r--r--libs/binder/Parcel.cpp2
-rw-r--r--libs/binder/include/binder/Stability.h2
-rw-r--r--libs/binder/ndk/include_platform/android/binder_stability.h6
3 files changed, 5 insertions, 5 deletions
diff --git a/libs/binder/Parcel.cpp b/libs/binder/Parcel.cpp
index ee26997912..11317328e2 100644
--- a/libs/binder/Parcel.cpp
+++ b/libs/binder/Parcel.cpp
@@ -509,7 +509,7 @@ void Parcel::updateWorkSourceRequestHeaderPosition() const {
}
}
-#ifdef __ANDROID_VNDK__
+#if defined(__ANDROID_VNDK__) && !defined(__ANDROID_APEX__)
constexpr int32_t kHeader = B_PACK_CHARS('V', 'N', 'D', 'R');
#else
constexpr int32_t kHeader = B_PACK_CHARS('S', 'Y', 'S', 'T');
diff --git a/libs/binder/include/binder/Stability.h b/libs/binder/include/binder/Stability.h
index b84657ac56..2894482f55 100644
--- a/libs/binder/include/binder/Stability.h
+++ b/libs/binder/include/binder/Stability.h
@@ -81,7 +81,7 @@ private:
VINTF = 0b111111,
};
-#ifdef __ANDROID_VNDK__
+#if defined(__ANDROID_VNDK__) && !defined(__ANDROID_APEX__)
static constexpr Level kLocalStability = Level::VENDOR;
#else
static constexpr Level kLocalStability = Level::SYSTEM;
diff --git a/libs/binder/ndk/include_platform/android/binder_stability.h b/libs/binder/ndk/include_platform/android/binder_stability.h
index e6aeb04e6f..b03fce1e39 100644
--- a/libs/binder/ndk/include_platform/android/binder_stability.h
+++ b/libs/binder/ndk/include_platform/android/binder_stability.h
@@ -20,7 +20,7 @@
__BEGIN_DECLS
-#ifdef __ANDROID_VNDK__
+#if defined(__ANDROID_VNDK__) && !defined(__ANDROID_APEX__)
/**
* This interface has the stability of the vendor image.
@@ -31,7 +31,7 @@ static inline void AIBinder_markCompilationUnitStability(AIBinder* binder) {
AIBinder_markVendorStability(binder);
}
-#else // ndef defined __ANDROID_VNDK__
+#else // defined(__ANDROID_VNDK__) && !defined(__ANDROID_APEX__)
/**
* This interface has the stability of the system image.
@@ -42,7 +42,7 @@ static inline void AIBinder_markCompilationUnitStability(AIBinder* binder) {
AIBinder_markSystemStability(binder);
}
-#endif // ifdef __ANDROID_VNDK__
+#endif // defined(__ANDROID_VNDK__) && !defined(__ANDROID_APEX__)
/**
* This interface has system<->vendor stability