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

Commit e9441bcf authored by Steven Moreland's avatar Steven Moreland
Browse files

libbinder: remove __ANDROID_APEX__ stability diff

These were setup because the media APEX module was using vendor variants
of libbinder on the system partition. However, now that this build
dependency is cleaned up, we can remove the #ifdefs and make this a
build error instead of a runtime error.

Test: binderStabilityTest
Fixes: 179906909
Change-Id: If05cf3fa0851866d7113f6e8f9705891672ad369
parent 3c18744b
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;
+3 −3
Original line number Diff line number Diff line
@@ -30,7 +30,7 @@ enum {
    FLAG_PRIVATE_VENDOR = 0x10000000,
};

#if defined(__ANDROID_VNDK__) && !defined(__ANDROID_APEX__)
#if defined(__ANDROID_VNDK__)

enum {
    FLAG_PRIVATE_LOCAL = FLAG_PRIVATE_VENDOR,
@@ -45,7 +45,7 @@ static inline void AIBinder_markCompilationUnitStability(AIBinder* binder) {
    AIBinder_markVendorStability(binder);
}

#else  // defined(__ANDROID_VNDK__) && !defined(__ANDROID_APEX__)
#else  // defined(__ANDROID_VNDK__)

enum {
    FLAG_PRIVATE_LOCAL = 0,
@@ -62,7 +62,7 @@ static inline void AIBinder_markCompilationUnitStability(AIBinder* binder) {
    AIBinder_markSystemStability(binder);
}

#endif  // defined(__ANDROID_VNDK__) && !defined(__ANDROID_APEX__)
#endif  // defined(__ANDROID_VNDK__)

/**
 * This interface has system<->vendor stability