Merge "Fix requestFrontend API"

This commit is contained in:
Hongguang Chen
2022-11-15 19:35:06 +00:00
committed by Android (Google) Code Review
2 changed files with 9 additions and 13 deletions

View File

@@ -7156,6 +7156,7 @@ package android.media.tv.tuner {
public class Tuner implements java.lang.AutoCloseable {
ctor @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public Tuner(@NonNull android.content.Context, @Nullable String, int);
method public int applyFrontend(@NonNull android.media.tv.tuner.frontend.FrontendInfo);
method public int cancelScanning();
method public int cancelTuning();
method public void clearOnTuneEventListener();
@@ -7186,7 +7187,6 @@ package android.media.tv.tuner {
method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_SHARED_FILTER) public static android.media.tv.tuner.filter.SharedFilter openSharedFilter(@NonNull android.content.Context, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.filter.SharedFilterCallback);
method @Nullable public android.media.tv.tuner.filter.TimeFilter openTimeFilter();
method public int removeOutputPid(@IntRange(from=0) int);
method public int requestFrontendById(int);
method public int scan(@NonNull android.media.tv.tuner.frontend.FrontendSettings, int, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.frontend.ScanCallback);
method public int setLnaEnabled(boolean);
method public int setMaxNumberOfFrontends(int, @IntRange(from=0) int);

View File

@@ -2376,19 +2376,20 @@ public class Tuner implements AutoCloseable {
}
/**
* Request a frontend by frontend id.
* Request a frontend by frontend info.
*
* <p> This API is used if the applications want to select a desired frontend before
* {@link tune} to use a specific satellite or sending SatCR DiSEqC command for {@link tune}.
*
* @param desiredId the desired fronted Id. It can be retrieved by
* @param desiredFrontendInfo the FrontendInfo of the desired fronted. It can be retrieved by
* {@link getAvailableFrontendInfos}
*
* @return result status of open operation.
* @throws SecurityException if the caller does not have appropriate permissions.
*/
@Result
public int requestFrontendById(int desiredId) {
public int applyFrontend(@NonNull FrontendInfo desiredFrontendInfo) {
Objects.requireNonNull(desiredFrontendInfo, "desiredFrontendInfo must not be null");
mFrontendLock.lock();
try {
if (mFeOwnerTuner != null) {
@@ -2399,17 +2400,12 @@ public class Tuner implements AutoCloseable {
Log.e(TAG, "A frontend has been opened before");
return RESULT_INVALID_STATE;
}
FrontendInfo frontendInfo = getFrontendInfoById(desiredId);
if (frontendInfo == null) {
Log.e(TAG, "Failed to get a FrontendInfo by frontend id: " + desiredId);
return RESULT_UNAVAILABLE;
}
int frontendType = frontendInfo.getType();
mFrontendType = desiredFrontendInfo.getType();
mDesiredFrontendId = desiredFrontendInfo.getId();
if (DEBUG) {
Log.d(TAG, "Opening frontend with type " + frontendType + ", id " + desiredId);
Log.d(TAG, "Applying frontend with type " + mFrontendType + ", id "
+ mDesiredFrontendId);
}
mFrontendType = frontendType;
mDesiredFrontendId = desiredId;
if (!checkResource(TunerResourceManager.TUNER_RESOURCE_TYPE_FRONTEND, mFrontendLock)) {
return RESULT_UNAVAILABLE;
}