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)),