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

Commit a781cee3 authored by Chong Zhang's avatar Chong Zhang
Browse files

Do not register with null observer

bug: 168307955
test: unit tests.
Change-Id: Iadef8660c95f2c545a212dfabf06c264b7c719a6
parent da52d866
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -165,6 +165,10 @@ Status ResourceObserverService::registerObserver(
        return Status::fromServiceSpecificError(PERMISSION_DENIED);
    }

    if (in_observer == nullptr) {
        return Status::fromServiceSpecificError(BAD_VALUE);
    }

    ::ndk::SpAIBinder binder = in_observer->asBinder();

    {
@@ -220,6 +224,10 @@ Status ResourceObserverService::unregisterObserver(
        return Status::fromServiceSpecificError(PERMISSION_DENIED);
    }

    if (in_observer == nullptr) {
        return Status::fromServiceSpecificError(BAD_VALUE);
    }

    ::ndk::SpAIBinder binder = in_observer->asBinder();

    {
+5 −0
Original line number Diff line number Diff line
@@ -182,6 +182,11 @@ TEST_F(ResourceObserverServiceTest, testRegisterObserver) {
    std::vector<MediaObservableFilter> filters1;
    Status status;

    // Register with null observer should fail.
    status = mObserverService->registerObserver(nullptr, filters1);
    EXPECT_FALSE(status.isOk());
    EXPECT_EQ(status.getServiceSpecificError(), BAD_VALUE);

    // Register with empty observables should fail.
    status = mObserverService->registerObserver(mTestObserver1, filters1);
    EXPECT_FALSE(status.isOk());