Add more package names for MediaProvider

bug: 171393067
Change-Id: I201de3c7a9e0e6a9a8c3620b519d069764ec73a0
diff --git a/media/libmediatranscoding/TranscodingClientManager.cpp b/media/libmediatranscoding/TranscodingClientManager.cpp
index b57baa5..ae1f7a5 100644
--- a/media/libmediatranscoding/TranscodingClientManager.cpp
+++ b/media/libmediatranscoding/TranscodingClientManager.cpp
@@ -31,7 +31,10 @@
 
 static_assert(sizeof(ClientIdType) == sizeof(void*), "ClientIdType should be pointer-sized");
 
-static constexpr const char* MEDIA_PROVIDER_PKG_NAME = "com.google.android.providers.media.module";
+static constexpr const char* MEDIA_PROVIDER_PKG_NAMES[] = {
+        "com.android.providers.media.module",
+        "com.google.android.providers.media.module",
+};
 
 using ::aidl::android::media::BnTranscodingClient;
 using ::aidl::android::media::IMediaTranscodingService;  // For service error codes
@@ -261,16 +264,16 @@
 TranscodingClientManager::TranscodingClientManager(
         const std::shared_ptr<ControllerClientInterface>& controller)
       : mDeathRecipient(AIBinder_DeathRecipient_new(BinderDiedCallback)),
-        mSessionController(controller),
-        mMediaProviderUid(-1) {
+        mSessionController(controller) {
     ALOGD("TranscodingClientManager started");
     uid_t mpuid;
-    if (TranscodingUidPolicy::getUidForPackage(String16(MEDIA_PROVIDER_PKG_NAME), mpuid) ==
-        NO_ERROR) {
-        ALOGI("Found MediaProvider uid: %d", mpuid);
-        mMediaProviderUid = mpuid;
-    } else {
-        ALOGW("Couldn't get uid for MediaProvider.");
+    for (const char* pkgName : MEDIA_PROVIDER_PKG_NAMES) {
+        if (TranscodingUidPolicy::getUidForPackage(String16(pkgName), mpuid) == NO_ERROR) {
+            ALOGI("Found %s's uid: %d", pkgName, mpuid);
+            mMediaProviderUid.insert(mpuid);
+        } else {
+            ALOGW("Couldn't get uid for %s.", pkgName);
+        }
     }
 }
 
@@ -303,7 +306,7 @@
 }
 
 bool TranscodingClientManager::isTrustedCallingUid(uid_t uid) {
-    if (uid > 0 && uid == mMediaProviderUid) {
+    if (uid > 0 && mMediaProviderUid.count(uid) > 0) {
         return true;
     }
 
diff --git a/media/libmediatranscoding/include/media/TranscodingClientManager.h b/media/libmediatranscoding/include/media/TranscodingClientManager.h
index 5feeae9..451f993 100644
--- a/media/libmediatranscoding/include/media/TranscodingClientManager.h
+++ b/media/libmediatranscoding/include/media/TranscodingClientManager.h
@@ -109,7 +109,7 @@
     ::ndk::ScopedAIBinder_DeathRecipient mDeathRecipient;
 
     std::shared_ptr<ControllerClientInterface> mSessionController;
-    uid_t mMediaProviderUid;
+    std::unordered_set<uid_t> mMediaProviderUid;
 
     static std::atomic<ClientIdType> sCookieCounter;
     static std::mutex sCookie2ClientLock;