transcoding: add more dumps for jobs

bug: 154733526
test: run the following to monitor transcoding status:

watch -n 1 adb shell dumpsys media.transcoding

Change-Id: I167bae9adcff2f80b26aefb520b4ab6d493e3f9d
diff --git a/media/libmediatranscoding/TranscodingUidPolicy.cpp b/media/libmediatranscoding/TranscodingUidPolicy.cpp
index fd41f65..f0d4945 100644
--- a/media/libmediatranscoding/TranscodingUidPolicy.cpp
+++ b/media/libmediatranscoding/TranscodingUidPolicy.cpp
@@ -21,7 +21,9 @@
 #include <aidl/android/media/IResourceManagerService.h>
 #include <android/binder_manager.h>
 #include <android/binder_process.h>
+#include <android/content/pm/IPackageManagerNative.h>
 #include <binder/ActivityManager.h>
+#include <binder/IServiceManager.h>
 #include <cutils/misc.h>  // FIRST_APPLICATION_UID
 #include <inttypes.h>
 #include <media/TranscodingUidPolicy.h>
@@ -109,6 +111,28 @@
 
 ////////////////////////////////////////////////////////////////////////////
 
+//static
+bool TranscodingUidPolicy::getNamesForUids(const std::vector<int32_t>& uids,
+                                           std::vector<std::string>* names) {
+    names->clear();
+    sp<IServiceManager> sm(defaultServiceManager());
+    sp<IBinder> binder(sm->getService(String16("package_native")));
+    if (binder == nullptr) {
+        ALOGE("getService package_native failed");
+        return false;
+    }
+
+    sp<content::pm::IPackageManagerNative> packageMgr =
+            interface_cast<content::pm::IPackageManagerNative>(binder);
+    binder::Status status = packageMgr->getNamesForUids(uids, names);
+
+    if (!status.isOk() || names->size() != uids.size()) {
+        names->clear();
+        return false;
+    }
+    return true;
+}
+
 TranscodingUidPolicy::TranscodingUidPolicy()
       : mAm(std::make_shared<ActivityManager>()),
         mUidObserver(new UidObserver(this)),