Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 191cfa3d authored by Steven Moreland's avatar Steven Moreland Committed by Android (Google) Code Review
Browse files

Merge "Reland "libbinder: remove __ANDROID_APEX__ stability diff"" into sc-dev

parents cd702f94 b6c7e22c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -520,7 +520,7 @@ void Parcel::updateWorkSourceRequestHeaderPosition() const {
    }
}

#if defined(__ANDROID_VNDK__) && !defined(__ANDROID_APEX__)
#if defined(__ANDROID_VNDK__)
constexpr int32_t kHeader = B_PACK_CHARS('V', 'N', 'D', 'R');
#else
constexpr int32_t kHeader = B_PACK_CHARS('S', 'Y', 'S', 'T');
+0 −6
Original line number Diff line number Diff line
@@ -406,12 +406,6 @@ ProcessState::ProcessState(const char *driver)
    , mThreadPoolSeq(1)
    , mCallRestriction(CallRestriction::NONE)
{

// TODO(b/166468760): enforce in build system
#if defined(__ANDROID_APEX__)
    LOG_ALWAYS_FATAL("Cannot use libbinder in APEX (only system.img libbinder) since it is not stable.");
#endif

    if (mDriverFD >= 0) {
        // mmap the binder, providing a chunk of virtual address space to receive transactions.
        mVMStart = mmap(nullptr, BINDER_VM_SIZE, PROT_READ, MAP_PRIVATE | MAP_NORESERVE, mDriverFD, 0);
+5 −11
Original line number Diff line number Diff line
@@ -76,18 +76,12 @@ void Stability::tryMarkCompilationUnit(IBinder* binder) {
}

Stability::Level Stability::getLocalLevel() {
#ifdef __ANDROID_VNDK__
#ifdef __ANDROID_APEX__
        // TODO(b/142684679) avoid use_vendor on system APEXes
        #if !defined(__ANDROID_APEX_COM_ANDROID_MEDIA_SWCODEC__) \
            && !defined(__ANDROID_APEX_TEST_COM_ANDROID_MEDIA_SWCODEC__)
        #error VNDK + APEX only defined for com.android.media.swcodec
#error APEX can't use libbinder (must use libbinder_ndk)
#endif
        // TODO(b/142684679) avoid use_vendor on system APEXes
        return Level::SYSTEM;
    #else

#ifdef __ANDROID_VNDK__
    return Level::VENDOR;
    #endif
#else
    // TODO(b/139325195): split up stability levels for system/APEX.
    return Level::SYSTEM;
+2 −0
Original line number Diff line number Diff line
@@ -30,6 +30,8 @@ enum {
    FLAG_PRIVATE_VENDOR = 0x10000000,
};

// TODO(b/180646847): __ANDROID_APEX__ here is what allows product partition to
// talk to system.
#if defined(__ANDROID_VNDK__) && !defined(__ANDROID_APEX__)

enum {