Merge "Revert "ResourceHandle : Refactor resourceHandle data type to long"" into main
diff --git a/media/java/android/media/MediaCas.java b/media/java/android/media/MediaCas.java
index 9896f64..2d7db5e 100644
--- a/media/java/android/media/MediaCas.java
+++ b/media/java/android/media/MediaCas.java
@@ -131,7 +131,7 @@
private int mCasSystemId;
private int mUserId;
private TunerResourceManager mTunerResourceManager = null;
- private final Map<Session, Long> mSessionMap = new HashMap<>();
+ private final Map<Session, Integer> mSessionMap = new HashMap<>();
/**
* Scrambling modes used to open cas sessions.
@@ -1126,10 +1126,10 @@
}
}
- private long getSessionResourceHandle() throws MediaCasException {
+ private int getSessionResourceHandle() throws MediaCasException {
validateInternalStates();
- long[] sessionResourceHandle = new long[1];
+ int[] sessionResourceHandle = new int[1];
sessionResourceHandle[0] = -1;
if (mTunerResourceManager != null) {
CasSessionRequest casSessionRequest = new CasSessionRequest();
@@ -1144,7 +1144,8 @@
return sessionResourceHandle[0];
}
- private void addSessionToResourceMap(Session session, long sessionResourceHandle) {
+ private void addSessionToResourceMap(Session session, int sessionResourceHandle) {
+
if (sessionResourceHandle != TunerResourceManager.INVALID_RESOURCE_HANDLE) {
synchronized (mSessionMap) {
mSessionMap.put(session, sessionResourceHandle);
@@ -1177,14 +1178,13 @@
* @throws MediaCasStateException for CAS-specific state exceptions.
*/
public Session openSession() throws MediaCasException {
- long sessionResourceHandle = getSessionResourceHandle();
+ int sessionResourceHandle = getSessionResourceHandle();
try {
if (mICas != null) {
try {
byte[] sessionId = mICas.openSessionDefault();
Session session = createFromSessionId(sessionId);
- addSessionToResourceMap(session, sessionResourceHandle);
Log.d(TAG, "Write Stats Log for succeed to Open Session.");
FrameworkStatsLog.write(
FrameworkStatsLog.TV_CAS_SESSION_OPEN_STATUS,
@@ -1238,7 +1238,7 @@
@Nullable
public Session openSession(@SessionUsage int sessionUsage, @ScramblingMode int scramblingMode)
throws MediaCasException {
- long sessionResourceHandle = getSessionResourceHandle();
+ int sessionResourceHandle = getSessionResourceHandle();
if (mICas != null) {
try {
diff --git a/media/java/android/media/tv/tuner/Tuner.java b/media/java/android/media/tv/tuner/Tuner.java
index 300ae5d..2c71ee0 100644
--- a/media/java/android/media/tv/tuner/Tuner.java
+++ b/media/java/android/media/tv/tuner/Tuner.java
@@ -293,13 +293,13 @@
private EventHandler mHandler;
@Nullable
private FrontendInfo mFrontendInfo;
- private Long mFrontendHandle;
+ private Integer mFrontendHandle;
private Tuner mFeOwnerTuner = null;
private int mFrontendType = FrontendSettings.TYPE_UNDEFINED;
private Integer mDesiredFrontendId = null;
private int mUserId;
private Lnb mLnb;
- private Long mLnbHandle;
+ private Integer mLnbHandle;
@Nullable
private OnTuneEventListener mOnTuneEventListener;
@Nullable
@@ -322,10 +322,10 @@
private final ReentrantLock mDemuxLock = new ReentrantLock();
private int mRequestedCiCamId;
- private Long mDemuxHandle;
- private Long mFrontendCiCamHandle;
+ private Integer mDemuxHandle;
+ private Integer mFrontendCiCamHandle;
private Integer mFrontendCiCamId;
- private Map<Long, WeakReference<Descrambler>> mDescramblers = new HashMap<>();
+ private Map<Integer, WeakReference<Descrambler>> mDescramblers = new HashMap<>();
private List<WeakReference<Filter>> mFilters = new ArrayList<WeakReference<Filter>>();
private final TunerResourceManager.ResourcesReclaimListener mResourceListener =
@@ -947,7 +947,7 @@
private void releaseDescramblers() {
synchronized (mDescramblers) {
if (!mDescramblers.isEmpty()) {
- for (Map.Entry<Long, WeakReference<Descrambler>> d : mDescramblers.entrySet()) {
+ for (Map.Entry<Integer, WeakReference<Descrambler>> d : mDescramblers.entrySet()) {
Descrambler descrambler = d.getValue().get();
if (descrambler != null) {
descrambler.close();
@@ -1008,7 +1008,7 @@
/**
* Native method to open frontend of the given ID.
*/
- private native Frontend nativeOpenFrontendByHandle(long handle);
+ private native Frontend nativeOpenFrontendByHandle(int handle);
private native int nativeShareFrontend(int id);
private native int nativeUnshareFrontend();
private native void nativeRegisterFeCbListener(long nativeContext);
@@ -1037,21 +1037,21 @@
private native int nativeSetMaxNumberOfFrontends(int frontendType, int maxNumber);
private native int nativeGetMaxNumberOfFrontends(int frontendType);
private native int nativeRemoveOutputPid(int pid);
- private native Lnb nativeOpenLnbByHandle(long handle);
+ private native Lnb nativeOpenLnbByHandle(int handle);
private native Lnb nativeOpenLnbByName(String name);
private native FrontendStatusReadiness[] nativeGetFrontendStatusReadiness(int[] statusTypes);
- private native Descrambler nativeOpenDescramblerByHandle(long handle);
- private native int nativeOpenDemuxByhandle(long handle);
+ private native Descrambler nativeOpenDescramblerByHandle(int handle);
+ private native int nativeOpenDemuxByhandle(int handle);
private native DvrRecorder nativeOpenDvrRecorder(long bufferSize);
private native DvrPlayback nativeOpenDvrPlayback(long bufferSize);
private native DemuxCapabilities nativeGetDemuxCapabilities();
- private native DemuxInfo nativeGetDemuxInfo(long demuxHandle);
+ private native DemuxInfo nativeGetDemuxInfo(int demuxHandle);
- private native int nativeCloseDemux(long handle);
- private native int nativeCloseFrontend(long handle);
+ private native int nativeCloseDemux(int handle);
+ private native int nativeCloseFrontend(int handle);
private native int nativeClose();
private static native SharedFilter nativeOpenSharedFilter(String token);
@@ -1369,7 +1369,7 @@
}
private boolean requestFrontend() {
- long[] feHandle = new long[1];
+ int[] feHandle = new int[1];
boolean granted = false;
try {
TunerFrontendRequest request = new TunerFrontendRequest();
@@ -2377,7 +2377,7 @@
}
private boolean requestLnb() {
- long[] lnbHandle = new long[1];
+ int[] lnbHandle = new int[1];
TunerLnbRequest request = new TunerLnbRequest();
request.clientId = mClientId;
boolean granted = mTunerResourceManager.requestLnb(request, lnbHandle);
@@ -2660,7 +2660,7 @@
}
private boolean requestDemux() {
- long[] demuxHandle = new long[1];
+ int[] demuxHandle = new int[1];
TunerDemuxRequest request = new TunerDemuxRequest();
request.clientId = mClientId;
request.desiredFilterTypes = mDesiredDemuxInfo.getFilterTypes();
@@ -2673,14 +2673,14 @@
}
private Descrambler requestDescrambler() {
- long[] descramblerHandle = new long[1];
+ int[] descramblerHandle = new int[1];
TunerDescramblerRequest request = new TunerDescramblerRequest();
request.clientId = mClientId;
boolean granted = mTunerResourceManager.requestDescrambler(request, descramblerHandle);
if (!granted) {
return null;
}
- long handle = descramblerHandle[0];
+ int handle = descramblerHandle[0];
Descrambler descrambler = nativeOpenDescramblerByHandle(handle);
if (descrambler != null) {
synchronized (mDescramblers) {
@@ -2694,7 +2694,7 @@
}
private boolean requestFrontendCiCam(int ciCamId) {
- long[] ciCamHandle = new long[1];
+ int[] ciCamHandle = new int[1];
TunerCiCamRequest request = new TunerCiCamRequest();
request.clientId = mClientId;
request.ciCamId = ciCamId;
diff --git a/media/java/android/media/tv/tunerresourcemanager/TunerResourceManager.java b/media/java/android/media/tv/tunerresourcemanager/TunerResourceManager.java
index bb581eb..d268aeb 100644
--- a/media/java/android/media/tv/tunerresourcemanager/TunerResourceManager.java
+++ b/media/java/android/media/tv/tunerresourcemanager/TunerResourceManager.java
@@ -66,7 +66,7 @@
private static final String TAG = "TunerResourceManager";
private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
- public static final long INVALID_RESOURCE_HANDLE = -1;
+ public static final int INVALID_RESOURCE_HANDLE = -1;
public static final int INVALID_OWNER_ID = -1;
/**
* Tuner resource type to help generate resource handle
@@ -275,7 +275,7 @@
* Updates the current TRM of the TunerHAL Frontend information.
*
* <p><strong>Note:</strong> This update must happen before the first
- * {@link #requestFrontend(TunerFrontendRequest, long[])} and
+ * {@link #requestFrontend(TunerFrontendRequest, int[])} and
* {@link #releaseFrontend(int, int)} call.
*
* @param infos an array of the available {@link TunerFrontendInfo} information.
@@ -331,7 +331,7 @@
*
* @param lnbIds ids of the updating lnbs.
*/
- public void setLnbInfoList(long[] lnbIds) {
+ public void setLnbInfoList(int[] lnbIds) {
try {
mService.setLnbInfoList(lnbIds);
} catch (RemoteException e) {
@@ -406,8 +406,8 @@
*
* @return true if there is frontend granted.
*/
- public boolean requestFrontend(
- @NonNull TunerFrontendRequest request, @Nullable long[] frontendHandle) {
+ public boolean requestFrontend(@NonNull TunerFrontendRequest request,
+ @Nullable int[] frontendHandle) {
boolean result = false;
try {
result = mService.requestFrontend(request, frontendHandle);
@@ -511,7 +511,7 @@
*
* @return true if there is Demux granted.
*/
- public boolean requestDemux(@NonNull TunerDemuxRequest request, @NonNull long[] demuxHandle) {
+ public boolean requestDemux(@NonNull TunerDemuxRequest request, @NonNull int[] demuxHandle) {
boolean result = false;
try {
result = mService.requestDemux(request, demuxHandle);
@@ -544,8 +544,8 @@
*
* @return true if there is Descrambler granted.
*/
- public boolean requestDescrambler(
- @NonNull TunerDescramblerRequest request, @NonNull long[] descramblerHandle) {
+ public boolean requestDescrambler(@NonNull TunerDescramblerRequest request,
+ @NonNull int[] descramblerHandle) {
boolean result = false;
try {
result = mService.requestDescrambler(request, descramblerHandle);
@@ -577,8 +577,8 @@
*
* @return true if there is CAS session granted.
*/
- public boolean requestCasSession(
- @NonNull CasSessionRequest request, @NonNull long[] casSessionHandle) {
+ public boolean requestCasSession(@NonNull CasSessionRequest request,
+ @NonNull int[] casSessionHandle) {
boolean result = false;
try {
result = mService.requestCasSession(request, casSessionHandle);
@@ -610,7 +610,7 @@
*
* @return true if there is ciCam granted.
*/
- public boolean requestCiCam(TunerCiCamRequest request, long[] ciCamHandle) {
+ public boolean requestCiCam(TunerCiCamRequest request, int[] ciCamHandle) {
boolean result = false;
try {
result = mService.requestCiCam(request, ciCamHandle);
@@ -635,7 +635,7 @@
* <li>If no Lnb system can be granted, the API would return false.
* <ul>
*
- * <p><strong>Note:</strong> {@link #setLnbInfoList(long[])} must be called before this request.
+ * <p><strong>Note:</strong> {@link #setLnbInfoList(int[])} must be called before this request.
*
* @param request {@link TunerLnbRequest} information of the current request.
* @param lnbHandle a one-element array to return the granted Lnb handle.
@@ -643,7 +643,7 @@
*
* @return true if there is Lnb granted.
*/
- public boolean requestLnb(@NonNull TunerLnbRequest request, @NonNull long[] lnbHandle) {
+ public boolean requestLnb(@NonNull TunerLnbRequest request, @NonNull int[] lnbHandle) {
boolean result = false;
try {
result = mService.requestLnb(request, lnbHandle);
@@ -664,7 +664,7 @@
* @param frontendHandle the handle of the released frontend.
* @param clientId the id of the client that is releasing the frontend.
*/
- public void releaseFrontend(long frontendHandle, int clientId) {
+ public void releaseFrontend(int frontendHandle, int clientId) {
try {
mService.releaseFrontend(frontendHandle, clientId);
} catch (RemoteException e) {
@@ -680,7 +680,7 @@
* @param demuxHandle the handle of the released Tuner Demux.
* @param clientId the id of the client that is releasing the demux.
*/
- public void releaseDemux(long demuxHandle, int clientId) {
+ public void releaseDemux(int demuxHandle, int clientId) {
try {
mService.releaseDemux(demuxHandle, clientId);
} catch (RemoteException e) {
@@ -696,7 +696,7 @@
* @param descramblerHandle the handle of the released Tuner Descrambler.
* @param clientId the id of the client that is releasing the descrambler.
*/
- public void releaseDescrambler(long descramblerHandle, int clientId) {
+ public void releaseDescrambler(int descramblerHandle, int clientId) {
try {
mService.releaseDescrambler(descramblerHandle, clientId);
} catch (RemoteException e) {
@@ -715,7 +715,7 @@
* @param casSessionHandle the handle of the released CAS session.
* @param clientId the id of the client that is releasing the cas session.
*/
- public void releaseCasSession(long casSessionHandle, int clientId) {
+ public void releaseCasSession(int casSessionHandle, int clientId) {
try {
mService.releaseCasSession(casSessionHandle, clientId);
} catch (RemoteException e) {
@@ -734,7 +734,7 @@
* @param ciCamHandle the handle of the releasing CiCam.
* @param clientId the id of the client that is releasing the CiCam.
*/
- public void releaseCiCam(long ciCamHandle, int clientId) {
+ public void releaseCiCam(int ciCamHandle, int clientId) {
try {
mService.releaseCiCam(ciCamHandle, clientId);
} catch (RemoteException e) {
@@ -747,12 +747,12 @@
*
* <p>Client must call this whenever it releases an Lnb.
*
- * <p><strong>Note:</strong> {@link #setLnbInfoList(long[])} must be called before this release.
+ * <p><strong>Note:</strong> {@link #setLnbInfoList(int[])} must be called before this release.
*
* @param lnbHandle the handle of the released Tuner Lnb.
* @param clientId the id of the client that is releasing the lnb.
*/
- public void releaseLnb(long lnbHandle, int clientId) {
+ public void releaseLnb(int lnbHandle, int clientId) {
try {
mService.releaseLnb(lnbHandle, clientId);
} catch (RemoteException e) {
diff --git a/media/java/android/media/tv/tunerresourcemanager/aidl/android/media/tv/tunerresourcemanager/ITunerResourceManager.aidl b/media/java/android/media/tv/tunerresourcemanager/aidl/android/media/tv/tunerresourcemanager/ITunerResourceManager.aidl
index 109c791..5399697 100644
--- a/media/java/android/media/tv/tunerresourcemanager/aidl/android/media/tv/tunerresourcemanager/ITunerResourceManager.aidl
+++ b/media/java/android/media/tv/tunerresourcemanager/aidl/android/media/tv/tunerresourcemanager/ITunerResourceManager.aidl
@@ -149,7 +149,7 @@
*
* @param lnbIds ids of the updating lnbs.
*/
- void setLnbInfoList(in long[] lnbIds);
+ void setLnbInfoList(in int[] lnbIds);
/*
* This API is used by the Tuner framework to request a frontend from the TunerHAL.
@@ -185,7 +185,7 @@
*
* @return true if there is frontend granted.
*/
- boolean requestFrontend(in TunerFrontendRequest request, out long[] frontendHandle);
+ boolean requestFrontend(in TunerFrontendRequest request, out int[] frontendHandle);
/*
* Sets the maximum usable frontends number of a given frontend type. It is used to enable or
@@ -253,7 +253,7 @@
*
* @return true if there is demux granted.
*/
- boolean requestDemux(in TunerDemuxRequest request, out long[] demuxHandle);
+ boolean requestDemux(in TunerDemuxRequest request, out int[] demuxHandle);
/*
* This API is used by the Tuner framework to request an available descrambler from the
@@ -277,7 +277,7 @@
*
* @return true if there is Descrambler granted.
*/
- boolean requestDescrambler(in TunerDescramblerRequest request, out long[] descramblerHandle);
+ boolean requestDescrambler(in TunerDescramblerRequest request, out int[] descramblerHandle);
/*
* This API is used by the Tuner framework to request an available Cas session. This session
@@ -303,7 +303,7 @@
*
* @return true if there is CAS session granted.
*/
- boolean requestCasSession(in CasSessionRequest request, out long[] casSessionHandle);
+ boolean requestCasSession(in CasSessionRequest request, out int[] casSessionHandle);
/*
* This API is used by the Tuner framework to request an available CuCam.
@@ -328,7 +328,7 @@
*
* @return true if there is CiCam granted.
*/
- boolean requestCiCam(in TunerCiCamRequest request, out long[] ciCamHandle);
+ boolean requestCiCam(in TunerCiCamRequest request, out int[] ciCamHandle);
/*
* This API is used by the Tuner framework to request an available Lnb from the TunerHAL.
@@ -352,7 +352,7 @@
*
* @return true if there is Lnb granted.
*/
- boolean requestLnb(in TunerLnbRequest request, out long[] lnbHandle);
+ boolean requestLnb(in TunerLnbRequest request, out int[] lnbHandle);
/*
* Notifies the TRM that the given frontend has been released.
@@ -365,7 +365,7 @@
* @param frontendHandle the handle of the released frontend.
* @param clientId the id of the client that is releasing the frontend.
*/
- void releaseFrontend(in long frontendHandle, int clientId);
+ void releaseFrontend(in int frontendHandle, int clientId);
/*
* Notifies the TRM that the Demux with the given handle was released.
@@ -375,7 +375,7 @@
* @param demuxHandle the handle of the released Tuner Demux.
* @param clientId the id of the client that is releasing the demux.
*/
- void releaseDemux(in long demuxHandle, int clientId);
+ void releaseDemux(in int demuxHandle, int clientId);
/*
* Notifies the TRM that the Descrambler with the given handle was released.
@@ -385,7 +385,7 @@
* @param descramblerHandle the handle of the released Tuner Descrambler.
* @param clientId the id of the client that is releasing the descrambler.
*/
- void releaseDescrambler(in long descramblerHandle, int clientId);
+ void releaseDescrambler(in int descramblerHandle, int clientId);
/*
* Notifies the TRM that the given Cas session has been released.
@@ -397,7 +397,7 @@
* @param casSessionHandle the handle of the released CAS session.
* @param clientId the id of the client that is releasing the cas session.
*/
- void releaseCasSession(in long casSessionHandle, int clientId);
+ void releaseCasSession(in int casSessionHandle, int clientId);
/**
* Notifies the TRM that the given CiCam has been released.
@@ -410,7 +410,7 @@
* @param ciCamHandle the handle of the releasing CiCam.
* @param clientId the id of the client that is releasing the CiCam.
*/
- void releaseCiCam(in long ciCamHandle, int clientId);
+ void releaseCiCam(in int ciCamHandle, int clientId);
/*
* Notifies the TRM that the Lnb with the given handle was released.
@@ -422,7 +422,7 @@
* @param lnbHandle the handle of the released Tuner Lnb.
* @param clientId the id of the client that is releasing the lnb.
*/
- void releaseLnb(in long lnbHandle, int clientId);
+ void releaseLnb(in int lnbHandle, int clientId);
/*
* Compare two clients' priority.
diff --git a/media/java/android/media/tv/tunerresourcemanager/aidl/android/media/tv/tunerresourcemanager/TunerDemuxInfo.aidl b/media/java/android/media/tv/tunerresourcemanager/aidl/android/media/tv/tunerresourcemanager/TunerDemuxInfo.aidl
index 7984c38..c14caf5 100644
--- a/media/java/android/media/tv/tunerresourcemanager/aidl/android/media/tv/tunerresourcemanager/TunerDemuxInfo.aidl
+++ b/media/java/android/media/tv/tunerresourcemanager/aidl/android/media/tv/tunerresourcemanager/TunerDemuxInfo.aidl
@@ -26,7 +26,7 @@
/**
* Demux handle
*/
- long handle;
+ int handle;
/**
* Supported filter types (defined in {@link android.media.tv.tuner.filter.Filter})
diff --git a/media/java/android/media/tv/tunerresourcemanager/aidl/android/media/tv/tunerresourcemanager/TunerFrontendInfo.aidl b/media/java/android/media/tv/tunerresourcemanager/aidl/android/media/tv/tunerresourcemanager/TunerFrontendInfo.aidl
index 274367e..8981ce0 100644
--- a/media/java/android/media/tv/tunerresourcemanager/aidl/android/media/tv/tunerresourcemanager/TunerFrontendInfo.aidl
+++ b/media/java/android/media/tv/tunerresourcemanager/aidl/android/media/tv/tunerresourcemanager/TunerFrontendInfo.aidl
@@ -26,7 +26,7 @@
/**
* Frontend Handle
*/
- long handle;
+ int handle;
/**
* Frontend Type
diff --git a/media/jni/android_media_tv_Tuner.cpp b/media/jni/android_media_tv_Tuner.cpp
index 5eb2485..00b0e57 100644
--- a/media/jni/android_media_tv_Tuner.cpp
+++ b/media/jni/android_media_tv_Tuner.cpp
@@ -1448,7 +1448,7 @@
return obj;
}
-jobject JTuner::openFrontendByHandle(jlong feHandle) {
+jobject JTuner::openFrontendByHandle(int feHandle) {
// TODO: Handle reopening frontend with different handle
sp<FrontendClient> feClient = sTunerClient->openFrontend(feHandle);
if (feClient == nullptr) {
@@ -1824,7 +1824,7 @@
return valObj;
}
-jobject JTuner::openLnbByHandle(jlong handle) {
+jobject JTuner::openLnbByHandle(int handle) {
if (sTunerClient == nullptr) {
return nullptr;
}
@@ -1833,7 +1833,7 @@
sp<LnbClientCallbackImpl> callback = new LnbClientCallbackImpl();
lnbClient = sTunerClient->openLnb(handle);
if (lnbClient == nullptr) {
- ALOGD("Failed to open lnb, handle = %ld", handle);
+ ALOGD("Failed to open lnb, handle = %d", handle);
return nullptr;
}
@@ -1947,7 +1947,7 @@
return (int)result;
}
-Result JTuner::openDemux(jlong handle) {
+Result JTuner::openDemux(int handle) {
if (sTunerClient == nullptr) {
return Result::NOT_INITIALIZED;
}
@@ -2215,7 +2215,7 @@
numBytesInSectionFilter, filterCaps, filterCapsList, linkCaps, bTimeFilter);
}
-jobject JTuner::getDemuxInfo(jlong handle) {
+jobject JTuner::getDemuxInfo(int handle) {
if (sTunerClient == nullptr) {
ALOGE("tuner is not initialized");
return nullptr;
@@ -3768,8 +3768,8 @@
return tuner->getFrontendIds();
}
-static jobject android_media_tv_Tuner_open_frontend_by_handle(JNIEnv *env, jobject thiz,
- jlong handle) {
+static jobject android_media_tv_Tuner_open_frontend_by_handle(
+ JNIEnv *env, jobject thiz, jint handle) {
sp<JTuner> tuner = getTuner(env, thiz);
return tuner->openFrontendByHandle(handle);
}
@@ -3901,7 +3901,7 @@
return tuner->getFrontendInfo(id);
}
-static jobject android_media_tv_Tuner_open_lnb_by_handle(JNIEnv *env, jobject thiz, jlong handle) {
+static jobject android_media_tv_Tuner_open_lnb_by_handle(JNIEnv *env, jobject thiz, jint handle) {
sp<JTuner> tuner = getTuner(env, thiz);
return tuner->openLnbByHandle(handle);
}
@@ -4622,7 +4622,7 @@
return (int)r;
}
-static jobject android_media_tv_Tuner_open_descrambler(JNIEnv *env, jobject thiz, jlong) {
+static jobject android_media_tv_Tuner_open_descrambler(JNIEnv *env, jobject thiz, jint) {
sp<JTuner> tuner = getTuner(env, thiz);
return tuner->openDescrambler();
}
@@ -4690,12 +4690,12 @@
return tuner->getDemuxCaps();
}
-static jobject android_media_tv_Tuner_get_demux_info(JNIEnv *env, jobject thiz, jlong handle) {
+static jobject android_media_tv_Tuner_get_demux_info(JNIEnv* env, jobject thiz, jint handle) {
sp<JTuner> tuner = getTuner(env, thiz);
return tuner->getDemuxInfo(handle);
}
-static jint android_media_tv_Tuner_open_demux(JNIEnv *env, jobject thiz, jlong handle) {
+static jint android_media_tv_Tuner_open_demux(JNIEnv* env, jobject thiz, jint handle) {
sp<JTuner> tuner = getTuner(env, thiz);
return (jint)tuner->openDemux(handle);
}
@@ -4706,7 +4706,7 @@
return (jint)tuner->close();
}
-static jint android_media_tv_Tuner_close_demux(JNIEnv *env, jobject thiz, jlong /* handle */) {
+static jint android_media_tv_Tuner_close_demux(JNIEnv* env, jobject thiz, jint /* handle */) {
sp<JTuner> tuner = getTuner(env, thiz);
return tuner->closeDemux();
}
@@ -4766,7 +4766,7 @@
return tuner->getFrontendStatusReadiness(types);
}
-static jint android_media_tv_Tuner_close_frontend(JNIEnv *env, jobject thiz, jlong /* handle */) {
+static jint android_media_tv_Tuner_close_frontend(JNIEnv* env, jobject thiz, jint /* handle */) {
sp<JTuner> tuner = getTuner(env, thiz);
return tuner->closeFrontend();
}
@@ -5035,7 +5035,7 @@
{ "nativeGetTunerVersion", "()I", (void *)android_media_tv_Tuner_native_get_tuner_version },
{ "nativeGetFrontendIds", "()Ljava/util/List;",
(void *)android_media_tv_Tuner_get_frontend_ids },
- { "nativeOpenFrontendByHandle", "(J)Landroid/media/tv/tuner/Tuner$Frontend;",
+ { "nativeOpenFrontendByHandle", "(I)Landroid/media/tv/tuner/Tuner$Frontend;",
(void *)android_media_tv_Tuner_open_frontend_by_handle },
{ "nativeShareFrontend", "(I)I",
(void *)android_media_tv_Tuner_share_frontend },
@@ -5074,11 +5074,11 @@
(void *)android_media_tv_Tuner_open_filter },
{ "nativeOpenTimeFilter", "()Landroid/media/tv/tuner/filter/TimeFilter;",
(void *)android_media_tv_Tuner_open_time_filter },
- { "nativeOpenLnbByHandle", "(J)Landroid/media/tv/tuner/Lnb;",
+ { "nativeOpenLnbByHandle", "(I)Landroid/media/tv/tuner/Lnb;",
(void *)android_media_tv_Tuner_open_lnb_by_handle },
{ "nativeOpenLnbByName", "(Ljava/lang/String;)Landroid/media/tv/tuner/Lnb;",
(void *)android_media_tv_Tuner_open_lnb_by_name },
- { "nativeOpenDescramblerByHandle", "(J)Landroid/media/tv/tuner/Descrambler;",
+ { "nativeOpenDescramblerByHandle", "(I)Landroid/media/tv/tuner/Descrambler;",
(void *)android_media_tv_Tuner_open_descrambler },
{ "nativeOpenDvrRecorder", "(J)Landroid/media/tv/tuner/dvr/DvrRecorder;",
(void *)android_media_tv_Tuner_open_dvr_recorder },
@@ -5086,12 +5086,12 @@
(void *)android_media_tv_Tuner_open_dvr_playback },
{ "nativeGetDemuxCapabilities", "()Landroid/media/tv/tuner/DemuxCapabilities;",
(void *)android_media_tv_Tuner_get_demux_caps },
- { "nativeGetDemuxInfo", "(J)Landroid/media/tv/tuner/DemuxInfo;",
+ { "nativeGetDemuxInfo", "(I)Landroid/media/tv/tuner/DemuxInfo;",
(void *)android_media_tv_Tuner_get_demux_info },
- { "nativeOpenDemuxByhandle", "(J)I", (void *)android_media_tv_Tuner_open_demux },
+ { "nativeOpenDemuxByhandle", "(I)I", (void *)android_media_tv_Tuner_open_demux },
{ "nativeClose", "()I", (void *)android_media_tv_Tuner_close_tuner },
- { "nativeCloseFrontend", "(J)I", (void *)android_media_tv_Tuner_close_frontend },
- { "nativeCloseDemux", "(J)I", (void *)android_media_tv_Tuner_close_demux },
+ { "nativeCloseFrontend", "(I)I", (void *)android_media_tv_Tuner_close_frontend },
+ { "nativeCloseDemux", "(I)I", (void *)android_media_tv_Tuner_close_demux },
{ "nativeOpenSharedFilter",
"(Ljava/lang/String;)Landroid/media/tv/tuner/filter/SharedFilter;",
(void *)android_media_tv_Tuner_open_shared_filter},
diff --git a/media/jni/android_media_tv_Tuner.h b/media/jni/android_media_tv_Tuner.h
index 7af2cd7..3de3ab9 100644
--- a/media/jni/android_media_tv_Tuner.h
+++ b/media/jni/android_media_tv_Tuner.h
@@ -206,7 +206,7 @@
int disconnectCiCam();
int unlinkCiCam(jint id);
jobject getFrontendIds();
- jobject openFrontendByHandle(jlong feHandle);
+ jobject openFrontendByHandle(int feHandle);
int shareFrontend(int feId);
int unshareFrontend();
void registerFeCbListener(JTuner* jtuner);
@@ -221,16 +221,16 @@
int setLnb(sp<LnbClient> lnbClient);
bool isLnaSupported();
int setLna(bool enable);
- jobject openLnbByHandle(jlong handle);
+ jobject openLnbByHandle(int handle);
jobject openLnbByName(jstring name);
jobject openFilter(DemuxFilterType type, int bufferSize);
jobject openTimeFilter();
jobject openDescrambler();
jobject openDvr(DvrType type, jlong bufferSize);
jobject getDemuxCaps();
- jobject getDemuxInfo(jlong handle);
+ jobject getDemuxInfo(int handle);
jobject getFrontendStatus(jintArray types);
- Result openDemux(jlong handle);
+ Result openDemux(int handle);
jint close();
jint closeFrontend();
jint closeDemux();
diff --git a/media/jni/tuner/TunerClient.cpp b/media/jni/tuner/TunerClient.cpp
index 0097710..ea623d9 100644
--- a/media/jni/tuner/TunerClient.cpp
+++ b/media/jni/tuner/TunerClient.cpp
@@ -56,7 +56,7 @@
return ids;
}
-sp<FrontendClient> TunerClient::openFrontend(int64_t frontendHandle) {
+sp<FrontendClient> TunerClient::openFrontend(int32_t frontendHandle) {
if (mTunerService != nullptr) {
shared_ptr<ITunerFrontend> tunerFrontend;
Status s = mTunerService->openFrontend(frontendHandle, &tunerFrontend);
@@ -94,7 +94,7 @@
return nullptr;
}
-sp<DemuxClient> TunerClient::openDemux(int64_t demuxHandle) {
+sp<DemuxClient> TunerClient::openDemux(int32_t demuxHandle) {
if (mTunerService != nullptr) {
shared_ptr<ITunerDemux> tunerDemux;
Status s = mTunerService->openDemux(demuxHandle, &tunerDemux);
@@ -107,7 +107,7 @@
return nullptr;
}
-shared_ptr<DemuxInfo> TunerClient::getDemuxInfo(int64_t demuxHandle) {
+shared_ptr<DemuxInfo> TunerClient::getDemuxInfo(int32_t demuxHandle) {
if (mTunerService != nullptr) {
DemuxInfo aidlDemuxInfo;
Status s = mTunerService->getDemuxInfo(demuxHandle, &aidlDemuxInfo);
@@ -141,7 +141,7 @@
return nullptr;
}
-sp<DescramblerClient> TunerClient::openDescrambler(int64_t descramblerHandle) {
+sp<DescramblerClient> TunerClient::openDescrambler(int32_t descramblerHandle) {
if (mTunerService != nullptr) {
shared_ptr<ITunerDescrambler> tunerDescrambler;
Status s = mTunerService->openDescrambler(descramblerHandle, &tunerDescrambler);
@@ -154,7 +154,7 @@
return nullptr;
}
-sp<LnbClient> TunerClient::openLnb(int64_t lnbHandle) {
+sp<LnbClient> TunerClient::openLnb(int32_t lnbHandle) {
if (mTunerService != nullptr) {
shared_ptr<ITunerLnb> tunerLnb;
Status s = mTunerService->openLnb(lnbHandle, &tunerLnb);
diff --git a/media/jni/tuner/TunerClient.h b/media/jni/tuner/TunerClient.h
index a348586..6ab120b 100644
--- a/media/jni/tuner/TunerClient.h
+++ b/media/jni/tuner/TunerClient.h
@@ -65,7 +65,7 @@
* @param frontendHandle the handle of the frontend granted by TRM.
* @return a newly created FrontendClient interface.
*/
- sp<FrontendClient> openFrontend(int64_t frontendHandle);
+ sp<FrontendClient> openFrontend(int32_t frontendHandle);
/**
* Retrieve the granted frontend's information.
@@ -81,7 +81,7 @@
* @param demuxHandle the handle of the demux granted by TRM.
* @return a newly created DemuxClient interface.
*/
- sp<DemuxClient> openDemux(int64_t demuxHandle);
+ sp<DemuxClient> openDemux(int32_t demuxHandle);
/**
* Retrieve the DemuxInfo of a specific demux
@@ -89,7 +89,7 @@
* @param demuxHandle the handle of the demux to query demux info for
* @return the demux info
*/
- shared_ptr<DemuxInfo> getDemuxInfo(int64_t demuxHandle);
+ shared_ptr<DemuxInfo> getDemuxInfo(int32_t demuxHandle);
/**
* Retrieve a list of demux info
@@ -111,7 +111,7 @@
* @param descramblerHandle the handle of the descrambler granted by TRM.
* @return a newly created DescramblerClient interface.
*/
- sp<DescramblerClient> openDescrambler(int64_t descramblerHandle);
+ sp<DescramblerClient> openDescrambler(int32_t descramblerHandle);
/**
* Open a new interface of LnbClient given an lnbHandle.
@@ -119,7 +119,7 @@
* @param lnbHandle the handle of the LNB granted by TRM.
* @return a newly created LnbClient interface.
*/
- sp<LnbClient> openLnb(int64_t lnbHandle);
+ sp<LnbClient> openLnb(int32_t lnbHandle);
/**
* Open a new interface of LnbClient given a LNB name.
diff --git a/services/core/java/com/android/server/tv/tunerresourcemanager/ClientProfile.java b/services/core/java/com/android/server/tv/tunerresourcemanager/ClientProfile.java
index 0962319..8e37527 100644
--- a/services/core/java/com/android/server/tv/tunerresourcemanager/ClientProfile.java
+++ b/services/core/java/com/android/server/tv/tunerresourcemanager/ClientProfile.java
@@ -67,19 +67,19 @@
/**
* The handle of the primary frontend resource
*/
- private long mPrimaryUsingFrontendHandle = TunerResourceManager.INVALID_RESOURCE_HANDLE;
+ private int mPrimaryUsingFrontendHandle = TunerResourceManager.INVALID_RESOURCE_HANDLE;
/**
* List of the frontend handles that are used by the current client.
*/
- private Set<Long> mUsingFrontendHandles = new HashSet<>();
+ private Set<Integer> mUsingFrontendHandles = new HashSet<>();
/**
* List of the client ids that share frontend with the current client.
*/
private Set<Integer> mShareFeClientIds = new HashSet<>();
- private Set<Long> mUsingDemuxHandles = new HashSet<>();
+ private Set<Integer> mUsingDemuxHandles = new HashSet<>();
/**
* Client id sharee that has shared frontend with the current client.
@@ -89,7 +89,7 @@
/**
* List of the Lnb handles that are used by the current client.
*/
- private Set<Long> mUsingLnbHandles = new HashSet<>();
+ private Set<Integer> mUsingLnbHandles = new HashSet<>();
/**
* List of the Cas system ids that are used by the current client.
@@ -184,7 +184,7 @@
*
* @param frontendHandle being used.
*/
- public void useFrontend(long frontendHandle) {
+ public void useFrontend(int frontendHandle) {
mUsingFrontendHandles.add(frontendHandle);
}
@@ -193,14 +193,14 @@
*
* @param frontendHandle being used.
*/
- public void setPrimaryFrontend(long frontendHandle) {
+ public void setPrimaryFrontend(int frontendHandle) {
mPrimaryUsingFrontendHandle = frontendHandle;
}
/**
* Get the primary frontend used by the client
*/
- public long getPrimaryFrontend() {
+ public int getPrimaryFrontend() {
return mPrimaryUsingFrontendHandle;
}
@@ -222,7 +222,7 @@
mShareFeClientIds.remove(clientId);
}
- public Set<Long> getInUseFrontendHandles() {
+ public Set<Integer> getInUseFrontendHandles() {
return mUsingFrontendHandles;
}
@@ -253,14 +253,14 @@
*
* @param demuxHandle the demux being used.
*/
- public void useDemux(long demuxHandle) {
+ public void useDemux(int demuxHandle) {
mUsingDemuxHandles.add(demuxHandle);
}
/**
* Get the set of demux handles in use.
*/
- public Set<Long> getInUseDemuxHandles() {
+ public Set<Integer> getInUseDemuxHandles() {
return mUsingDemuxHandles;
}
@@ -269,7 +269,7 @@
*
* @param demuxHandle the demux handl being released.
*/
- public void releaseDemux(long demuxHandle) {
+ public void releaseDemux(int demuxHandle) {
mUsingDemuxHandles.remove(demuxHandle);
}
@@ -278,11 +278,11 @@
*
* @param lnbHandle being used.
*/
- public void useLnb(long lnbHandle) {
+ public void useLnb(int lnbHandle) {
mUsingLnbHandles.add(lnbHandle);
}
- public Set<Long> getInUseLnbHandles() {
+ public Set<Integer> getInUseLnbHandles() {
return mUsingLnbHandles;
}
@@ -291,7 +291,7 @@
*
* @param lnbHandle being released.
*/
- public void releaseLnb(long lnbHandle) {
+ public void releaseLnb(int lnbHandle) {
mUsingLnbHandles.remove(lnbHandle);
}
diff --git a/services/core/java/com/android/server/tv/tunerresourcemanager/DemuxResource.java b/services/core/java/com/android/server/tv/tunerresourcemanager/DemuxResource.java
index 14bc216..df73565 100644
--- a/services/core/java/com/android/server/tv/tunerresourcemanager/DemuxResource.java
+++ b/services/core/java/com/android/server/tv/tunerresourcemanager/DemuxResource.java
@@ -69,7 +69,7 @@
public static class Builder extends TunerResourceBasic.Builder {
private int mFilterTypes;
- Builder(long handle) {
+ Builder(int handle) {
super(handle);
}
diff --git a/services/core/java/com/android/server/tv/tunerresourcemanager/FrontendResource.java b/services/core/java/com/android/server/tv/tunerresourcemanager/FrontendResource.java
index 953d974..7ef75e3 100644
--- a/services/core/java/com/android/server/tv/tunerresourcemanager/FrontendResource.java
+++ b/services/core/java/com/android/server/tv/tunerresourcemanager/FrontendResource.java
@@ -42,7 +42,7 @@
/**
* An array to save all the FE handles under the same exclisive group.
*/
- private Set<Long> mExclusiveGroupMemberHandles = new HashSet<>();
+ private Set<Integer> mExclusiveGroupMemberHandles = new HashSet<>();
private FrontendResource(Builder builder) {
super(builder);
@@ -58,7 +58,7 @@
return mExclusiveGroupId;
}
- public Set<Long> getExclusiveGroupMemberFeHandles() {
+ public Set<Integer> getExclusiveGroupMemberFeHandles() {
return mExclusiveGroupMemberHandles;
}
@@ -67,7 +67,7 @@
*
* @param handle the handle to be added.
*/
- public void addExclusiveGroupMemberFeHandle(long handle) {
+ public void addExclusiveGroupMemberFeHandle(int handle) {
mExclusiveGroupMemberHandles.add(handle);
}
@@ -76,7 +76,7 @@
*
* @param handles the handle collection to be added.
*/
- public void addExclusiveGroupMemberFeHandles(Collection<Long> handles) {
+ public void addExclusiveGroupMemberFeHandles(Collection<Integer> handles) {
mExclusiveGroupMemberHandles.addAll(handles);
}
@@ -85,7 +85,7 @@
*
* @param id the id to be removed.
*/
- public void removeExclusiveGroupMemberFeId(long handle) {
+ public void removeExclusiveGroupMemberFeId(int handle) {
mExclusiveGroupMemberHandles.remove(handle);
}
@@ -104,7 +104,7 @@
@Type private int mType;
private int mExclusiveGroupId;
- Builder(long handle) {
+ Builder(int handle) {
super(handle);
}
diff --git a/services/core/java/com/android/server/tv/tunerresourcemanager/LnbResource.java b/services/core/java/com/android/server/tv/tunerresourcemanager/LnbResource.java
index ab28371..41cacea 100644
--- a/services/core/java/com/android/server/tv/tunerresourcemanager/LnbResource.java
+++ b/services/core/java/com/android/server/tv/tunerresourcemanager/LnbResource.java
@@ -37,7 +37,8 @@
* Builder class for {@link LnbResource}.
*/
public static class Builder extends TunerResourceBasic.Builder {
- Builder(long handle) {
+
+ Builder(int handle) {
super(handle);
}
diff --git a/services/core/java/com/android/server/tv/tunerresourcemanager/TunerResourceBasic.java b/services/core/java/com/android/server/tv/tunerresourcemanager/TunerResourceBasic.java
index d2ff8fa..07853fc 100644
--- a/services/core/java/com/android/server/tv/tunerresourcemanager/TunerResourceBasic.java
+++ b/services/core/java/com/android/server/tv/tunerresourcemanager/TunerResourceBasic.java
@@ -28,7 +28,7 @@
* Handle of the current resource. Should not be changed and should be aligned with the driver
* level implementation.
*/
- final long mHandle;
+ final int mHandle;
/**
* If the current resource is in use.
@@ -44,7 +44,7 @@
this.mHandle = builder.mHandle;
}
- public long getHandle() {
+ public int getHandle() {
return mHandle;
}
@@ -78,9 +78,9 @@
* Builder class for {@link TunerResourceBasic}.
*/
public static class Builder {
- private final long mHandle;
+ private final int mHandle;
- Builder(long handle) {
+ Builder(int handle) {
this.mHandle = handle;
}
diff --git a/services/core/java/com/android/server/tv/tunerresourcemanager/TunerResourceManagerService.java b/services/core/java/com/android/server/tv/tunerresourcemanager/TunerResourceManagerService.java
index 45a40ed..0afb049 100644
--- a/services/core/java/com/android/server/tv/tunerresourcemanager/TunerResourceManagerService.java
+++ b/services/core/java/com/android/server/tv/tunerresourcemanager/TunerResourceManagerService.java
@@ -78,18 +78,12 @@
private static final int INVALID_FE_COUNT = -1;
- private static final int RESOURCE_ID_SHIFT = 24;
- private static final int RESOURCE_TYPE_SHIFT = 56;
- private static final long RESOURCE_COUNT_MASK = 0xffffff;
- private static final long RESOURCE_ID_MASK = 0xffffffff;
- private static final long RESOURCE_TYPE_MASK = 0xff;
-
// Map of the registered client profiles
private Map<Integer, ClientProfile> mClientProfiles = new HashMap<>();
private int mNextUnusedClientId = 0;
// Map of the current available frontend resources
- private Map<Long, FrontendResource> mFrontendResources = new HashMap<>();
+ private Map<Integer, FrontendResource> mFrontendResources = new HashMap<>();
// SparseIntArray of the max usable number for each frontend resource type
private SparseIntArray mFrontendMaxUsableNums = new SparseIntArray();
// SparseIntArray of the currently used number for each frontend resource type
@@ -99,15 +93,15 @@
// Backups for the frontend resource maps for enabling testing with custom resource maps
// such as TunerTest.testHasUnusedFrontend1()
- private Map<Long, FrontendResource> mFrontendResourcesBackup = new HashMap<>();
+ private Map<Integer, FrontendResource> mFrontendResourcesBackup = new HashMap<>();
private SparseIntArray mFrontendMaxUsableNumsBackup = new SparseIntArray();
private SparseIntArray mFrontendUsedNumsBackup = new SparseIntArray();
private SparseIntArray mFrontendExistingNumsBackup = new SparseIntArray();
// Map of the current available demux resources
- private Map<Long, DemuxResource> mDemuxResources = new HashMap<>();
+ private Map<Integer, DemuxResource> mDemuxResources = new HashMap<>();
// Map of the current available lnb resources
- private Map<Long, LnbResource> mLnbResources = new HashMap<>();
+ private Map<Integer, LnbResource> mLnbResources = new HashMap<>();
// Map of the current available Cas resources
private Map<Integer, CasResource> mCasResources = new HashMap<>();
// Map of the current available CiCam resources
@@ -278,7 +272,7 @@
}
@Override
- public void setLnbInfoList(long[] lnbHandles) throws RemoteException {
+ public void setLnbInfoList(int[] lnbHandles) throws RemoteException {
enforceTrmAccessPermission("setLnbInfoList");
if (lnbHandles == null) {
throw new RemoteException("Lnb handle list can't be null");
@@ -289,8 +283,8 @@
}
@Override
- public boolean requestFrontend(
- @NonNull TunerFrontendRequest request, @NonNull long[] frontendHandle) {
+ public boolean requestFrontend(@NonNull TunerFrontendRequest request,
+ @NonNull int[] frontendHandle) {
enforceTunerAccessPermission("requestFrontend");
enforceTrmAccessPermission("requestFrontend");
if (frontendHandle == null) {
@@ -375,8 +369,8 @@
}
@Override
- public boolean requestDemux(@NonNull TunerDemuxRequest request, @NonNull long[] demuxHandle)
- throws RemoteException {
+ public boolean requestDemux(@NonNull TunerDemuxRequest request,
+ @NonNull int[] demuxHandle) throws RemoteException {
enforceTunerAccessPermission("requestDemux");
enforceTrmAccessPermission("requestDemux");
if (demuxHandle == null) {
@@ -393,7 +387,7 @@
@Override
public boolean requestDescrambler(@NonNull TunerDescramblerRequest request,
- @NonNull long[] descramblerHandle) throws RemoteException {
+ @NonNull int[] descramblerHandle) throws RemoteException {
enforceDescramblerAccessPermission("requestDescrambler");
enforceTrmAccessPermission("requestDescrambler");
if (descramblerHandle == null) {
@@ -410,7 +404,7 @@
@Override
public boolean requestCasSession(@NonNull CasSessionRequest request,
- @NonNull long[] casSessionHandle) throws RemoteException {
+ @NonNull int[] casSessionHandle) throws RemoteException {
enforceTrmAccessPermission("requestCasSession");
if (casSessionHandle == null) {
throw new RemoteException("casSessionHandle can't be null");
@@ -425,8 +419,8 @@
}
@Override
- public boolean requestCiCam(@NonNull TunerCiCamRequest request, @NonNull long[] ciCamHandle)
- throws RemoteException {
+ public boolean requestCiCam(@NonNull TunerCiCamRequest request,
+ @NonNull int[] ciCamHandle) throws RemoteException {
enforceTrmAccessPermission("requestCiCam");
if (ciCamHandle == null) {
throw new RemoteException("ciCamHandle can't be null");
@@ -441,7 +435,7 @@
}
@Override
- public boolean requestLnb(@NonNull TunerLnbRequest request, @NonNull long[] lnbHandle)
+ public boolean requestLnb(@NonNull TunerLnbRequest request, @NonNull int[] lnbHandle)
throws RemoteException {
enforceTunerAccessPermission("requestLnb");
enforceTrmAccessPermission("requestLnb");
@@ -458,7 +452,7 @@
}
@Override
- public void releaseFrontend(long frontendHandle, int clientId) throws RemoteException {
+ public void releaseFrontend(int frontendHandle, int clientId) throws RemoteException {
enforceTunerAccessPermission("releaseFrontend");
enforceTrmAccessPermission("releaseFrontend");
if (!validateResourceHandle(TunerResourceManager.TUNER_RESOURCE_TYPE_FRONTEND,
@@ -487,7 +481,7 @@
}
@Override
- public void releaseDemux(long demuxHandle, int clientId) throws RemoteException {
+ public void releaseDemux(int demuxHandle, int clientId) throws RemoteException {
enforceTunerAccessPermission("releaseDemux");
enforceTrmAccessPermission("releaseDemux");
if (DEBUG) {
@@ -518,7 +512,7 @@
}
@Override
- public void releaseDescrambler(long descramblerHandle, int clientId) {
+ public void releaseDescrambler(int descramblerHandle, int clientId) {
enforceTunerAccessPermission("releaseDescrambler");
enforceTrmAccessPermission("releaseDescrambler");
if (DEBUG) {
@@ -527,7 +521,7 @@
}
@Override
- public void releaseCasSession(long casSessionHandle, int clientId) throws RemoteException {
+ public void releaseCasSession(int casSessionHandle, int clientId) throws RemoteException {
enforceTrmAccessPermission("releaseCasSession");
if (!validateResourceHandle(
TunerResourceManager.TUNER_RESOURCE_TYPE_CAS_SESSION, casSessionHandle)) {
@@ -551,7 +545,7 @@
}
@Override
- public void releaseCiCam(long ciCamHandle, int clientId) throws RemoteException {
+ public void releaseCiCam(int ciCamHandle, int clientId) throws RemoteException {
enforceTrmAccessPermission("releaseCiCam");
if (!validateResourceHandle(
TunerResourceManager.TUNER_RESOURCE_TYPE_FRONTEND_CICAM, ciCamHandle)) {
@@ -579,7 +573,7 @@
}
@Override
- public void releaseLnb(long lnbHandle, int clientId) throws RemoteException {
+ public void releaseLnb(int lnbHandle, int clientId) throws RemoteException {
enforceTunerAccessPermission("releaseLnb");
enforceTrmAccessPermission("releaseLnb");
if (!validateResourceHandle(TunerResourceManager.TUNER_RESOURCE_TYPE_LNB, lnbHandle)) {
@@ -877,7 +871,7 @@
// A set to record the frontends pending on updating. Ids will be removed
// from this set once its updating finished. Any frontend left in this set when all
// the updates are done will be removed from mFrontendResources.
- Set<Long> updatingFrontendHandles = new HashSet<>(getFrontendResources().keySet());
+ Set<Integer> updatingFrontendHandles = new HashSet<>(getFrontendResources().keySet());
// Update frontendResources map and other mappings accordingly
for (int i = 0; i < infos.length; i++) {
@@ -896,7 +890,7 @@
}
}
- for (long removingHandle : updatingFrontendHandles) {
+ for (int removingHandle : updatingFrontendHandles) {
// update the exclusive group id member list
removeFrontendResource(removingHandle);
}
@@ -914,7 +908,7 @@
// A set to record the demuxes pending on updating. Ids will be removed
// from this set once its updating finished. Any demux left in this set when all
// the updates are done will be removed from mDemuxResources.
- Set<Long> updatingDemuxHandles = new HashSet<>(getDemuxResources().keySet());
+ Set<Integer> updatingDemuxHandles = new HashSet<>(getDemuxResources().keySet());
// Update demuxResources map and other mappings accordingly
for (int i = 0; i < infos.length; i++) {
@@ -932,13 +926,13 @@
}
}
- for (long removingHandle : updatingDemuxHandles) {
+ for (int removingHandle : updatingDemuxHandles) {
// update the exclusive group id member list
removeDemuxResource(removingHandle);
}
}
@VisibleForTesting
- protected void setLnbInfoListInternal(long[] lnbHandles) {
+ protected void setLnbInfoListInternal(int[] lnbHandles) {
if (DEBUG) {
for (int i = 0; i < lnbHandles.length; i++) {
Slog.d(TAG, "updateLnbInfo(lnbHanle=" + lnbHandles[i] + ")");
@@ -948,7 +942,7 @@
// A set to record the Lnbs pending on updating. Handles will be removed
// from this set once its updating finished. Any lnb left in this set when all
// the updates are done will be removed from mLnbResources.
- Set<Long> updatingLnbHandles = new HashSet<>(getLnbResources().keySet());
+ Set<Integer> updatingLnbHandles = new HashSet<>(getLnbResources().keySet());
// Update lnbResources map and other mappings accordingly
for (int i = 0; i < lnbHandles.length; i++) {
@@ -964,7 +958,7 @@
}
}
- for (long removingHandle : updatingLnbHandles) {
+ for (int removingHandle : updatingLnbHandles) {
removeLnbResource(removingHandle);
}
}
@@ -1009,7 +1003,7 @@
}
@VisibleForTesting
- protected boolean requestFrontendInternal(TunerFrontendRequest request, long[] frontendHandle) {
+ protected boolean requestFrontendInternal(TunerFrontendRequest request, int[] frontendHandle) {
if (DEBUG) {
Slog.d(TAG, "requestFrontend(request=" + request + ")");
}
@@ -1021,8 +1015,8 @@
return false;
}
clientPriorityUpdateOnRequest(requestClient);
- long grantingFrontendHandle = TunerResourceManager.INVALID_RESOURCE_HANDLE;
- long inUseLowestPriorityFrHandle = TunerResourceManager.INVALID_RESOURCE_HANDLE;
+ int grantingFrontendHandle = TunerResourceManager.INVALID_RESOURCE_HANDLE;
+ int inUseLowestPriorityFrHandle = TunerResourceManager.INVALID_RESOURCE_HANDLE;
// Priority max value is 1000
int currentLowestPriority = MAX_CLIENT_PRIORITY + 1;
boolean isRequestFromSameProcess = false;
@@ -1056,7 +1050,7 @@
// we need to check the max used num if the target frontend type is not
// currently in primary use (and simply blocked due to exclusive group)
ClientProfile targetOwnerProfile = getClientProfile(fr.getOwnerClientId());
- long primaryFeId = targetOwnerProfile.getPrimaryFrontend();
+ int primaryFeId = targetOwnerProfile.getPrimaryFrontend();
FrontendResource primaryFe = getFrontendResource(primaryFeId);
if (fr.getType() != primaryFe.getType()
&& isFrontendMaxNumUseReached(fr.getType())) {
@@ -1108,7 +1102,7 @@
getClientProfile(shareeFeClientId).stopSharingFrontend(selfClientId);
getClientProfile(selfClientId).releaseFrontend();
}
- for (long feId : getClientProfile(targetClientId).getInUseFrontendHandles()) {
+ for (int feId : getClientProfile(targetClientId).getInUseFrontendHandles()) {
getClientProfile(selfClientId).useFrontend(feId);
}
getClientProfile(selfClientId).setShareeFeClientId(targetClientId);
@@ -1123,14 +1117,14 @@
currentOwnerProfile.stopSharingFrontend(newOwnerId);
newOwnerProfile.setShareeFeClientId(ClientProfile.INVALID_RESOURCE_ID);
currentOwnerProfile.setShareeFeClientId(newOwnerId);
- for (long inUseHandle : newOwnerProfile.getInUseFrontendHandles()) {
+ for (int inUseHandle : newOwnerProfile.getInUseFrontendHandles()) {
getFrontendResource(inUseHandle).setOwner(newOwnerId);
}
// change the primary frontend
newOwnerProfile.setPrimaryFrontend(currentOwnerProfile.getPrimaryFrontend());
currentOwnerProfile.setPrimaryFrontend(TunerResourceManager.INVALID_RESOURCE_HANDLE);
// double check there is no other resources tied to the previous owner
- for (long inUseHandle : currentOwnerProfile.getInUseFrontendHandles()) {
+ for (int inUseHandle : currentOwnerProfile.getInUseFrontendHandles()) {
int ownerId = getFrontendResource(inUseHandle).getOwnerClientId();
if (ownerId != newOwnerId) {
Slog.e(TAG, "something is wrong in transferFeOwner:" + inUseHandle
@@ -1162,8 +1156,8 @@
ClientProfile currentOwnerProfile = getClientProfile(currentOwnerId);
ClientProfile newOwnerProfile = getClientProfile(newOwnerId);
- Set<Long> inUseLnbHandles = new HashSet<>();
- for (Long lnbHandle : currentOwnerProfile.getInUseLnbHandles()) {
+ Set<Integer> inUseLnbHandles = new HashSet<>();
+ for (Integer lnbHandle : currentOwnerProfile.getInUseLnbHandles()) {
// link lnb handle to the new profile
newOwnerProfile.useLnb(lnbHandle);
@@ -1175,7 +1169,7 @@
}
// unlink lnb handles from the original owner
- for (Long lnbHandle : inUseLnbHandles) {
+ for (Integer lnbHandle : inUseLnbHandles) {
currentOwnerProfile.releaseLnb(lnbHandle);
}
@@ -1198,7 +1192,7 @@
}
@VisibleForTesting
- protected boolean requestLnbInternal(TunerLnbRequest request, long[] lnbHandle) {
+ protected boolean requestLnbInternal(TunerLnbRequest request, int[] lnbHandle) {
if (DEBUG) {
Slog.d(TAG, "requestLnb(request=" + request + ")");
}
@@ -1206,8 +1200,8 @@
lnbHandle[0] = TunerResourceManager.INVALID_RESOURCE_HANDLE;
ClientProfile requestClient = getClientProfile(request.clientId);
clientPriorityUpdateOnRequest(requestClient);
- long grantingLnbHandle = TunerResourceManager.INVALID_RESOURCE_HANDLE;
- long inUseLowestPriorityLnbHandle = TunerResourceManager.INVALID_RESOURCE_HANDLE;
+ int grantingLnbHandle = TunerResourceManager.INVALID_RESOURCE_HANDLE;
+ int inUseLowestPriorityLnbHandle = TunerResourceManager.INVALID_RESOURCE_HANDLE;
// Priority max value is 1000
int currentLowestPriority = MAX_CLIENT_PRIORITY + 1;
boolean isRequestFromSameProcess = false;
@@ -1254,8 +1248,7 @@
}
@VisibleForTesting
- protected boolean requestCasSessionInternal(
- CasSessionRequest request, long[] casSessionHandle) {
+ protected boolean requestCasSessionInternal(CasSessionRequest request, int[] casSessionHandle) {
if (DEBUG) {
Slog.d(TAG, "requestCasSession(request=" + request + ")");
}
@@ -1308,7 +1301,7 @@
}
@VisibleForTesting
- protected boolean requestCiCamInternal(TunerCiCamRequest request, long[] ciCamHandle) {
+ protected boolean requestCiCamInternal(TunerCiCamRequest request, int[] ciCamHandle) {
if (DEBUG) {
Slog.d(TAG, "requestCiCamInternal(TunerCiCamRequest=" + request + ")");
}
@@ -1331,7 +1324,6 @@
ciCamHandle[0] = generateResourceHandle(
TunerResourceManager.TUNER_RESOURCE_TYPE_FRONTEND_CICAM, ciCam.getCiCamId());
updateCiCamClientMappingOnNewGrant(request.ciCamId, request.clientId);
- Slog.e(TAG, "requestCiCamInternal(ciCamHandle=" + ciCamHandle[0] + ")");
return true;
}
for (int ownerId : ciCam.getOwnerClientIds()) {
@@ -1357,7 +1349,6 @@
ciCamHandle[0] = generateResourceHandle(
TunerResourceManager.TUNER_RESOURCE_TYPE_FRONTEND_CICAM, ciCam.getCiCamId());
updateCiCamClientMappingOnNewGrant(request.ciCamId, request.clientId);
- Slog.e(TAG, "requestCiCamInternal(ciCamHandle=" + ciCamHandle[0] + ")");
return true;
}
return false;
@@ -1441,7 +1432,7 @@
}
@VisibleForTesting
- protected boolean requestDemuxInternal(TunerDemuxRequest request, long[] demuxHandle) {
+ protected boolean requestDemuxInternal(TunerDemuxRequest request, int[] demuxHandle) {
if (DEBUG) {
Slog.d(TAG, "requestDemux(request=" + request + ")");
}
@@ -1464,8 +1455,8 @@
}
clientPriorityUpdateOnRequest(requestClient);
- long grantingDemuxHandle = TunerResourceManager.INVALID_RESOURCE_HANDLE;
- long inUseLowestPriorityDrHandle = TunerResourceManager.INVALID_RESOURCE_HANDLE;
+ int grantingDemuxHandle = TunerResourceManager.INVALID_RESOURCE_HANDLE;
+ int inUseLowestPriorityDrHandle = TunerResourceManager.INVALID_RESOURCE_HANDLE;
// Priority max value is 1000
int currentLowestPriority = MAX_CLIENT_PRIORITY + 1;
boolean isRequestFromSameProcess = false;
@@ -1559,7 +1550,7 @@
@VisibleForTesting
protected boolean requestDescramblerInternal(
- TunerDescramblerRequest request, long[] descramblerHandle) {
+ TunerDescramblerRequest request, int[] descramblerHandle) {
if (DEBUG) {
Slog.d(TAG, "requestDescrambler(request=" + request + ")");
}
@@ -1878,20 +1869,20 @@
return false;
}
- private void updateFrontendClientMappingOnNewGrant(long grantingHandle, int ownerClientId) {
+ private void updateFrontendClientMappingOnNewGrant(int grantingHandle, int ownerClientId) {
FrontendResource grantingFrontend = getFrontendResource(grantingHandle);
ClientProfile ownerProfile = getClientProfile(ownerClientId);
grantingFrontend.setOwner(ownerClientId);
increFrontendNum(mFrontendUsedNums, grantingFrontend.getType());
ownerProfile.useFrontend(grantingHandle);
- for (long exclusiveGroupMember : grantingFrontend.getExclusiveGroupMemberFeHandles()) {
+ for (int exclusiveGroupMember : grantingFrontend.getExclusiveGroupMemberFeHandles()) {
getFrontendResource(exclusiveGroupMember).setOwner(ownerClientId);
ownerProfile.useFrontend(exclusiveGroupMember);
}
ownerProfile.setPrimaryFrontend(grantingHandle);
}
- private void updateDemuxClientMappingOnNewGrant(long grantingHandle, int ownerClientId) {
+ private void updateDemuxClientMappingOnNewGrant(int grantingHandle, int ownerClientId) {
DemuxResource grantingDemux = getDemuxResource(grantingHandle);
if (grantingDemux != null) {
ClientProfile ownerProfile = getClientProfile(ownerClientId);
@@ -1906,7 +1897,7 @@
ownerProfile.releaseDemux(releasingDemux.getHandle());
}
- private void updateLnbClientMappingOnNewGrant(long grantingHandle, int ownerClientId) {
+ private void updateLnbClientMappingOnNewGrant(int grantingHandle, int ownerClientId) {
LnbResource grantingLnb = getLnbResource(grantingHandle);
ClientProfile ownerProfile = getClientProfile(ownerClientId);
grantingLnb.setOwner(ownerClientId);
@@ -1990,23 +1981,23 @@
@VisibleForTesting
@Nullable
- protected FrontendResource getFrontendResource(long frontendHandle) {
+ protected FrontendResource getFrontendResource(int frontendHandle) {
return mFrontendResources.get(frontendHandle);
}
@VisibleForTesting
- protected Map<Long, FrontendResource> getFrontendResources() {
+ protected Map<Integer, FrontendResource> getFrontendResources() {
return mFrontendResources;
}
@VisibleForTesting
@Nullable
- protected DemuxResource getDemuxResource(long demuxHandle) {
+ protected DemuxResource getDemuxResource(int demuxHandle) {
return mDemuxResources.get(demuxHandle);
}
@VisibleForTesting
- protected Map<Long, DemuxResource> getDemuxResources() {
+ protected Map<Integer, DemuxResource> getDemuxResources() {
return mDemuxResources;
}
@@ -2065,8 +2056,8 @@
}
}
- private void replaceFeResourceMap(
- Map<Long, FrontendResource> srcMap, Map<Long, FrontendResource> dstMap) {
+ private void replaceFeResourceMap(Map<Integer, FrontendResource> srcMap, Map<Integer,
+ FrontendResource> dstMap) {
if (dstMap != null) {
dstMap.clear();
if (srcMap != null && srcMap.size() > 0) {
@@ -2119,7 +2110,7 @@
if (fe.getExclusiveGroupId() == newFe.getExclusiveGroupId()) {
newFe.addExclusiveGroupMemberFeHandle(fe.getHandle());
newFe.addExclusiveGroupMemberFeHandles(fe.getExclusiveGroupMemberFeHandles());
- for (long excGroupmemberFeHandle : fe.getExclusiveGroupMemberFeHandles()) {
+ for (int excGroupmemberFeHandle : fe.getExclusiveGroupMemberFeHandles()) {
getFrontendResource(excGroupmemberFeHandle)
.addExclusiveGroupMemberFeHandle(newFe.getHandle());
}
@@ -2137,7 +2128,7 @@
mDemuxResources.put(newDemux.getHandle(), newDemux);
}
- private void removeFrontendResource(long removingHandle) {
+ private void removeFrontendResource(int removingHandle) {
FrontendResource fe = getFrontendResource(removingHandle);
if (fe == null) {
return;
@@ -2149,7 +2140,7 @@
}
clearFrontendAndClientMapping(ownerClient);
}
- for (long excGroupmemberFeHandle : fe.getExclusiveGroupMemberFeHandles()) {
+ for (int excGroupmemberFeHandle : fe.getExclusiveGroupMemberFeHandles()) {
getFrontendResource(excGroupmemberFeHandle)
.removeExclusiveGroupMemberFeId(fe.getHandle());
}
@@ -2157,7 +2148,7 @@
mFrontendResources.remove(removingHandle);
}
- private void removeDemuxResource(long removingHandle) {
+ private void removeDemuxResource(int removingHandle) {
DemuxResource demux = getDemuxResource(removingHandle);
if (demux == null) {
return;
@@ -2170,12 +2161,12 @@
@VisibleForTesting
@Nullable
- protected LnbResource getLnbResource(long lnbHandle) {
+ protected LnbResource getLnbResource(int lnbHandle) {
return mLnbResources.get(lnbHandle);
}
@VisibleForTesting
- protected Map<Long, LnbResource> getLnbResources() {
+ protected Map<Integer, LnbResource> getLnbResources() {
return mLnbResources;
}
@@ -2184,7 +2175,7 @@
mLnbResources.put(newLnb.getHandle(), newLnb);
}
- private void removeLnbResource(long removingHandle) {
+ private void removeLnbResource(int removingHandle) {
LnbResource lnb = getLnbResource(removingHandle);
if (lnb == null) {
return;
@@ -2288,7 +2279,7 @@
if (profile == null) {
return;
}
- for (Long feId : profile.getInUseFrontendHandles()) {
+ for (Integer feId : profile.getInUseFrontendHandles()) {
FrontendResource fe = getFrontendResource(feId);
int ownerClientId = fe.getOwnerClientId();
if (ownerClientId == profile.getId()) {
@@ -2299,9 +2290,10 @@
if (ownerClientProfile != null) {
ownerClientProfile.stopSharingFrontend(profile.getId());
}
+
}
- long primaryFeId = profile.getPrimaryFrontend();
+ int primaryFeId = profile.getPrimaryFrontend();
if (primaryFeId != TunerResourceManager.INVALID_RESOURCE_HANDLE) {
FrontendResource primaryFe = getFrontendResource(primaryFeId);
if (primaryFe != null) {
@@ -2318,7 +2310,7 @@
return;
}
// Clear Lnb
- for (Long lnbHandle : profile.getInUseLnbHandles()) {
+ for (Integer lnbHandle : profile.getInUseLnbHandles()) {
getLnbResource(lnbHandle).removeOwner();
}
// Clear Cas
@@ -2330,7 +2322,7 @@
getCiCamResource(profile.getInUseCiCamId()).removeOwner(profile.getId());
}
// Clear Demux
- for (Long demuxHandle : profile.getInUseDemuxHandles()) {
+ for (Integer demuxHandle : profile.getInUseDemuxHandles()) {
getDemuxResource(demuxHandle).removeOwner();
}
// Clear Frontend
@@ -2343,31 +2335,24 @@
return mClientProfiles.keySet().contains(clientId);
}
- /**
- * Generate resource handle for resourceType and resourceId
- * Resource Handle Allotment : 64 bits (long)
- * 8 bits - resourceType
- * 32 bits - resourceId
- * 24 bits - resourceRequestCount
- */
- private long generateResourceHandle(
+ private int generateResourceHandle(
@TunerResourceManager.TunerResourceType int resourceType, int resourceId) {
- return (resourceType & RESOURCE_TYPE_MASK) << RESOURCE_TYPE_SHIFT
- | (resourceId & RESOURCE_ID_MASK) << RESOURCE_ID_SHIFT
- | (mResourceRequestCount++ & RESOURCE_COUNT_MASK);
+ return (resourceType & 0x000000ff) << 24
+ | (resourceId << 16)
+ | (mResourceRequestCount++ & 0xffff);
}
@VisibleForTesting
- protected int getResourceIdFromHandle(long resourceHandle) {
+ protected int getResourceIdFromHandle(int resourceHandle) {
if (resourceHandle == TunerResourceManager.INVALID_RESOURCE_HANDLE) {
- return (int) resourceHandle;
+ return resourceHandle;
}
- return (int) ((resourceHandle >> RESOURCE_ID_SHIFT) & RESOURCE_ID_MASK);
+ return (resourceHandle & 0x00ff0000) >> 16;
}
- private boolean validateResourceHandle(int resourceType, long resourceHandle) {
+ private boolean validateResourceHandle(int resourceType, int resourceHandle) {
if (resourceHandle == TunerResourceManager.INVALID_RESOURCE_HANDLE
- || ((resourceHandle >> RESOURCE_TYPE_SHIFT) & RESOURCE_TYPE_MASK) != resourceType) {
+ || ((resourceHandle & 0xff000000) >> 24) != resourceType) {
return false;
}
return true;
diff --git a/services/tests/servicestests/src/com/android/server/tv/tunerresourcemanager/TunerResourceManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/tv/tunerresourcemanager/TunerResourceManagerServiceTest.java
index 8e36335..963b27e 100644
--- a/services/tests/servicestests/src/com/android/server/tv/tunerresourcemanager/TunerResourceManagerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/tv/tunerresourcemanager/TunerResourceManagerServiceTest.java
@@ -119,7 +119,8 @@
tunerFrontendInfo(1 /*handle*/, FrontendSettings.TYPE_DVBT, 1 /*exclusiveGroupId*/);
mTunerResourceManagerService.setFrontendInfoListInternal(infos);
- Map<Long, FrontendResource> resources = mTunerResourceManagerService.getFrontendResources();
+ Map<Integer, FrontendResource> resources =
+ mTunerResourceManagerService.getFrontendResources();
for (int id = 0; id < infos.length; id++) {
assertThat(resources.get(infos[id].handle)
.getExclusiveGroupMemberFeHandles().size()).isEqualTo(0);
@@ -146,14 +147,15 @@
tunerFrontendInfo(3 /*handle*/, FrontendSettings.TYPE_ATSC, 1 /*exclusiveGroupId*/);
mTunerResourceManagerService.setFrontendInfoListInternal(infos);
- Map<Long, FrontendResource> resources = mTunerResourceManagerService.getFrontendResources();
+ Map<Integer, FrontendResource> resources =
+ mTunerResourceManagerService.getFrontendResources();
assertThat(resources.values()).comparingElementsUsing(FR_TFI_COMPARE)
.containsExactlyElementsIn(Arrays.asList(infos));
- assertThat(resources.get(0L).getExclusiveGroupMemberFeHandles()).isEmpty();
- assertThat(resources.get(1L).getExclusiveGroupMemberFeHandles()).containsExactly(2L, 3L);
- assertThat(resources.get(2L).getExclusiveGroupMemberFeHandles()).containsExactly(1L, 3L);
- assertThat(resources.get(3L).getExclusiveGroupMemberFeHandles()).containsExactly(1L, 2L);
+ assertThat(resources.get(0).getExclusiveGroupMemberFeHandles()).isEmpty();
+ assertThat(resources.get(1).getExclusiveGroupMemberFeHandles()).containsExactly(2, 3);
+ assertThat(resources.get(2).getExclusiveGroupMemberFeHandles()).containsExactly(1, 3);
+ assertThat(resources.get(3).getExclusiveGroupMemberFeHandles()).containsExactly(1, 2);
}
@Test
@@ -166,11 +168,11 @@
tunerFrontendInfo(1 /*handle*/, FrontendSettings.TYPE_DVBS, 1 /*exclusiveGroupId*/);
mTunerResourceManagerService.setFrontendInfoListInternal(infos);
- Map<Long, FrontendResource> resources0 =
+ Map<Integer, FrontendResource> resources0 =
mTunerResourceManagerService.getFrontendResources();
mTunerResourceManagerService.setFrontendInfoListInternal(infos);
- Map<Long, FrontendResource> resources1 =
+ Map<Integer, FrontendResource> resources1 =
mTunerResourceManagerService.getFrontendResources();
assertThat(resources0).isEqualTo(resources1);
@@ -193,7 +195,8 @@
tunerFrontendInfo(1 /*handle*/, FrontendSettings.TYPE_DVBT, 1 /*exclusiveGroupId*/);
mTunerResourceManagerService.setFrontendInfoListInternal(infos1);
- Map<Long, FrontendResource> resources = mTunerResourceManagerService.getFrontendResources();
+ Map<Integer, FrontendResource> resources =
+ mTunerResourceManagerService.getFrontendResources();
for (int id = 0; id < infos1.length; id++) {
assertThat(resources.get(infos1[id].handle)
.getExclusiveGroupMemberFeHandles().size()).isEqualTo(0);
@@ -219,7 +222,8 @@
tunerFrontendInfo(1 /*handle*/, FrontendSettings.TYPE_DVBT, 1 /*exclusiveGroupId*/);
mTunerResourceManagerService.setFrontendInfoListInternal(infos1);
- Map<Long, FrontendResource> resources = mTunerResourceManagerService.getFrontendResources();
+ Map<Integer, FrontendResource> resources =
+ mTunerResourceManagerService.getFrontendResources();
for (int id = 0; id < infos1.length; id++) {
assertThat(resources.get(infos1[id].handle)
.getExclusiveGroupMemberFeHandles().size()).isEqualTo(0);
@@ -236,7 +240,7 @@
mTunerResourceManagerService.setFrontendInfoListInternal(infos0);
TunerFrontendRequest request =
tunerFrontendRequest(0 /*clientId*/, FrontendSettings.TYPE_DVBT);
- long[] frontendHandle = new long[1];
+ int[] frontendHandle = new int[1];
assertThat(mTunerResourceManagerService
.requestFrontendInternal(request, frontendHandle)).isFalse();
assertThat(frontendHandle[0]).isEqualTo(TunerResourceManager.INVALID_RESOURCE_HANDLE);
@@ -259,7 +263,7 @@
TunerFrontendRequest request =
tunerFrontendRequest(clientId[0] /*clientId*/, FrontendSettings.TYPE_DVBT);
- long[] frontendHandle = new long[1];
+ int[] frontendHandle = new int[1];
assertThat(mTunerResourceManagerService
.requestFrontendInternal(request, frontendHandle)).isFalse();
assertThat(frontendHandle[0]).isEqualTo(TunerResourceManager.INVALID_RESOURCE_HANDLE);
@@ -292,7 +296,7 @@
TunerFrontendRequest request =
tunerFrontendRequest(clientId[0] /*clientId*/, FrontendSettings.TYPE_DVBT);
- long[] frontendHandle = new long[1];
+ int[] frontendHandle = new int[1];
assertThat(mTunerResourceManagerService
.requestFrontendInternal(request, frontendHandle)).isTrue();
assertThat(frontendHandle[0]).isEqualTo(0);
@@ -329,7 +333,7 @@
1 /*exclusiveGroupId*/);
mTunerResourceManagerService.setFrontendInfoListInternal(infos);
- long[] frontendHandle = new long[1];
+ int[] frontendHandle = new int[1];
TunerFrontendRequest request =
tunerFrontendRequest(clientId1[0] /*clientId*/, FrontendSettings.TYPE_DVBT);
assertThat(mTunerResourceManagerService
@@ -381,7 +385,7 @@
TunerFrontendRequest request =
tunerFrontendRequest(clientId0[0] /*clientId*/, FrontendSettings.TYPE_DVBT);
- long[] frontendHandle = new long[1];
+ int[] frontendHandle = new int[1];
assertThat(mTunerResourceManagerService
.requestFrontendInternal(request, frontendHandle)).isTrue();
@@ -431,13 +435,13 @@
TunerFrontendRequest request =
tunerFrontendRequest(clientId0[0] /*clientId*/, FrontendSettings.TYPE_DVBT);
- long[] frontendHandle = new long[1];
+ int[] frontendHandle = new int[1];
assertThat(mTunerResourceManagerService
.requestFrontendInternal(request, frontendHandle)).isTrue();
assertThat(frontendHandle[0]).isEqualTo(infos[0].handle);
assertThat(mTunerResourceManagerService.getClientProfile(clientId0[0])
- .getInUseFrontendHandles())
- .isEqualTo(new HashSet<Long>(Arrays.asList(infos[0].handle, infos[1].handle)));
+ .getInUseFrontendHandles()).isEqualTo(new HashSet<Integer>(Arrays.asList(
+ infos[0].handle, infos[1].handle)));
request =
tunerFrontendRequest(clientId1[0] /*clientId*/, FrontendSettings.TYPE_DVBS);
@@ -476,7 +480,7 @@
TunerFrontendRequest request =
tunerFrontendRequest(clientId[0] /*clientId*/, FrontendSettings.TYPE_DVBT);
- long[] frontendHandle = new long[1];
+ int[] frontendHandle = new int[1];
assertThat(mTunerResourceManagerService
.requestFrontendInternal(request, frontendHandle)).isTrue();
assertThat(frontendHandle[0]).isEqualTo(infos[0].handle);
@@ -521,7 +525,7 @@
mTunerResourceManagerService.updateCasInfoInternal(1 /*casSystemId*/, 2 /*maxSessionNum*/);
CasSessionRequest request = casSessionRequest(clientId0[0], 1 /*casSystemId*/);
- long[] casSessionHandle = new long[1];
+ int[] casSessionHandle = new int[1];
// Request for 2 cas sessions.
assertThat(mTunerResourceManagerService
.requestCasSessionInternal(request, casSessionHandle)).isTrue();
@@ -577,7 +581,7 @@
mTunerResourceManagerService.updateCasInfoInternal(1 /*casSystemId*/, 2 /*maxSessionNum*/);
TunerCiCamRequest request = tunerCiCamRequest(clientId0[0], 1 /*ciCamId*/);
- long[] ciCamHandle = new long[1];
+ int[] ciCamHandle = new int[1];
// Request for 2 ciCam sessions.
assertThat(mTunerResourceManagerService
.requestCiCamInternal(request, ciCamHandle)).isTrue();
@@ -621,7 +625,7 @@
mTunerResourceManagerService.updateCasInfoInternal(1 /*casSystemId*/, 2 /*maxSessionNum*/);
CasSessionRequest request = casSessionRequest(clientId[0], 1 /*casSystemId*/);
- long[] casSessionHandle = new long[1];
+ int[] casSessionHandle = new int[1];
// Request for 1 cas sessions.
assertThat(mTunerResourceManagerService
.requestCasSessionInternal(request, casSessionHandle)).isTrue();
@@ -658,7 +662,7 @@
mTunerResourceManagerService.updateCasInfoInternal(1 /*casSystemId*/, 2 /*maxSessionNum*/);
TunerCiCamRequest request = tunerCiCamRequest(clientId[0], 1 /*ciCamId*/);
- long[] ciCamHandle = new long[1];
+ int[] ciCamHandle = new int[1];
// Request for 1 ciCam sessions.
assertThat(mTunerResourceManagerService
.requestCiCamInternal(request, ciCamHandle)).isTrue();
@@ -704,17 +708,17 @@
clientId1[0], clientPriorities[1], 0/*niceValue*/);
// Init lnb resources.
- long[] lnbHandles = {1};
+ int[] lnbHandles = {1};
mTunerResourceManagerService.setLnbInfoListInternal(lnbHandles);
TunerLnbRequest request = new TunerLnbRequest();
request.clientId = clientId0[0];
- long[] lnbHandle = new long[1];
+ int[] lnbHandle = new int[1];
assertThat(mTunerResourceManagerService
.requestLnbInternal(request, lnbHandle)).isTrue();
assertThat(lnbHandle[0]).isEqualTo(lnbHandles[0]);
assertThat(mTunerResourceManagerService.getClientProfile(clientId0[0]).getInUseLnbHandles())
- .isEqualTo(new HashSet<Long>(Arrays.asList(lnbHandles[0])));
+ .isEqualTo(new HashSet<Integer>(Arrays.asList(lnbHandles[0])));
request = new TunerLnbRequest();
request.clientId = clientId1[0];
@@ -743,12 +747,12 @@
assertThat(clientId[0]).isNotEqualTo(TunerResourceManagerService.INVALID_CLIENT_ID);
// Init lnb resources.
- long[] lnbHandles = {0};
+ int[] lnbHandles = {0};
mTunerResourceManagerService.setLnbInfoListInternal(lnbHandles);
TunerLnbRequest request = new TunerLnbRequest();
request.clientId = clientId[0];
- long[] lnbHandle = new long[1];
+ int[] lnbHandle = new int[1];
assertThat(mTunerResourceManagerService
.requestLnbInternal(request, lnbHandle)).isTrue();
assertThat(lnbHandle[0]).isEqualTo(lnbHandles[0]);
@@ -782,7 +786,7 @@
TunerFrontendRequest request =
tunerFrontendRequest(clientId[0] /*clientId*/, FrontendSettings.TYPE_DVBT);
- long[] frontendHandle = new long[1];
+ int[] frontendHandle = new int[1];
assertThat(mTunerResourceManagerService
.requestFrontendInternal(request, frontendHandle)).isTrue();
assertThat(frontendHandle[0]).isEqualTo(infos[0].handle);
@@ -819,12 +823,12 @@
infos[2] = tunerDemuxInfo(2 /* handle */, Filter.TYPE_TS);
mTunerResourceManagerService.setDemuxInfoListInternal(infos);
- long[] demuxHandle0 = new long[1];
+ int[] demuxHandle0 = new int[1];
// first with undefined type (should be the first one with least # of caps)
TunerDemuxRequest request = tunerDemuxRequest(clientId0[0], Filter.TYPE_UNDEFINED);
assertThat(mTunerResourceManagerService.requestDemuxInternal(request, demuxHandle0))
.isTrue();
- assertThat(demuxHandle0[0]).isEqualTo(1L);
+ assertThat(demuxHandle0[0]).isEqualTo(1);
DemuxResource dr = mTunerResourceManagerService.getDemuxResource(demuxHandle0[0]);
mTunerResourceManagerService.releaseDemuxInternal(dr);
@@ -833,20 +837,20 @@
demuxHandle0[0] = -1;
assertThat(mTunerResourceManagerService.requestDemuxInternal(request, demuxHandle0))
.isFalse();
- assertThat(demuxHandle0[0]).isEqualTo(-1L);
+ assertThat(demuxHandle0[0]).isEqualTo(-1);
// now with TS (should be the one with least # of caps that supports TS)
request.desiredFilterTypes = Filter.TYPE_TS;
assertThat(mTunerResourceManagerService.requestDemuxInternal(request, demuxHandle0))
.isTrue();
- assertThat(demuxHandle0[0]).isEqualTo(2L);
+ assertThat(demuxHandle0[0]).isEqualTo(2);
// request for another TS
int[] clientId1 = new int[1];
mTunerResourceManagerService.registerClientProfileInternal(
profile1, null /*listener*/, clientId1);
assertThat(clientId1[0]).isNotEqualTo(TunerResourceManagerService.INVALID_CLIENT_ID);
- long[] demuxHandle1 = new long[1];
+ int[] demuxHandle1 = new int[1];
TunerDemuxRequest request1 = tunerDemuxRequest(clientId1[0], Filter.TYPE_TS);
assertThat(mTunerResourceManagerService.requestDemuxInternal(request1, demuxHandle1))
.isTrue();
@@ -895,14 +899,14 @@
// let clientId0(prio:100) request for IP - should succeed
TunerDemuxRequest request0 = tunerDemuxRequest(clientId0[0], Filter.TYPE_IP);
- long[] demuxHandle0 = new long[1];
+ int[] demuxHandle0 = new int[1];
assertThat(mTunerResourceManagerService
.requestDemuxInternal(request0, demuxHandle0)).isTrue();
assertThat(demuxHandle0[0]).isEqualTo(0);
// let clientId1(prio:50) request for IP - should fail
TunerDemuxRequest request1 = tunerDemuxRequest(clientId1[0], Filter.TYPE_IP);
- long[] demuxHandle1 = new long[1];
+ int[] demuxHandle1 = new int[1];
demuxHandle1[0] = -1;
assertThat(mTunerResourceManagerService
.requestDemuxInternal(request1, demuxHandle1)).isFalse();
@@ -922,7 +926,7 @@
// let clientId2(prio:50) request for TS - should succeed
TunerDemuxRequest request2 = tunerDemuxRequest(clientId2[0], Filter.TYPE_TS);
- long[] demuxHandle2 = new long[1];
+ int[] demuxHandle2 = new int[1];
assertThat(mTunerResourceManagerService
.requestDemuxInternal(request2, demuxHandle2)).isTrue();
assertThat(demuxHandle2[0]).isEqualTo(0);
@@ -947,7 +951,7 @@
profile, null /*listener*/, clientId);
assertThat(clientId[0]).isNotEqualTo(TunerResourceManagerService.INVALID_CLIENT_ID);
- long[] desHandle = new long[1];
+ int[] desHandle = new int[1];
TunerDescramblerRequest request = new TunerDescramblerRequest();
request.clientId = clientId[0];
assertThat(mTunerResourceManagerService.requestDescramblerInternal(request, desHandle))
@@ -1057,7 +1061,7 @@
1 /*exclusiveGroupId*/);
/**** Init Lnb Resources ****/
- long[] lnbHandles = {1};
+ int[] lnbHandles = {1};
mTunerResourceManagerService.setLnbInfoListInternal(lnbHandles);
// Update frontend list in TRM
@@ -1066,7 +1070,7 @@
/**** Request Frontend ****/
// Predefined frontend request and array to save returned frontend handle
- long[] frontendHandle = new long[1];
+ int[] frontendHandle = new int[1];
TunerFrontendRequest request = tunerFrontendRequest(
ownerClientId0[0] /*clientId*/,
FrontendSettings.TYPE_DVBT);
@@ -1076,9 +1080,12 @@
.requestFrontendInternal(request, frontendHandle))
.isTrue();
assertThat(frontendHandle[0]).isEqualTo(infos[0].handle);
- assertThat(mTunerResourceManagerService.getClientProfile(ownerClientId0[0])
- .getInUseFrontendHandles())
- .isEqualTo(new HashSet<Long>(Arrays.asList(infos[0].handle, infos[1].handle)));
+ assertThat(mTunerResourceManagerService
+ .getClientProfile(ownerClientId0[0])
+ .getInUseFrontendHandles())
+ .isEqualTo(new HashSet<Integer>(Arrays.asList(
+ infos[0].handle,
+ infos[1].handle)));
/**** Share Frontend ****/
@@ -1106,15 +1113,24 @@
shareClientId0[0],
shareClientId1[0])));
// Verify in use frontend list in all the primary owner and share owner clients
- assertThat(mTunerResourceManagerService.getClientProfile(ownerClientId0[0])
- .getInUseFrontendHandles())
- .isEqualTo(new HashSet<Long>(Arrays.asList(infos[0].handle, infos[1].handle)));
- assertThat(mTunerResourceManagerService.getClientProfile(shareClientId0[0])
- .getInUseFrontendHandles())
- .isEqualTo(new HashSet<Long>(Arrays.asList(infos[0].handle, infos[1].handle)));
- assertThat(mTunerResourceManagerService.getClientProfile(shareClientId1[0])
- .getInUseFrontendHandles())
- .isEqualTo(new HashSet<Long>(Arrays.asList(infos[0].handle, infos[1].handle)));
+ assertThat(mTunerResourceManagerService
+ .getClientProfile(ownerClientId0[0])
+ .getInUseFrontendHandles())
+ .isEqualTo(new HashSet<Integer>(Arrays.asList(
+ infos[0].handle,
+ infos[1].handle)));
+ assertThat(mTunerResourceManagerService
+ .getClientProfile(shareClientId0[0])
+ .getInUseFrontendHandles())
+ .isEqualTo(new HashSet<Integer>(Arrays.asList(
+ infos[0].handle,
+ infos[1].handle)));
+ assertThat(mTunerResourceManagerService
+ .getClientProfile(shareClientId1[0])
+ .getInUseFrontendHandles())
+ .isEqualTo(new HashSet<Integer>(Arrays.asList(
+ infos[0].handle,
+ infos[1].handle)));
/**** Remove Frontend Share Owner ****/
@@ -1126,12 +1142,18 @@
.getShareFeClientIds())
.isEqualTo(new HashSet<Integer>(Arrays.asList(
shareClientId0[0])));
- assertThat(mTunerResourceManagerService.getClientProfile(ownerClientId0[0])
- .getInUseFrontendHandles())
- .isEqualTo(new HashSet<Long>(Arrays.asList(infos[0].handle, infos[1].handle)));
- assertThat(mTunerResourceManagerService.getClientProfile(shareClientId0[0])
- .getInUseFrontendHandles())
- .isEqualTo(new HashSet<Long>(Arrays.asList(infos[0].handle, infos[1].handle)));
+ assertThat(mTunerResourceManagerService
+ .getClientProfile(ownerClientId0[0])
+ .getInUseFrontendHandles())
+ .isEqualTo(new HashSet<Integer>(Arrays.asList(
+ infos[0].handle,
+ infos[1].handle)));
+ assertThat(mTunerResourceManagerService
+ .getClientProfile(shareClientId0[0])
+ .getInUseFrontendHandles())
+ .isEqualTo(new HashSet<Integer>(Arrays.asList(
+ infos[0].handle,
+ infos[1].handle)));
/**** Request Shared Frontend with Higher Priority Client ****/
@@ -1151,9 +1173,12 @@
.getOwnerClientId()).isEqualTo(ownerClientId1[0]);
assertThat(mTunerResourceManagerService.getFrontendResource(infos[1].handle)
.getOwnerClientId()).isEqualTo(ownerClientId1[0]);
- assertThat(mTunerResourceManagerService.getClientProfile(ownerClientId1[0])
- .getInUseFrontendHandles())
- .isEqualTo(new HashSet<Long>(Arrays.asList(infos[0].handle, infos[1].handle)));
+ assertThat(mTunerResourceManagerService
+ .getClientProfile(ownerClientId1[0])
+ .getInUseFrontendHandles())
+ .isEqualTo(new HashSet<Integer>(Arrays.asList(
+ infos[0].handle,
+ infos[1].handle)));
assertThat(mTunerResourceManagerService
.getClientProfile(ownerClientId0[0])
.getInUseFrontendHandles()
@@ -1210,7 +1235,7 @@
// Predefined Lnb request and handle array
TunerLnbRequest requestLnb = new TunerLnbRequest();
requestLnb.clientId = shareClientId0[0];
- long[] lnbHandle = new long[1];
+ int[] lnbHandle = new int[1];
// Request for an Lnb
assertThat(mTunerResourceManagerService
@@ -1239,13 +1264,15 @@
.getInUseFrontendHandles()
.isEmpty())
.isTrue();
- assertThat(mTunerResourceManagerService.getClientProfile(shareClientId0[0])
- .getInUseLnbHandles())
- .isEqualTo(new HashSet<Long>(Arrays.asList(lnbHandles[0])));
+ assertThat(mTunerResourceManagerService
+ .getClientProfile(shareClientId0[0])
+ .getInUseLnbHandles())
+ .isEqualTo(new HashSet<Integer>(Arrays.asList(
+ lnbHandles[0])));
}
private TunerFrontendInfo tunerFrontendInfo(
- long handle, int frontendType, int exclusiveGroupId) {
+ int handle, int frontendType, int exclusiveGroupId) {
TunerFrontendInfo info = new TunerFrontendInfo();
info.handle = handle;
info.type = frontendType;