Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 46c31937 authored by Ray Chin's avatar Ray Chin
Browse files

Fix requestFrontend API

Bug: 254408478
Test: atest android.media.tv.tuner.cts
Change-Id: I8c19cdd28a3d76ceb1bf5885513a02cbe5a2c29d
parent 9ee33956
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);
+8 −12
Original line number Diff line number Diff line
@@ -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;
            }