Fix requestFrontend API
Bug: 254408478 Test: atest android.media.tv.tuner.cts Change-Id: I8c19cdd28a3d76ceb1bf5885513a02cbe5a2c29d
This commit is contained in:
@@ -7115,6 +7115,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();
|
||||
@@ -7145,7 +7146,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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user