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

Commit b333a563 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Tuner API: clean up permission check" into rvc-dev am: 71591b6b

Change-Id: I06aae288e810aeb50096c26691e97d60d3e1ac39
parents 6ee5e23d 71591b6b
Loading
Loading
Loading
Loading
+23 −23
Original line number Diff line number Diff line
@@ -4933,7 +4933,7 @@ package android.media.tv.tuner.dvr {
  }
  public class DvrSettings {
    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public static android.media.tv.tuner.dvr.DvrSettings.Builder builder(@NonNull android.content.Context);
    method @NonNull public static android.media.tv.tuner.dvr.DvrSettings.Builder builder();
    method public int getDataFormat();
    method public long getHighThreshold();
    method public long getLowThreshold();
@@ -4968,7 +4968,7 @@ package android.media.tv.tuner.dvr {
package android.media.tv.tuner.filter {
  public final class AlpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public static android.media.tv.tuner.filter.AlpFilterConfiguration.Builder builder(@NonNull android.content.Context);
    method @NonNull public static android.media.tv.tuner.filter.AlpFilterConfiguration.Builder builder();
    method public int getLengthType();
    method public int getPacketType();
    method public int getType();
@@ -4999,7 +4999,7 @@ package android.media.tv.tuner.filter {
  }
  public class AvSettings extends android.media.tv.tuner.filter.Settings {
    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public static android.media.tv.tuner.filter.AvSettings.Builder builder(@NonNull android.content.Context, int, boolean);
    method @NonNull public static android.media.tv.tuner.filter.AvSettings.Builder builder(int, boolean);
    method public boolean isPassthrough();
  }
@@ -5017,7 +5017,7 @@ package android.media.tv.tuner.filter {
  }
  public class DownloadSettings extends android.media.tv.tuner.filter.Settings {
    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public static android.media.tv.tuner.filter.DownloadSettings.Builder builder(@NonNull android.content.Context, int);
    method @NonNull public static android.media.tv.tuner.filter.DownloadSettings.Builder builder(int);
    method public int getDownloadId();
  }
@@ -5079,7 +5079,7 @@ package android.media.tv.tuner.filter {
  }
  public final class IpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public static android.media.tv.tuner.filter.IpFilterConfiguration.Builder builder(@NonNull android.content.Context);
    method @NonNull public static android.media.tv.tuner.filter.IpFilterConfiguration.Builder builder();
    method @NonNull @Size(min=4, max=16) public byte[] getDstIpAddress();
    method public int getDstPort();
    method @NonNull @Size(min=4, max=16) public byte[] getSrcIpAddress();
@@ -5118,7 +5118,7 @@ package android.media.tv.tuner.filter {
  }
  public final class MmtpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public static android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder builder(@NonNull android.content.Context);
    method @NonNull public static android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder builder();
    method public int getMmtpPacketId();
    method public int getType();
  }
@@ -5141,7 +5141,7 @@ package android.media.tv.tuner.filter {
  }
  public class PesSettings extends android.media.tv.tuner.filter.Settings {
    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public static android.media.tv.tuner.filter.PesSettings.Builder builder(@NonNull android.content.Context, int);
    method @NonNull public static android.media.tv.tuner.filter.PesSettings.Builder builder(int);
    method public int getStreamId();
    method public boolean isRaw();
  }
@@ -5153,7 +5153,7 @@ package android.media.tv.tuner.filter {
  }
  public class RecordSettings extends android.media.tv.tuner.filter.Settings {
    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public static android.media.tv.tuner.filter.RecordSettings.Builder builder(@NonNull android.content.Context, int);
    method @NonNull public static android.media.tv.tuner.filter.RecordSettings.Builder builder(int);
    method public int getScIndexMask();
    method public int getScIndexType();
    method public int getTsIndexMask();
@@ -5214,7 +5214,7 @@ package android.media.tv.tuner.filter {
  }
  public class SectionSettingsWithSectionBits extends android.media.tv.tuner.filter.SectionSettings {
    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public static android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder builder(@NonNull android.content.Context, int);
    method @NonNull public static android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder builder(int);
    method @NonNull public byte[] getFilterBytes();
    method @NonNull public byte[] getMask();
    method @NonNull public byte[] getMode();
@@ -5228,7 +5228,7 @@ package android.media.tv.tuner.filter {
  }
  public class SectionSettingsWithTableInfo extends android.media.tv.tuner.filter.SectionSettings {
    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public static android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder builder(@NonNull android.content.Context, int);
    method @NonNull public static android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder builder(int);
    method public int getTableId();
    method public int getVersion();
  }
@@ -5258,7 +5258,7 @@ package android.media.tv.tuner.filter {
  }
  public final class TlvFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public static android.media.tv.tuner.filter.TlvFilterConfiguration.Builder builder(@NonNull android.content.Context);
    method @NonNull public static android.media.tv.tuner.filter.TlvFilterConfiguration.Builder builder();
    method public int getPacketType();
    method public int getType();
    method public boolean isCompressedIpPacket();
@@ -5279,7 +5279,7 @@ package android.media.tv.tuner.filter {
  }
  public final class TsFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public static android.media.tv.tuner.filter.TsFilterConfiguration.Builder builder(@NonNull android.content.Context);
    method @NonNull public static android.media.tv.tuner.filter.TsFilterConfiguration.Builder builder();
    method public int getTpid();
    method public int getType();
  }
@@ -5307,7 +5307,7 @@ package android.media.tv.tuner.frontend {
  }
  public class AnalogFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public static android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder builder(@NonNull android.content.Context);
    method @NonNull public static android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder builder();
    method public int getSifStandard();
    method public int getSignalType();
    method public int getType();
@@ -5358,7 +5358,7 @@ package android.media.tv.tuner.frontend {
  }
  public class Atsc3FrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public static android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder builder(@NonNull android.content.Context);
    method @NonNull public static android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder builder();
    method public int getBandwidth();
    method public int getDemodOutputFormat();
    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings[] getPlpSettings();
@@ -5421,7 +5421,7 @@ package android.media.tv.tuner.frontend {
  }
  public class Atsc3PlpSettings {
    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public static android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder builder(@NonNull android.content.Context);
    method @NonNull public static android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder builder();
    method public int getCodeRate();
    method public int getFec();
    method public int getInterleaveMode();
@@ -5443,7 +5443,7 @@ package android.media.tv.tuner.frontend {
  }
  public class AtscFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public static android.media.tv.tuner.frontend.AtscFrontendSettings.Builder builder(@NonNull android.content.Context);
    method @NonNull public static android.media.tv.tuner.frontend.AtscFrontendSettings.Builder builder();
    method public int getModulation();
    method public int getType();
    field public static final int MODULATION_AUTO = 1; // 0x1
@@ -5465,7 +5465,7 @@ package android.media.tv.tuner.frontend {
  }
  public class DvbcFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public static android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder builder(@NonNull android.content.Context);
    method @NonNull public static android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder builder();
    method public int getAnnex();
    method public long getInnerFec();
    method public int getModulation();
@@ -5504,7 +5504,7 @@ package android.media.tv.tuner.frontend {
  }
  public class DvbsCodeRate {
    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public static android.media.tv.tuner.frontend.DvbsCodeRate.Builder builder(@NonNull android.content.Context);
    method @NonNull public static android.media.tv.tuner.frontend.DvbsCodeRate.Builder builder();
    method public int getBitsPer1000Symbol();
    method public long getInnerFec();
    method public boolean isLinear();
@@ -5526,7 +5526,7 @@ package android.media.tv.tuner.frontend {
  }
  public class DvbsFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public static android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder builder(@NonNull android.content.Context);
    method @NonNull public static android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder builder();
    method @Nullable public android.media.tv.tuner.frontend.DvbsCodeRate getCodeRate();
    method public int getInputStreamId();
    method public int getModulation();
@@ -5596,7 +5596,7 @@ package android.media.tv.tuner.frontend {
  }
  public class DvbtFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public static android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder builder(@NonNull android.content.Context);
    method @NonNull public static android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder builder();
    method public int getBandwidth();
    method public int getConstellation();
    method public int getGuardInterval();
@@ -5815,7 +5815,7 @@ package android.media.tv.tuner.frontend {
  }
  public class Isdbs3FrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public static android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder builder(@NonNull android.content.Context);
    method @NonNull public static android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder builder();
    method public int getCodeRate();
    method public int getModulation();
    method public int getRolloff();
@@ -5864,7 +5864,7 @@ package android.media.tv.tuner.frontend {
  }
  public class IsdbsFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public static android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder builder(@NonNull android.content.Context);
    method @NonNull public static android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder builder();
    method public int getCodeRate();
    method public int getModulation();
    method public int getRolloff();
@@ -5910,7 +5910,7 @@ package android.media.tv.tuner.frontend {
  }
  public class IsdbtFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public static android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder builder(@NonNull android.content.Context);
    method @NonNull public static android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder builder();
    method public int getBandwidth();
    method public int getCodeRate();
    method public int getGuardInterval();
+0 −2
Original line number Diff line number Diff line
@@ -450,7 +450,6 @@ public class Tuner implements AutoCloseable {
     * @see #setOnTuneEventListener(Executor, OnTuneEventListener)
     */
    public void clearOnTuneEventListener() {
        TunerUtils.checkTunerPermission(mContext);
        mOnTuneEventListener = null;
        mOnTunerEventExecutor = null;

@@ -497,7 +496,6 @@ public class Tuner implements AutoCloseable {
     */
    @Result
    public int cancelTuning() {
        TunerUtils.checkTunerPermission(mContext);
        return nativeStopTune();
    }

+0 −40
Original line number Diff line number Diff line
@@ -17,8 +17,6 @@
package android.media.tv.tuner;

import android.annotation.Nullable;
import android.content.Context;
import android.content.pm.PackageManager;
import android.hardware.tv.tuner.V1_0.Constants;
import android.media.tv.tuner.filter.Filter;

@@ -28,44 +26,6 @@ import android.media.tv.tuner.filter.Filter;
 * @hide
 */
public final class TunerUtils {
    private static final String TUNER_PERMISSION = android.Manifest.permission.ACCESS_TV_TUNER;
    private static final String DESCRAMBLER_PERMISSION =
            android.Manifest.permission.ACCESS_TV_DESCRAMBLER;

    /**
     * Checks whether the caller has permission to access tuner.
     *
     * @param context context of the caller.
     * @throws SecurityException if the caller doesn't have the permission.
     */
    public static void checkTunerPermission(Context context) {
        checkPermission(context, TUNER_PERMISSION);
    }

    /**
     * Checks whether the caller has permission to access the descrambler.
     *
     * @param context context of the caller.
     * @throws SecurityException if the caller doesn't have the permission.
     */
    public static void checkDescramblerPermission(Context context) {
        checkPermission(context, DESCRAMBLER_PERMISSION);
    }

    /**
     * Checks whether the caller has the given permission.
     *
     * @param context context of the caller.
     * @param permission the given permission.
     * @throws SecurityException if the caller doesn't have the permission.
     */
    public static void checkPermission(Context context, String permission) {
        // TODO: remove checkPermission methods
        if (context.checkCallingOrSelfPermission(permission)
                != PackageManager.PERMISSION_GRANTED) {
            throw new SecurityException("Caller must have " + permission + " permission.");
        }
    }

    /**
     * Gets the corresponding filter subtype constant defined in tuner HAL.
+1 −8
Original line number Diff line number Diff line
@@ -19,11 +19,8 @@ package android.media.tv.tuner.dvr;
import android.annotation.BytesLong;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.RequiresPermission;
import android.annotation.SystemApi;
import android.content.Context;
import android.hardware.tv.tuner.V1_0.Constants;
import android.media.tv.tuner.TunerUtils;
import android.media.tv.tuner.filter.Filter;

import java.lang.annotation.Retention;
@@ -123,13 +120,9 @@ public class DvrSettings {

    /**
     * Creates a builder for {@link DvrSettings}.
     *
     * @param context the context of the caller.
     */
    @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER)
    @NonNull
    public static Builder builder(@NonNull Context context) {
        TunerUtils.checkTunerPermission(context);
    public static Builder builder() {
        return new Builder();
    }

+1 −8
Original line number Diff line number Diff line
@@ -19,11 +19,8 @@ package android.media.tv.tuner.filter;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.annotation.SystemApi;
import android.content.Context;
import android.hardware.tv.tuner.V1_0.Constants;
import android.media.tv.tuner.TunerUtils;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -111,13 +108,9 @@ public final class AlpFilterConfiguration extends FilterConfiguration {

    /**
     * Creates a builder for {@link AlpFilterConfiguration}.
     *
     * @param context the context of the caller.
     */
    @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER)
    @NonNull
    public static Builder builder(@NonNull Context context) {
        TunerUtils.checkTunerPermission(context);
    public static Builder builder() {
        return new Builder();
    }

Loading