Trust self pid in ResourceObserverService

Permission check only applies to remote observers.
bug: 170300341
test: unit test *without* running 'adb root' first.

Change-Id: I351ea58653c9c964cbb8cb9a76d000fc4450c2e2
diff --git a/services/mediaresourcemanager/ResourceObserverService.cpp b/services/mediaresourcemanager/ResourceObserverService.cpp
index a4b6ce7..44fe72d 100644
--- a/services/mediaresourcemanager/ResourceObserverService.cpp
+++ b/services/mediaresourcemanager/ResourceObserverService.cpp
@@ -163,7 +163,8 @@
 Status ResourceObserverService::registerObserver(
         const std::shared_ptr<IResourceObserver>& in_observer,
         const std::vector<MediaObservableFilter>& in_filters) {
-    if (checkCallingPermission(
+    if ((getpid() != AIBinder_getCallingPid()) &&
+            checkCallingPermission(
             String16("android.permission.REGISTER_MEDIA_RESOURCE_OBSERVER")) == false) {
         ALOGE("Permission Denial: "
                 "can't registerObserver from pid=%d, uid=%d\n",
@@ -217,7 +218,8 @@
 
 Status ResourceObserverService::unregisterObserver(
         const std::shared_ptr<IResourceObserver>& in_observer) {
-    if (checkCallingPermission(
+    if ((getpid() != AIBinder_getCallingPid()) &&
+            checkCallingPermission(
             String16("android.permission.REGISTER_MEDIA_RESOURCE_OBSERVER")) == false) {
         ALOGE("Permission Denial: "
                 "can't unregisterObserver from pid=%d, uid=%d\n",