diff --git a/core/api/system-current.txt b/core/api/system-current.txt index 6727031f7a1c4..f71872199a9de 100755 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -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 getFrequencyRange(); + method @Deprecated @NonNull public android.util.Range getFrequencyRange(); + method @NonNull public android.util.Range 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[]); diff --git a/media/java/android/media/tv/tuner/Tuner.java b/media/java/android/media/tv/tuner/Tuner.java index ed5e6eeca34f3..3118220880e4c 100644 --- a/media/java/android/media/tv/tuner/Tuner.java +++ b/media/java/android/media/tv/tuner/Tuner.java @@ -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); } } }); diff --git a/media/java/android/media/tv/tuner/frontend/AnalogFrontendSettings.java b/media/java/android/media/tv/tuner/frontend/AnalogFrontendSettings.java index 768f1d389a32d..e0405ef57f2e3 100644 --- a/media/java/android/media/tv/tuner/frontend/AnalogFrontendSettings.java +++ b/media/java/android/media/tv/tuner/frontend/AnalogFrontendSettings.java @@ -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. * *

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. + * + *

Default value is 0. + */ + @NonNull + @IntRange(from = 1) + public Builder setFrequencyLong(long frequency) { mFrequency = frequency; return this; } diff --git a/media/java/android/media/tv/tuner/frontend/Atsc3FrontendSettings.java b/media/java/android/media/tv/tuner/frontend/Atsc3FrontendSettings.java index 52a20cb8b8154..a7157e20c5e66 100644 --- a/media/java/android/media/tv/tuner/frontend/Atsc3FrontendSettings.java +++ b/media/java/android/media/tv/tuner/frontend/Atsc3FrontendSettings.java @@ -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. * *

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. + * + *

Default value is 0. + */ + @NonNull + @IntRange(from = 1) + public Builder setFrequencyLong(long frequency) { mFrequency = frequency; return this; } diff --git a/media/java/android/media/tv/tuner/frontend/AtscFrontendSettings.java b/media/java/android/media/tv/tuner/frontend/AtscFrontendSettings.java index 042bba890d229..3071ce861e0d8 100644 --- a/media/java/android/media/tv/tuner/frontend/AtscFrontendSettings.java +++ b/media/java/android/media/tv/tuner/frontend/AtscFrontendSettings.java @@ -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. * *

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. + * + *

Default value is 0. + */ + @NonNull + @IntRange(from = 1) + public Builder setFrequencyLong(long frequency) { mFrequency = frequency; return this; } diff --git a/media/java/android/media/tv/tuner/frontend/DtmbFrontendSettings.java b/media/java/android/media/tv/tuner/frontend/DtmbFrontendSettings.java index 9ba41d5e18519..91102d4d05e40 100644 --- a/media/java/android/media/tv/tuner/frontend/DtmbFrontendSettings.java +++ b/media/java/android/media/tv/tuner/frontend/DtmbFrontendSettings.java @@ -247,7 +247,7 @@ public final class DtmbFrontendSettings extends FrontendSettings { private final int mGuardInterval; private final int mTimeInterleaveMode; - private DtmbFrontendSettings(int frequency, int modulation, int codeRate, int transmissionMode, + private DtmbFrontendSettings(long frequency, int modulation, int codeRate, int transmissionMode, int guardInterval, int timeInterleaveMode, int bandwidth) { super(frequency); mModulation = modulation; @@ -319,7 +319,7 @@ public final class DtmbFrontendSettings extends FrontendSettings { * Builder for {@link AtscFrontendSettings}. */ public static final class Builder { - private int mFrequency = 0; + private long mFrequency = 0; private int mModulation = MODULATION_CONSTELLATION_UNDEFINED; private int mCodeRate = CODERATE_UNDEFINED; private int mTransmissionMode = TRANSMISSION_MODE_UNDEFINED; @@ -330,6 +330,19 @@ public final class DtmbFrontendSettings extends FrontendSettings { private Builder() { } + /** + * Sets frequency in Hz. + * + *

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. * @@ -338,7 +351,7 @@ public final class DtmbFrontendSettings extends FrontendSettings { @NonNull @IntRange(from = 1) @SuppressLint("MissingGetterMatchingBuilder") - public Builder setFrequency(int frequency) { + public Builder setFrequencyLong(long frequency) { mFrequency = frequency; return this; } diff --git a/media/java/android/media/tv/tuner/frontend/DvbcFrontendSettings.java b/media/java/android/media/tv/tuner/frontend/DvbcFrontendSettings.java index b209d97feee5a..afe953de53892 100644 --- a/media/java/android/media/tv/tuner/frontend/DvbcFrontendSettings.java +++ b/media/java/android/media/tv/tuner/frontend/DvbcFrontendSettings.java @@ -266,7 +266,7 @@ public class DvbcFrontendSettings extends FrontendSettings { // Dvbc bandwidth is only supported in Tuner 1.1 or higher. private final int mBandwidth; - private DvbcFrontendSettings(int frequency, int modulation, long innerFec, int symbolRate, + private DvbcFrontendSettings(long frequency, int modulation, long innerFec, int symbolRate, int outerFec, int annex, int spectralInversion, int interleaveMode, int bandwidth) { super(frequency); mModulation = modulation; @@ -347,7 +347,7 @@ public class DvbcFrontendSettings extends FrontendSettings { * Builder for {@link DvbcFrontendSettings}. */ public static class Builder { - private int mFrequency = 0; + private long mFrequency = 0; private int mModulation = MODULATION_UNDEFINED; private long mInnerFec = FEC_UNDEFINED; private int mSymbolRate = 0; @@ -364,10 +364,23 @@ public class DvbcFrontendSettings extends FrontendSettings { * Sets frequency in Hz. * *

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. + * + *

Default value is 0. + */ + @NonNull + @IntRange(from = 1) + public Builder setFrequencyLong(long frequency) { mFrequency = frequency; return this; } diff --git a/media/java/android/media/tv/tuner/frontend/DvbsFrontendSettings.java b/media/java/android/media/tv/tuner/frontend/DvbsFrontendSettings.java index 6e3d98a11a2b9..e16f19285100e 100644 --- a/media/java/android/media/tv/tuner/frontend/DvbsFrontendSettings.java +++ b/media/java/android/media/tv/tuner/frontend/DvbsFrontendSettings.java @@ -263,7 +263,7 @@ public class DvbsFrontendSettings extends FrontendSettings { // isDiseqcRxMessage is only supported in Tuner 1.1 or higher. private final boolean mIsDiseqcRxMessage; - private DvbsFrontendSettings(int frequency, int modulation, DvbsCodeRate codeRate, + private DvbsFrontendSettings(long frequency, int modulation, DvbsCodeRate codeRate, int symbolRate, int rolloff, int pilot, int inputStreamId, int standard, int vcm, int scanType, boolean isDiseqcRxMessage) { super(frequency); @@ -363,7 +363,7 @@ public class DvbsFrontendSettings extends FrontendSettings { * Builder for {@link DvbsFrontendSettings}. */ public static class Builder { - private int mFrequency = 0; + private long mFrequency = 0; private int mModulation = MODULATION_UNDEFINED; private DvbsCodeRate mCodeRate = null; private int mSymbolRate = 0; @@ -382,10 +382,23 @@ public class DvbsFrontendSettings extends FrontendSettings { * Sets frequency in Hz. * *

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. + * + *

Default value is 0. + */ + @NonNull + @IntRange(from = 1) + public Builder setFrequencyLong(long frequency) { mFrequency = frequency; return this; } diff --git a/media/java/android/media/tv/tuner/frontend/DvbtFrontendSettings.java b/media/java/android/media/tv/tuner/frontend/DvbtFrontendSettings.java index 5735b39b0a56f..d86e9a8af5f65 100644 --- a/media/java/android/media/tv/tuner/frontend/DvbtFrontendSettings.java +++ b/media/java/android/media/tv/tuner/frontend/DvbtFrontendSettings.java @@ -399,7 +399,7 @@ public class DvbtFrontendSettings extends FrontendSettings { private final int mPlpId; private final int mPlpGroupId; - private DvbtFrontendSettings(int frequency, int transmissionMode, int bandwidth, + private DvbtFrontendSettings(long frequency, int transmissionMode, int bandwidth, int constellation, int hierarchy, int hpCodeRate, int lpCodeRate, int guardInterval, boolean isHighPriority, int standard, boolean isMiso, int plpMode, int plpId, int plpGroupId) { @@ -532,7 +532,7 @@ public class DvbtFrontendSettings extends FrontendSettings { * Builder for {@link DvbtFrontendSettings}. */ public static class Builder { - private int mFrequency = 0; + private long mFrequency = 0; private int mTransmissionMode = TRANSMISSION_MODE_UNDEFINED; private int mBandwidth = BANDWIDTH_UNDEFINED; private int mConstellation = CONSTELLATION_UNDEFINED; @@ -554,10 +554,23 @@ public class DvbtFrontendSettings extends FrontendSettings { * Sets frequency in Hz. * *

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. + * + *

Default value is 0. + */ + @NonNull + @IntRange(from = 1) + public Builder setFrequencyLong(long frequency) { mFrequency = frequency; return this; } diff --git a/media/java/android/media/tv/tuner/frontend/FrontendInfo.java b/media/java/android/media/tv/tuner/frontend/FrontendInfo.java index e96cae6ba1bcf..5cabb712946dc 100644 --- a/media/java/android/media/tv/tuner/frontend/FrontendInfo.java +++ b/media/java/android/media/tv/tuner/frontend/FrontendInfo.java @@ -34,15 +34,15 @@ import java.util.Objects; public class FrontendInfo { private final int mId; private final int mType; - private final Range mFrequencyRange; + private final Range mFrequencyRange; private final Range mSymbolRateRange; - private final int mAcquireRange; + private final long mAcquireRange; private final int mExclusiveGroupId; private final int[] mStatusCaps; private final FrontendCapabilities mFrontendCap; - private FrontendInfo(int id, int type, int minFrequency, int maxFrequency, int minSymbolRate, - int maxSymbolRate, int acquireRange, int exclusiveGroupId, int[] statusCaps, + private FrontendInfo(int id, int type, long minFrequency, long maxFrequency, int minSymbolRate, + int maxSymbolRate, long acquireRange, int exclusiveGroupId, int[] statusCaps, FrontendCapabilities frontendCap) { mId = id; mType = type; @@ -77,9 +77,21 @@ public class FrontendInfo { /** * Gets supported frequency range in Hz. + * + * @deprecated Use {@link #getFrequencyRangeLong()} */ + @Deprecated @NonNull public Range getFrequencyRange() { + return new Range<>( + (int) (long) mFrequencyRange.getLower(), (int) (long) mFrequencyRange.getUpper()); + } + + /** + * Gets supported frequency range in Hz. + */ + @NonNull + public Range getFrequencyRangeLong() { return mFrequencyRange; } @@ -95,10 +107,22 @@ public class FrontendInfo { * Gets acquire range in Hz. * *

The maximum frequency difference the frontend can detect. + @deprecated Use {@link #getAcquireRangeLong(long)} */ + @Deprecated public int getAcquireRange() { + return (int) getAcquireRangeLong(); + } + + /** + * Gets acquire range in Hz. + * + *

The maximum frequency difference the frontend can detect. + */ + public long getAcquireRangeLong() { return mAcquireRange; } + /** * Gets exclusive group ID. * @@ -108,6 +132,7 @@ public class FrontendInfo { public int getExclusiveGroupId() { return mExclusiveGroupId; } + /** * Gets status capabilities. * @@ -118,6 +143,7 @@ public class FrontendInfo { public int[] getStatusCapabilities() { return mStatusCaps; } + /** * Gets frontend capabilities. */ @@ -126,7 +152,6 @@ public class FrontendInfo { return mFrontendCap; } - /** @hide */ @Override public boolean equals(Object o) { @@ -139,9 +164,9 @@ public class FrontendInfo { // TODO: compare FrontendCapabilities FrontendInfo info = (FrontendInfo) o; return mId == info.getId() && mType == info.getType() - && Objects.equals(mFrequencyRange, info.getFrequencyRange()) + && Objects.equals(mFrequencyRange, info.getFrequencyRangeLong()) && Objects.equals(mSymbolRateRange, info.getSymbolRateRange()) - && mAcquireRange == info.getAcquireRange() + && mAcquireRange == info.getAcquireRangeLong() && mExclusiveGroupId == info.getExclusiveGroupId() && Arrays.equals(mStatusCaps, info.getStatusCapabilities()); } diff --git a/media/java/android/media/tv/tuner/frontend/FrontendSettings.java b/media/java/android/media/tv/tuner/frontend/FrontendSettings.java index 4a31686e08957..38bffec3f77fe 100644 --- a/media/java/android/media/tv/tuner/frontend/FrontendSettings.java +++ b/media/java/android/media/tv/tuner/frontend/FrontendSettings.java @@ -271,17 +271,13 @@ public abstract class FrontendSettings { public static final int FRONTEND_SPECTRAL_INVERSION_INVERTED = android.hardware.tv.tuner.FrontendSpectralInversion.INVERTED; - - - private final int mFrequency; + private final long mFrequency; // End frequency is only supported in Tuner 1.1 or higher. - private int mEndFrequency = Tuner.INVALID_FRONTEND_SETTING_FREQUENCY; + private long mEndFrequency = Tuner.INVALID_FRONTEND_SETTING_FREQUENCY; // General spectral inversion is only supported in Tuner 1.1 or higher. private int mSpectralInversion = FRONTEND_SPECTRAL_INVERSION_UNDEFINED; - FrontendSettings(int frequency) { - mFrequency = frequency; - } + FrontendSettings(long frequency) { mFrequency = frequency; } /** * Returns the frontend type. @@ -293,18 +289,41 @@ public abstract class FrontendSettings { * Gets the frequency. * * @return the frequency in Hz. + * @deprecated Use {@link #getFrequencyLong()} */ + @Deprecated public int getFrequency() { + return (int) getFrequencyLong(); + } + + /** + * Gets the frequency. + * + * @return the frequency in Hz. + */ + public long getFrequencyLong() { return mFrequency; } + /** + * Get the end frequency. + * + * @return the end frequency in Hz. + * @deprecated Use {@link #getEndFrequencyLong()} + */ + @Deprecated + @IntRange(from = 1) + public int getEndFrequency() { + return (int) getEndFrequencyLong(); + } + /** * Get the end frequency. * * @return the end frequency in Hz. */ @IntRange(from = 1) - public int getEndFrequency() { + public long getEndFrequencyLong() { return mEndFrequency; } @@ -344,9 +363,27 @@ public abstract class FrontendSettings { * @param endFrequency the end frequency used during blind scan. The default value is * {@link android.media.tv.tuner.Tuner#INVALID_FRONTEND_SETTING_FREQUENCY}. * @throws IllegalArgumentException if the {@code endFrequency} is not greater than 0. + * @deprecated Use {@link #setFrequencyLong(long)} */ @IntRange(from = 1) - public void setEndFrequency(int endFrequency) { + @Deprecated + public void setEndFrequency(int frequency) { + setEndFrequencyLong((long) frequency); + } + + /** + * Set End Frequency. This API is only supported with Tuner HAL 1.1 or higher. Otherwise it + * would be no-op. + * + *

This API is only supported by Tuner HAL 1.1 or higher. Unsupported version would cause + * no-op. Use {@link TunerVersionChecker#getTunerVersion()} to check the version. + * + * @param endFrequency the end frequency used during blind scan. The default value is + * {@link android.media.tv.tuner.Tuner#INVALID_FRONTEND_SETTING_FREQUENCY}. + * @throws IllegalArgumentException if the {@code endFrequency} is not greater than 0. + */ + @IntRange(from = 1) + public void setEndFrequencyLong(long endFrequency) { if (TunerVersionChecker.checkHigherOrEqualVersionTo( TunerVersionChecker.TUNER_VERSION_1_1, "setEndFrequency")) { if (endFrequency < 1) { diff --git a/media/java/android/media/tv/tuner/frontend/FrontendStatus.java b/media/java/android/media/tv/tuner/frontend/FrontendStatus.java index 36fd94234e09f..53adc75696bb8 100644 --- a/media/java/android/media/tv/tuner/frontend/FrontendStatus.java +++ b/media/java/android/media/tv/tuner/frontend/FrontendStatus.java @@ -447,7 +447,7 @@ public class FrontendStatus { private Boolean mIsLnaOn; private boolean[] mIsLayerErrors; private Integer mMer; - private Integer mFreqOffset; + private Long mFreqOffset; private Integer mHierarchy; private Boolean mIsRfLocked; private Atsc3PlpTuningInfo[] mPlpInfo; @@ -651,8 +651,18 @@ public class FrontendStatus { * Gets the current frequency difference in Hz. * *

Difference between tuning frequency and actual locked frequency. + * @deprecated Use {@link #getFreqOffsetLong()} */ + @Deprecated public int getFreqOffset() { + return (int) getFreqOffsetLong(); + } + /** + * Gets the current frequency difference in Hz. + * + *

Difference between tuning frequency and actual locked frequency. + */ + public long getFreqOffsetLong() { if (mFreqOffset == null) { throw new IllegalStateException("FreqOffset status is empty"); } diff --git a/media/java/android/media/tv/tuner/frontend/Isdbs3FrontendSettings.java b/media/java/android/media/tv/tuner/frontend/Isdbs3FrontendSettings.java index 14b0b029ab377..726fe15b8edb5 100644 --- a/media/java/android/media/tv/tuner/frontend/Isdbs3FrontendSettings.java +++ b/media/java/android/media/tv/tuner/frontend/Isdbs3FrontendSettings.java @@ -158,7 +158,7 @@ public class Isdbs3FrontendSettings extends FrontendSettings { private final int mSymbolRate; private final int mRolloff; - private Isdbs3FrontendSettings(int frequency, int streamId, int streamIdType, int modulation, + private Isdbs3FrontendSettings(long frequency, int streamId, int streamIdType, int modulation, int codeRate, int symbolRate, int rolloff) { super(frequency); mStreamId = streamId; @@ -222,7 +222,7 @@ public class Isdbs3FrontendSettings extends FrontendSettings { * Builder for {@link Isdbs3FrontendSettings}. */ public static class Builder { - private int mFrequency = 0; + private long mFrequency = 0; private int mStreamId = Tuner.INVALID_STREAM_ID; private int mStreamIdType = IsdbsFrontendSettings.STREAM_ID_TYPE_ID; private int mModulation = MODULATION_UNDEFINED; @@ -237,10 +237,23 @@ public class Isdbs3FrontendSettings extends FrontendSettings { * Sets frequency in Hz. * *

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. + * + *

Default value is 0. + */ + @NonNull + @IntRange(from = 1) + public Builder setFrequencyLong(long frequency) { mFrequency = frequency; return this; } diff --git a/media/java/android/media/tv/tuner/frontend/IsdbsFrontendSettings.java b/media/java/android/media/tv/tuner/frontend/IsdbsFrontendSettings.java index aab6408e4f428..51ec5aeeb2eb0 100644 --- a/media/java/android/media/tv/tuner/frontend/IsdbsFrontendSettings.java +++ b/media/java/android/media/tv/tuner/frontend/IsdbsFrontendSettings.java @@ -143,7 +143,7 @@ public class IsdbsFrontendSettings extends FrontendSettings { private final int mSymbolRate; private final int mRolloff; - private IsdbsFrontendSettings(int frequency, int streamId, int streamIdType, int modulation, + private IsdbsFrontendSettings(long frequency, int streamId, int streamIdType, int modulation, int codeRate, int symbolRate, int rolloff) { super(frequency); mStreamId = streamId; @@ -207,7 +207,7 @@ public class IsdbsFrontendSettings extends FrontendSettings { * Builder for {@link IsdbsFrontendSettings}. */ public static class Builder { - private int mFrequency = 0; + private long mFrequency = 0; private int mStreamId = Tuner.INVALID_STREAM_ID; private int mStreamIdType = STREAM_ID_TYPE_ID; private int mModulation = MODULATION_UNDEFINED; @@ -222,10 +222,23 @@ public class IsdbsFrontendSettings extends FrontendSettings { * Sets frequency in Hz. * *

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. + * + *

Default value is 0. + */ + @NonNull + @IntRange(from = 1) + public Builder setFrequencyLong(long frequency) { mFrequency = frequency; return this; } diff --git a/media/java/android/media/tv/tuner/frontend/IsdbtFrontendSettings.java b/media/java/android/media/tv/tuner/frontend/IsdbtFrontendSettings.java index de2476a6ba20c..d34b643b1890e 100644 --- a/media/java/android/media/tv/tuner/frontend/IsdbtFrontendSettings.java +++ b/media/java/android/media/tv/tuner/frontend/IsdbtFrontendSettings.java @@ -134,7 +134,7 @@ public class IsdbtFrontendSettings extends FrontendSettings { private final int mGuardInterval; private final int mServiceAreaId; - private IsdbtFrontendSettings(int frequency, int modulation, int bandwidth, int mode, + private IsdbtFrontendSettings(long frequency, int modulation, int bandwidth, int mode, int codeRate, int guardInterval, int serviceAreaId) { super(frequency); mModulation = modulation; @@ -199,7 +199,7 @@ public class IsdbtFrontendSettings extends FrontendSettings { * Builder for {@link IsdbtFrontendSettings}. */ public static class Builder { - private int mFrequency = 0; + private long mFrequency = 0; private int mModulation = MODULATION_UNDEFINED; private int mBandwidth = BANDWIDTH_UNDEFINED; private int mMode = MODE_UNDEFINED; @@ -214,10 +214,23 @@ public class IsdbtFrontendSettings extends FrontendSettings { * Sets frequency in Hz. * *

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. + * + *

Default value is 0. + */ + @NonNull + @IntRange(from = 1) + public Builder setFrequencyLong(long frequency) { mFrequency = frequency; return this; } diff --git a/media/java/android/media/tv/tuner/frontend/ScanCallback.java b/media/java/android/media/tv/tuner/frontend/ScanCallback.java index 27627d7ad9682..f61bd525beb4a 100644 --- a/media/java/android/media/tv/tuner/frontend/ScanCallback.java +++ b/media/java/android/media/tv/tuner/frontend/ScanCallback.java @@ -37,8 +37,19 @@ public interface ScanCallback { /** scan progress percent (0..100) */ void onProgress(@IntRange(from = 0, to = 100) int percent); + /** + * @deprecated Use {@link #onFrequenciesLongReported(long[])} + */ + @Deprecated void onFrequenciesReported(@NonNull int[] frequencies); + /** Signal frequencies in Hertz */ - void onFrequenciesReported(@NonNull int[] frequency); + default void onFrequenciesLongReported(@NonNull long[] frequencies) { + final int[] intFrequencies = new int[frequencies.length]; + for (int i = 0; i < frequencies.length; i++) { + intFrequencies[i] = (int) frequencies[i]; + } + onFrequenciesReported(intFrequencies); + } /** Symbols per second */ void onSymbolRatesReported(@NonNull int[] rate); diff --git a/media/jni/android_media_tv_Tuner.cpp b/media/jni/android_media_tv_Tuner.cpp index f1c72f86e8008..4bee485eb9b1a 100644 --- a/media/jni/android_media_tv_Tuner.cpp +++ b/media/jni/android_media_tv_Tuner.cpp @@ -978,24 +978,16 @@ void FrontendClientCallbackImpl::onScanMessage( } case FrontendScanMessageType::FREQUENCY: { std::vector v = message.get(); - std::vector jintV; - for (int i = 0; i < v.size(); i++) { - jintV.push_back(static_cast(v[i])); - } - jintArray freqs = env->NewIntArray(jintV.size()); - env->SetIntArrayRegion(freqs, 0, v.size(), reinterpret_cast(&jintV[0])); - - env->CallVoidMethod( - frontend, - env->GetMethodID(clazz, "onFrequenciesReport", "([I)V"), - freqs); + jlongArray freqs = env->NewLongArray(v.size()); + env->SetLongArrayRegion(freqs, 0, v.size(), reinterpret_cast(&v[0])); + env->CallVoidMethod(frontend, env->GetMethodID(clazz, "onFrequenciesReport", "([J)V"), + freqs); break; } case FrontendScanMessageType::SYMBOL_RATE: { std::vector v = message.get(); jintArray symbolRates = env->NewIntArray(v.size()); env->SetIntArrayRegion(symbolRates, 0, v.size(), reinterpret_cast(&v[0])); - env->CallVoidMethod(frontend, env->GetMethodID(clazz, "onSymbolRates", "([I)V"), symbolRates); break; @@ -1384,15 +1376,16 @@ jobject JTuner::getFrontendInfo(int id) { JNIEnv *env = AndroidRuntime::getJNIEnv(); jclass clazz = env->FindClass("android/media/tv/tuner/frontend/FrontendInfo"); - jmethodID infoInit = env->GetMethodID(clazz, "", - "(IIIIIIII[ILandroid/media/tv/tuner/frontend/FrontendCapabilities;)V"); + jmethodID infoInit = + env->GetMethodID(clazz, "", + "(IIJJIIJI[ILandroid/media/tv/tuner/frontend/FrontendCapabilities;)V"); jint type = (jint)feInfo->type; - jint minFrequency = static_cast(feInfo->minFrequency); - jint maxFrequency = static_cast(feInfo->maxFrequency); + jlong minFrequency = feInfo->minFrequency; + jlong maxFrequency = feInfo->maxFrequency; jint minSymbolRate = feInfo->minSymbolRate; jint maxSymbolRate = feInfo->maxSymbolRate; - jint acquireRange = feInfo->acquireRange; + jlong acquireRange = feInfo->acquireRange; jint exclusiveGroupId = feInfo->exclusiveGroupId; jintArray statusCaps = env->NewIntArray(feInfo->statusCaps.size()); env->SetIntArrayRegion( @@ -1854,6 +1847,8 @@ jobject JTuner::getFrontendStatus(jintArray types) { jmethodID initInt = env->GetMethodID(intClazz, "", "(I)V"); jclass booleanClazz = env->FindClass("java/lang/Boolean"); jmethodID initBoolean = env->GetMethodID(booleanClazz, "", "(Z)V"); + jclass longClazz = env->FindClass("java/lang/Long"); + jmethodID initLong = env->GetMethodID(longClazz, "", "(J)V"); for (int i = 0; i < status.size(); i++) { const FrontendStatus &s = status[i]; @@ -2033,12 +2028,10 @@ jobject JTuner::getFrontendStatus(jintArray types) { break; } case FrontendStatus::Tag::freqOffset: { - jfieldID field = env->GetFieldID(clazz, "mFreqOffset", "Ljava/lang/Integer;"); - jobject newIntegerObj = - env->NewObject(intClazz, initInt, - static_cast( - s.get())); - env->SetObjectField(statusObj, field, newIntegerObj); + jfieldID field = env->GetFieldID(clazz, "mFreqOffset", "Ljava/lang/Long;"); + jobject newLongObj = env->NewObject(longClazz, initLong, + s.get()); + env->SetObjectField(statusObj, field, newLongObj); break; } case FrontendStatus::Tag::hierarchy: { @@ -2480,14 +2473,14 @@ static DemuxPid getDemuxPid(int pidType, int pid) { static int64_t getFrontendSettingsFreq(JNIEnv *env, const jobject &settings) { jclass clazz = env->FindClass("android/media/tv/tuner/frontend/FrontendSettings"); - jfieldID freqField = env->GetFieldID(clazz, "mFrequency", "I"); - return static_cast(env->GetIntField(settings, freqField)); + jfieldID freqField = env->GetFieldID(clazz, "mFrequency", "J"); + return env->GetLongField(settings, freqField); } static int64_t getFrontendSettingsEndFreq(JNIEnv *env, const jobject &settings) { jclass clazz = env->FindClass("android/media/tv/tuner/frontend/FrontendSettings"); - jfieldID endFreqField = env->GetFieldID(clazz, "mEndFrequency", "I"); - return static_cast(env->GetIntField(settings, endFreqField)); + jfieldID endFreqField = env->GetFieldID(clazz, "mEndFrequency", "J"); + return env->GetLongField(settings, endFreqField); } static FrontendSpectralInversion getFrontendSettingsSpectralInversion(