transcoding: Add more information to dumpsys.

Showing all the jobs in queue.

Bug: 154733526
Test: Use snapchat to simuluate multiple transcoding jobs and dumpsys.
Change-Id: I37aa9d15fe9243598d068eb3aac7ecc2e80d6ccf
diff --git a/media/libmediatranscoding/TranscodingJobScheduler.cpp b/media/libmediatranscoding/TranscodingJobScheduler.cpp
index 24ac682..8045043 100644
--- a/media/libmediatranscoding/TranscodingJobScheduler.cpp
+++ b/media/libmediatranscoding/TranscodingJobScheduler.cpp
@@ -53,6 +53,38 @@
 
 TranscodingJobScheduler::~TranscodingJobScheduler() {}
 
+void TranscodingJobScheduler::dumpAllJobs(int fd, const Vector<String16>& args __unused) {
+    String8 result;
+
+    const size_t SIZE = 256;
+    char buffer[SIZE];
+    std::scoped_lock lock{mLock};
+
+    snprintf(buffer, SIZE, " \n\n   Total num of Jobs: %zu\n", mJobMap.size());
+    result.append(buffer);
+
+    if (mJobMap.size() > 0) {
+        snprintf(buffer, SIZE, "========== Dumping all jobs =========\n");
+        result.append(buffer);
+    }
+
+    for (auto uidIt = mUidSortedList.begin(); uidIt != mUidSortedList.end(); uidIt++) {
+        for (auto jobIt = mJobQueues[*uidIt].begin(); jobIt != mJobQueues[*uidIt].end(); jobIt++) {
+            if (mJobMap.count(*jobIt) != 0) {
+                TranscodingRequestParcel& request = mJobMap[*jobIt].request;
+                snprintf(buffer, SIZE, "Job: %s Client: %d\n", request.sourceFilePath.c_str(),
+                         request.clientUid);
+
+            } else {
+                snprintf(buffer, SIZE, "Failed to look up Job %s  \n", jobToString(*jobIt).c_str());
+            }
+            result.append(buffer);
+        }
+    }
+
+    write(fd, result.string(), result.size());
+}
+
 TranscodingJobScheduler::Job* TranscodingJobScheduler::getTopJob_l() {
     if (mJobMap.empty()) {
         return nullptr;