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

Commit c2b4fa41 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: Ic2548bdee1812b1a253bd60ddc932d3bb00d23e4
parents 49d82cd3 71591b6b
Loading
Loading
Loading
Loading
+23 −23
Original line number Diff line number Diff line
@@ -4931,7 +4931,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();
@@ -4966,7 +4966,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();
@@ -4997,7 +4997,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();
  }
@@ -5015,7 +5015,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();
  }
@@ -5077,7 +5077,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();
@@ -5116,7 +5116,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();
  }
@@ -5139,7 +5139,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();
  }
@@ -5151,7 +5151,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();
@@ -5212,7 +5212,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();
@@ -5226,7 +5226,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();
  }
@@ -5256,7 +5256,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();
@@ -5277,7 +5277,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();
  }
@@ -5305,7 +5305,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();
@@ -5356,7 +5356,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();
@@ -5419,7 +5419,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();
@@ -5441,7 +5441,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
@@ -5463,7 +5463,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();
@@ -5502,7 +5502,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();
@@ -5524,7 +5524,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();
@@ -5594,7 +5594,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();
@@ -5813,7 +5813,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();
@@ -5862,7 +5862,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();
@@ -5908,7 +5908,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