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

Commit 4dc1aa89 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Guard IResourceObserver::registerObserver with permission."

parents 86f1a34f d9c4fafe
Loading
Loading
Loading
Loading
+16 −2
Original line number Original line Diff line number Diff line
@@ -163,7 +163,14 @@ binder_status_t ResourceObserverService::dump(
Status ResourceObserverService::registerObserver(
Status ResourceObserverService::registerObserver(
        const std::shared_ptr<IResourceObserver>& in_observer,
        const std::shared_ptr<IResourceObserver>& in_observer,
        const std::vector<MediaObservableFilter>& in_filters) {
        const std::vector<MediaObservableFilter>& in_filters) {
    // TODO(chz): Guard this by a permission.
    if (checkCallingPermission(
            String16("android.permission.REGISTER_MEDIA_RESOURCE_OBSERVER")) == false) {
        ALOGE("Permission Denial: "
                "can't registerObserver from pid=%d, uid=%d\n",
                AIBinder_getCallingPid(),
                AIBinder_getCallingUid());
        return Status::fromServiceSpecificError(PERMISSION_DENIED);
    }


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


@@ -210,7 +217,14 @@ Status ResourceObserverService::registerObserver(


Status ResourceObserverService::unregisterObserver(
Status ResourceObserverService::unregisterObserver(
        const std::shared_ptr<IResourceObserver>& in_observer) {
        const std::shared_ptr<IResourceObserver>& in_observer) {
    // TODO(chz): Guard this by a permission.
    if (checkCallingPermission(
            String16("android.permission.REGISTER_MEDIA_RESOURCE_OBSERVER")) == false) {
        ALOGE("Permission Denial: "
                "can't unregisterObserver from pid=%d, uid=%d\n",
                AIBinder_getCallingPid(),
                AIBinder_getCallingUid());
        return Status::fromServiceSpecificError(PERMISSION_DENIED);
    }


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