transcoding: post progress update to client

bug: 160277443
bug: 154733526
test: unit tests
Change-Id: I04cd198d5fb1e83b1d256e4968fb3685c16b7a55
diff --git a/services/mediatranscoding/tests/MediaTranscodingServiceTestHelper.h b/services/mediatranscoding/tests/MediaTranscodingServiceTestHelper.h
index 2f4e74b..53fd7ec 100644
--- a/services/mediatranscoding/tests/MediaTranscodingServiceTestHelper.h
+++ b/services/mediatranscoding/tests/MediaTranscodingServiceTestHelper.h
@@ -180,6 +180,18 @@
         mCondition.notify_one();
     }
 
+    void updateProgress(int progress) {
+        std::unique_lock lock(mLock);
+        mLastProgress = progress;
+        mUpdateCount++;
+    }
+
+    int getUpdateCount(int *lastProgress) {
+        std::unique_lock lock(mLock);
+        *lastProgress = mLastProgress;
+        return mUpdateCount;
+    }
+
     TranscodingErrorCode getLastError() {
         std::unique_lock lock(mLock);
         return mLastErr;
@@ -191,6 +203,8 @@
     Event mPoppedEvent;
     std::list<Event> mEventQueue;
     TranscodingErrorCode mLastErr;
+    int mUpdateCount = 0;
+    int mLastProgress = -1;
 };
 
 // Operators for GTest macros.
@@ -266,7 +280,8 @@
         return Status::ok();
     }
 
-    Status onProgressUpdate(int32_t /* in_jobId */, int32_t /* in_progress */) override {
+    Status onProgressUpdate(int32_t /* in_jobId */, int32_t in_progress) override {
+        updateProgress(in_progress);
         return Status::ok();
     }