Merge "Fix MediaCas CTS failure TRM is checking input parameters and won't allow null executor. Use context main executor to call Tuner Resource Manager (TRM)" into rvc-dev am: bdc05af123 am: 1278c0bcaf

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12162120

Change-Id: Idc7395cb2f3a362fa54254e6461c3bf143f066d2
This commit is contained in:
Henry Fang
2020-07-16 19:30:36 +00:00
committed by Automerger Merge Worker

View File

@@ -34,7 +34,6 @@ import android.media.tv.tunerresourcemanager.ResourceClientProfile;
import android.media.tv.tunerresourcemanager.TunerResourceManager;
import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerExecutor;
import android.os.HandlerThread;
import android.os.IHwBinder;
import android.os.Looper;
@@ -50,6 +49,7 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -392,7 +392,10 @@ public final class MediaCas implements AutoCloseable {
@Override
public void onReclaimResources() {
synchronized (mSessionMap) {
mSessionMap.forEach((casSession, sessionResourceHandle) -> casSession.close());
List<Session> sessionList = new ArrayList<>(mSessionMap.keySet());
for (Session casSession: sessionList) {
casSession.close();
}
}
mEventHandler.sendMessage(mEventHandler.obtainMessage(
EventHandler.MSG_CAS_RESOURCE_LOST));
@@ -734,7 +737,7 @@ public final class MediaCas implements AutoCloseable {
ResourceClientProfile profile =
new ResourceClientProfile(tvInputServiceSessionId, priorityHint);
mTunerResourceManager.registerClientProfile(
profile, new HandlerExecutor(mEventHandler), mResourceListener, clientId);
profile, context.getMainExecutor(), mResourceListener, clientId);
mClientId = clientId[0];
}
}