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

Commit 58018956 authored by Hongguang's avatar Hongguang
Browse files

Change tuner frequency data type to long.

Current data type can't cover frequencey larger than 2G.

Bug: 197024355
Fix: 197024355
Test: atest android.media.tv.tuner.cts
Test: atest android.signature.cts.api.system.SignatureTest#testSignature
Change-Id: I6a40d190ed3b02e846d7852bd1953da9d3ec9173
parent 78deb8d1
Loading
Loading
Loading
Loading
+34 −17
Original line number Diff line number Diff line
@@ -6556,7 +6556,8 @@ package android.media.tv.tuner.frontend {
  public static class AnalogFrontendSettings.Builder {
    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings build();
    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setAftFlag(int);
    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setFrequency(int);
    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setFrequency(int);
    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setFrequencyLong(long);
    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setSifStandard(int);
    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setSignalType(int);
  }
@@ -6624,7 +6625,8 @@ package android.media.tv.tuner.frontend {
    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings build();
    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setBandwidth(int);
    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setDemodOutputFormat(int);
    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setFrequency(int);
    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setFrequency(int);
    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setFrequencyLong(long);
    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setPlpSettings(@NonNull android.media.tv.tuner.frontend.Atsc3PlpSettings[]);
  }
@@ -6667,7 +6669,8 @@ package android.media.tv.tuner.frontend {
  public static class AtscFrontendSettings.Builder {
    method @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings build();
    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setFrequency(int);
    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setFrequency(int);
    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setFrequencyLong(long);
    method @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setModulation(int);
  }
@@ -6727,7 +6730,8 @@ package android.media.tv.tuner.frontend {
    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings build();
    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setBandwidth(int);
    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setCodeRate(int);
    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setFrequency(int);
    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setFrequency(int);
    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setFrequencyLong(long);
    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setGuardInterval(int);
    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setModulation(int);
    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setTimeInterleaveMode(int);
@@ -6791,7 +6795,8 @@ package android.media.tv.tuner.frontend {
    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings build();
    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setAnnex(int);
    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setBandwidth(int);
    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setFrequency(int);
    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setFrequency(int);
    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setFrequencyLong(long);
    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setInnerFec(long);
    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setModulation(int);
    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setOuterFec(int);
@@ -6879,7 +6884,8 @@ package android.media.tv.tuner.frontend {
    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings build();
    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setCanHandleDiseqcRxMessage(boolean);
    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setCodeRate(@Nullable android.media.tv.tuner.frontend.DvbsCodeRate);
    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setFrequency(int);
    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setFrequency(int);
    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setFrequencyLong(long);
    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setInputStreamId(int);
    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setModulation(int);
    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setPilot(int);
@@ -6988,7 +6994,8 @@ package android.media.tv.tuner.frontend {
    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings build();
    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setBandwidth(int);
    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setConstellation(int);
    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setFrequency(int);
    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setFrequency(int);
    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setFrequencyLong(long);
    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setGuardInterval(int);
    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHierarchy(int);
    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHighPriority(boolean);
@@ -7007,9 +7014,11 @@ package android.media.tv.tuner.frontend {
  }
  public class FrontendInfo {
    method public int getAcquireRange();
    method @Deprecated public int getAcquireRange();
    method public long getAcquireRangeLong();
    method public int getExclusiveGroupId();
    method @NonNull public android.util.Range<java.lang.Integer> getFrequencyRange();
    method @Deprecated @NonNull public android.util.Range<java.lang.Integer> getFrequencyRange();
    method @NonNull public android.util.Range<java.lang.Long> getFrequencyRangeLong();
    method @NonNull public android.media.tv.tuner.frontend.FrontendCapabilities getFrontendCapabilities();
    method public int getId();
    method @NonNull public int[] getStatusCapabilities();
@@ -7018,11 +7027,14 @@ package android.media.tv.tuner.frontend {
  }
  public abstract class FrontendSettings {
    method @IntRange(from=1) public int getEndFrequency();
    method public int getFrequency();
    method @Deprecated @IntRange(from=1) public int getEndFrequency();
    method @IntRange(from=1) public long getEndFrequencyLong();
    method @Deprecated public int getFrequency();
    method public long getFrequencyLong();
    method public int getFrontendSpectralInversion();
    method public abstract int getType();
    method @IntRange(from=1) public void setEndFrequency(int);
    method @Deprecated @IntRange(from=1) public void setEndFrequency(int);
    method @IntRange(from=1) public void setEndFrequencyLong(long);
    method public void setSpectralInversion(int);
    field public static final long FEC_11_15 = 4194304L; // 0x400000L
    field public static final long FEC_11_20 = 8388608L; // 0x800000L
@@ -7085,7 +7097,8 @@ package android.media.tv.tuner.frontend {
    method @NonNull public int[] getBers();
    method @NonNull public int[] getCodeRates();
    method @NonNull public int[] getExtendedModulations();
    method public int getFreqOffset();
    method @Deprecated public int getFreqOffset();
    method public long getFreqOffsetLong();
    method public int getGuardInterval();
    method public int getHierarchy();
    method public long getInnerFec();
@@ -7201,7 +7214,8 @@ package android.media.tv.tuner.frontend {
  public static class Isdbs3FrontendSettings.Builder {
    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings build();
    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setCodeRate(int);
    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setFrequency(int);
    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setFrequency(int);
    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setFrequencyLong(long);
    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setModulation(int);
    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setRolloff(int);
    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setStreamId(int);
@@ -7244,7 +7258,8 @@ package android.media.tv.tuner.frontend {
  public static class IsdbsFrontendSettings.Builder {
    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings build();
    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setCodeRate(int);
    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setFrequency(int);
    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setFrequency(int);
    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setFrequencyLong(long);
    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setModulation(int);
    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setRolloff(int);
    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setStreamId(int);
@@ -7291,7 +7306,8 @@ package android.media.tv.tuner.frontend {
    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings build();
    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setBandwidth(int);
    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setCodeRate(int);
    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setFrequency(int);
    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setFrequency(int);
    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setFrequencyLong(long);
    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setGuardInterval(int);
    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setMode(int);
    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setModulation(int);
@@ -7311,7 +7327,8 @@ package android.media.tv.tuner.frontend {
    method public default void onDvbcAnnexReported(int);
    method public void onDvbsStandardReported(int);
    method public void onDvbtStandardReported(int);
    method public void onFrequenciesReported(@NonNull int[]);
    method public default void onFrequenciesLongReported(@NonNull long[]);
    method @Deprecated public void onFrequenciesReported(@NonNull int[]);
    method public void onGroupIdsReported(@NonNull int[]);
    method public void onHierarchyReported(int);
    method public void onInputStreamIdsReported(@NonNull int[]);
+2 −2
Original line number Diff line number Diff line
@@ -1146,13 +1146,13 @@ public class Tuner implements AutoCloseable {
        }
    }

    private void onFrequenciesReport(int[] frequency) {
    private void onFrequenciesReport(long[] frequencies) {
        synchronized (mScanCallbackLock) {
            if (mScanCallbackExecutor != null && mScanCallback != null) {
                mScanCallbackExecutor.execute(() -> {
                    synchronized (mScanCallbackLock) {
                        if (mScanCallback != null) {
                            mScanCallback.onFrequenciesReported(frequency);
                            mScanCallback.onFrequenciesLongReported(frequencies);
                        }
                    }
                });
+15 −2
Original line number Diff line number Diff line
@@ -229,7 +229,7 @@ public class AnalogFrontendSettings extends FrontendSettings {
        return new Builder();
    }

    private AnalogFrontendSettings(int frequency, int signalType, int sifStandard, int aftFlag) {
    private AnalogFrontendSettings(long frequency, int signalType, int sifStandard, int aftFlag) {
        super(frequency);
        mSignalType = signalType;
        mSifStandard = sifStandard;
@@ -240,7 +240,7 @@ public class AnalogFrontendSettings extends FrontendSettings {
     * Builder for {@link AnalogFrontendSettings}.
     */
    public static class Builder {
        private int mFrequency = 0;
        private long mFrequency = 0;
        private int mSignalType = SIGNAL_TYPE_UNDEFINED;
        private int mSifStandard = SIF_UNDEFINED;
        private int mAftFlag = AFT_FLAG_UNDEFINED;
@@ -251,10 +251,23 @@ public class AnalogFrontendSettings extends FrontendSettings {
         * Sets frequency in Hz.
         *
         * <p>Default value is 0.
         * @deprecated Use {@link #setFrequencyLong(long)}
         */
        @NonNull
        @IntRange(from = 1)
        @Deprecated
        public Builder setFrequency(int frequency) {
            return setFrequencyLong((long) frequency);
        }

        /**
         * Sets frequency in Hz.
         *
         * <p>Default value is 0.
         */
        @NonNull
        @IntRange(from = 1)
        public Builder setFrequencyLong(long frequency) {
            mFrequency = frequency;
            return this;
        }
+16 −3
Original line number Diff line number Diff line
@@ -276,8 +276,8 @@ public class Atsc3FrontendSettings extends FrontendSettings {
    private final int mDemodOutputFormat;
    private final Atsc3PlpSettings[] mPlpSettings;

    private Atsc3FrontendSettings(int frequency, int bandwidth, int demodOutputFormat,
            Atsc3PlpSettings[] plpSettings) {
    private Atsc3FrontendSettings(
            long frequency, int bandwidth, int demodOutputFormat, Atsc3PlpSettings[] plpSettings) {
        super(frequency);
        mBandwidth = bandwidth;
        mDemodOutputFormat = demodOutputFormat;
@@ -319,7 +319,7 @@ public class Atsc3FrontendSettings extends FrontendSettings {
     * Builder for {@link Atsc3FrontendSettings}.
     */
    public static class Builder {
        private int mFrequency = 0;
        private long mFrequency = 0;
        private int mBandwidth = BANDWIDTH_UNDEFINED;
        private int mDemodOutputFormat = DEMOD_OUTPUT_FORMAT_UNDEFINED;
        private Atsc3PlpSettings[] mPlpSettings = {};
@@ -331,10 +331,23 @@ public class Atsc3FrontendSettings extends FrontendSettings {
         * Sets frequency in Hz.
         *
         * <p>Default value is 0.
         * @deprecated Use {@link #setFrequencyLong(long)}
         */
        @NonNull
        @IntRange(from = 1)
        @Deprecated
        public Builder setFrequency(int frequency) {
            return setFrequencyLong((long) frequency);
        }

        /**
         * Sets frequency in Hz.
         *
         * <p>Default value is 0.
         */
        @NonNull
        @IntRange(from = 1)
        public Builder setFrequencyLong(long frequency) {
            mFrequency = frequency;
            return this;
        }
+15 −2
Original line number Diff line number Diff line
@@ -61,7 +61,7 @@ public class AtscFrontendSettings extends FrontendSettings {

    private final int mModulation;

    private AtscFrontendSettings(int frequency, int modulation) {
    private AtscFrontendSettings(long frequency, int modulation) {
        super(frequency);
        mModulation = modulation;
    }
@@ -86,7 +86,7 @@ public class AtscFrontendSettings extends FrontendSettings {
     * Builder for {@link AtscFrontendSettings}.
     */
    public static class Builder {
        private int mFrequency = 0;
        private long mFrequency = 0;
        private int mModulation = MODULATION_UNDEFINED;

        private Builder() {
@@ -96,10 +96,23 @@ public class AtscFrontendSettings extends FrontendSettings {
         * Sets frequency in Hz.
         *
         * <p>Default value is 0.
         * @deprecated Use {@link #setFrequencyLong(long)}
         */
        @NonNull
        @IntRange(from = 1)
        @Deprecated
        public Builder setFrequency(int frequency) {
            return setFrequencyLong((long) frequency);
        }

        /**
         * Sets frequency in Hz.
         *
         * <p>Default value is 0.
         */
        @NonNull
        @IntRange(from = 1)
        public Builder setFrequencyLong(long frequency) {
            mFrequency = frequency;
            return this;
        }
Loading