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

Commit 0372cf1a authored by Shunkai Yao's avatar Shunkai Yao Committed by Automerger Merge Worker
Browse files

Merge "Make ScopedAIBinder_Weak::promote() a const function." am: 37619398...

Merge "Make ScopedAIBinder_Weak::promote() a const function." am: 37619398 am: 0f9f9e57 am: 0730e4ce am: 6f49edd7

Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2239069



Change-Id: Ic707c8e83172f751404dec1fc54f013808df30de
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 9401313b 6f49edd7
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -349,7 +349,7 @@ class ScopedAIBinder_Weak
    /**
     * See AIBinder_Weak_promote.
     */
    SpAIBinder promote() { return SpAIBinder(AIBinder_Weak_promote(get())); }
    SpAIBinder promote() const { return SpAIBinder(AIBinder_Weak_promote(get())); }
};

namespace internal {
+20 −0
Original line number Diff line number Diff line
@@ -670,6 +670,26 @@ TEST(NdkBinder, ConvertToPlatformParcel) {
    EXPECT_EQ(42, pparcel->readInt32());
}

TEST(NdkBinder, GetAndVerifyScopedAIBinder_Weak) {
    for (const ndk::SpAIBinder& binder :
         {// remote
          ndk::SpAIBinder(AServiceManager_getService(kBinderNdkUnitTestService)),
          // local
          ndk::SharedRefBase::make<MyBinderNdkUnitTest>()->asBinder()}) {
        // get a const ScopedAIBinder_Weak and verify promote
        EXPECT_NE(binder.get(), nullptr);
        const ndk::ScopedAIBinder_Weak wkAIBinder =
                ndk::ScopedAIBinder_Weak(AIBinder_Weak_new(binder.get()));
        EXPECT_EQ(wkAIBinder.promote().get(), binder.get());
        // get another ScopedAIBinder_Weak and verify
        ndk::ScopedAIBinder_Weak wkAIBinder2 =
                ndk::ScopedAIBinder_Weak(AIBinder_Weak_new(binder.get()));
        EXPECT_FALSE(AIBinder_Weak_lt(wkAIBinder.get(), wkAIBinder2.get()));
        EXPECT_FALSE(AIBinder_Weak_lt(wkAIBinder2.get(), wkAIBinder.get()));
        EXPECT_EQ(wkAIBinder2.promote(), wkAIBinder.promote());
    }
}

class MyResultReceiver : public BnResultReceiver {
   public:
    Mutex mMutex;