transcoding: add SimulatedTranscoder to test service

- Add SimulatedTranscoder (which is an upgraded version of
  DummyTranscoder) to allow more testing of the service.

- Add unit test that launches dummy test apps from shell
  to simulate uid policy change.

bug: 154734285
bug: 145233472
test: unit tests

Change-Id: Ic169757d64ad8da7eebd0e1febdcbfb467fe81f4
diff --git a/media/libmediatranscoding/include/media/TranscoderInterface.h b/media/libmediatranscoding/include/media/TranscoderInterface.h
index a2afa00..3c72c17 100644
--- a/media/libmediatranscoding/include/media/TranscoderInterface.h
+++ b/media/libmediatranscoding/include/media/TranscoderInterface.h
@@ -22,12 +22,14 @@
 namespace android {
 
 using ::aidl::android::media::TranscodingErrorCode;
+class TranscoderCallbackInterface;
 
 // Interface for the scheduler to call the transcoder to take actions.
 class TranscoderInterface {
 public:
     // TODO(chz): determine what parameters are needed here.
     // For now, always pass in clientId&jobId.
+    virtual void setCallback(const std::shared_ptr<TranscoderCallbackInterface>& cb) = 0;
     virtual void start(int64_t clientId, int32_t jobId) = 0;
     virtual void pause(int64_t clientId, int32_t jobId) = 0;
     virtual void resume(int64_t clientId, int32_t jobId) = 0;