Tuner Java API: minor changes per API review feedback
The feedback is b/149341923 Bug: 149341923 Test: make; Change-Id: I54f98b2531c73f341ff49d29878e6e30d9d4b105
This commit is contained in:
@@ -4826,7 +4826,7 @@ package android.media.tv.tuner {
|
||||
method public int getAudioFilterCount();
|
||||
method public int getDemuxCount();
|
||||
method public int getFilterCapabilities();
|
||||
method @Nullable @Size(5) public int[] getLinkCapabilities();
|
||||
method @NonNull @Size(5) public int[] getLinkCapabilities();
|
||||
method public int getPcrFilterCount();
|
||||
method public int getPesFilterCount();
|
||||
method public int getPlaybackCount();
|
||||
@@ -4842,7 +4842,7 @@ package android.media.tv.tuner {
|
||||
method public int addPid(int, int, @Nullable android.media.tv.tuner.filter.Filter);
|
||||
method public void close();
|
||||
method public int removePid(int, int, @Nullable android.media.tv.tuner.filter.Filter);
|
||||
method public int setKeyToken(@Nullable byte[]);
|
||||
method public int setKeyToken(@NonNull byte[]);
|
||||
field public static final int PID_TYPE_MMTP = 2; // 0x2
|
||||
field public static final int PID_TYPE_T = 1; // 0x1
|
||||
}
|
||||
@@ -4879,10 +4879,11 @@ package android.media.tv.tuner {
|
||||
}
|
||||
|
||||
public class Tuner implements java.lang.AutoCloseable {
|
||||
ctor @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public Tuner(@NonNull android.content.Context, @NonNull String, int, @Nullable android.media.tv.tuner.Tuner.OnResourceLostListener);
|
||||
ctor @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public Tuner(@NonNull android.content.Context, @Nullable String, int);
|
||||
method @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public int cancelScanning();
|
||||
method @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public int cancelTuning();
|
||||
method @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public void clearOnTuneEventListener();
|
||||
method @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public void clearResourceLostListener();
|
||||
method @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public void close();
|
||||
method @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public int connectCiCam(int);
|
||||
method @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public int disconnectCiCam();
|
||||
@@ -4892,15 +4893,16 @@ package android.media.tv.tuner {
|
||||
method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public android.media.tv.tuner.frontend.FrontendInfo getFrontendInfo();
|
||||
method @Nullable public android.media.tv.tuner.frontend.FrontendStatus getFrontendStatus(@NonNull int[]);
|
||||
method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_DESCRAMBLER) public android.media.tv.tuner.Descrambler openDescrambler();
|
||||
method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public android.media.tv.tuner.dvr.DvrPlayback openDvrPlayback(long, @Nullable java.util.concurrent.Executor, @Nullable android.media.tv.tuner.dvr.OnPlaybackStatusChangedListener);
|
||||
method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public android.media.tv.tuner.dvr.DvrRecorder openDvrRecorder(long, @Nullable java.util.concurrent.Executor, @Nullable android.media.tv.tuner.dvr.OnRecordStatusChangedListener);
|
||||
method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public android.media.tv.tuner.dvr.DvrPlayback openDvrPlayback(long, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.dvr.OnPlaybackStatusChangedListener);
|
||||
method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public android.media.tv.tuner.dvr.DvrRecorder openDvrRecorder(long, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.dvr.OnRecordStatusChangedListener);
|
||||
method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public android.media.tv.tuner.filter.Filter openFilter(int, int, long, @Nullable java.util.concurrent.Executor, @Nullable android.media.tv.tuner.filter.FilterCallback);
|
||||
method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public android.media.tv.tuner.Lnb openLnb(@Nullable java.util.concurrent.Executor, @Nullable android.media.tv.tuner.LnbCallback);
|
||||
method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public android.media.tv.tuner.Lnb openLnbByName(@Nullable String, @Nullable java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
|
||||
method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public android.media.tv.tuner.Lnb openLnb(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
|
||||
method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public android.media.tv.tuner.Lnb openLnbByName(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
|
||||
method @Nullable public android.media.tv.tuner.filter.TimeFilter openTimeFilter();
|
||||
method @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public int scan(@NonNull android.media.tv.tuner.frontend.FrontendSettings, int, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.frontend.ScanCallback);
|
||||
method @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public int setLna(boolean);
|
||||
method @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public int setLnaEnabled(boolean);
|
||||
method @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public void setOnTuneEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.frontend.OnTuneEventListener);
|
||||
method @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public void setResourceLostListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.Tuner.OnResourceLostListener);
|
||||
method @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public void shareFrontendFromTuner(@NonNull android.media.tv.tuner.Tuner);
|
||||
method @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public int tune(@NonNull android.media.tv.tuner.frontend.FrontendSettings);
|
||||
method @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public void updateResourcePriority(int, int);
|
||||
|
||||
@@ -18,7 +18,7 @@ package android.media.tv.tuner;
|
||||
|
||||
import android.annotation.BytesLong;
|
||||
import android.annotation.IntDef;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Size;
|
||||
import android.annotation.SystemApi;
|
||||
import android.media.tv.tuner.filter.Filter;
|
||||
@@ -159,7 +159,7 @@ public class DemuxCapabilities {
|
||||
* {@link FilterConfiguration}.
|
||||
* <p>The ith element represents the filter's capability as the source for the ith type.
|
||||
*/
|
||||
@Nullable
|
||||
@NonNull
|
||||
@Size(5)
|
||||
public int[] getLinkCapabilities() {
|
||||
return mLinkCaps;
|
||||
|
||||
@@ -17,12 +17,15 @@
|
||||
package android.media.tv.tuner;
|
||||
|
||||
import android.annotation.IntDef;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.SystemApi;
|
||||
import android.media.tv.tuner.TunerConstants.Result;
|
||||
import android.media.tv.tuner.filter.Filter;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* This class is used to interact with descramblers.
|
||||
@@ -75,6 +78,7 @@ public class Descrambler implements AutoCloseable {
|
||||
* @param filter an optional filter instance to identify upper stream.
|
||||
* @return result status of the operation.
|
||||
*/
|
||||
@Result
|
||||
public int addPid(@PidType int pidType, int pid, @Nullable Filter filter) {
|
||||
return nativeAddPid(pidType, pid, filter);
|
||||
}
|
||||
@@ -89,6 +93,7 @@ public class Descrambler implements AutoCloseable {
|
||||
* @param filter an optional filter instance to identify upper stream.
|
||||
* @return result status of the operation.
|
||||
*/
|
||||
@Result
|
||||
public int removePid(@PidType int pidType, int pid, @Nullable Filter filter) {
|
||||
return nativeRemovePid(pidType, pid, filter);
|
||||
}
|
||||
@@ -102,7 +107,9 @@ public class Descrambler implements AutoCloseable {
|
||||
* @param keyToken the token to be used to link the key slot.
|
||||
* @return result status of the operation.
|
||||
*/
|
||||
public int setKeyToken(@Nullable byte[] keyToken) {
|
||||
@Result
|
||||
public int setKeyToken(@NonNull byte[] keyToken) {
|
||||
Objects.requireNonNull(keyToken, "key token must not be null");
|
||||
return nativeSetKeyToken(keyToken);
|
||||
}
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@ import android.media.tv.tuner.filter.TimeFilter;
|
||||
import android.media.tv.tuner.frontend.FrontendInfo;
|
||||
import android.media.tv.tuner.frontend.FrontendSettings;
|
||||
import android.media.tv.tuner.frontend.FrontendStatus;
|
||||
import android.media.tv.tuner.frontend.FrontendStatus.FrontendStatusType;
|
||||
import android.media.tv.tuner.frontend.OnTuneEventListener;
|
||||
import android.media.tv.tuner.frontend.ScanCallback;
|
||||
import android.os.Handler;
|
||||
@@ -44,6 +45,7 @@ import android.os.Looper;
|
||||
import android.os.Message;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.Executor;
|
||||
|
||||
/**
|
||||
@@ -87,6 +89,10 @@ public class Tuner implements AutoCloseable {
|
||||
private ScanCallback mScanCallback;
|
||||
@Nullable
|
||||
private Executor mScanCallbackExecutor;
|
||||
@Nullable
|
||||
private OnResourceLostListener mOnResourceLostListener;
|
||||
@Nullable
|
||||
private Executor mOnResourceLostListenerExecutor;
|
||||
|
||||
/**
|
||||
* Constructs a Tuner instance.
|
||||
@@ -96,13 +102,36 @@ public class Tuner implements AutoCloseable {
|
||||
* @param useCase the use case of this Tuner instance.
|
||||
*/
|
||||
@RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER)
|
||||
public Tuner(@NonNull Context context, @NonNull String tvInputSessionId,
|
||||
@TvInputService.PriorityHintUseCaseType int useCase,
|
||||
@Nullable OnResourceLostListener listener) {
|
||||
public Tuner(@NonNull Context context, @Nullable String tvInputSessionId,
|
||||
@TvInputService.PriorityHintUseCaseType int useCase) {
|
||||
nativeSetup();
|
||||
mContext = context;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the listener for resource lost.
|
||||
*
|
||||
* @param executor the executor on which the listener should be invoked.
|
||||
* @param listener the listener that will be run.
|
||||
*/
|
||||
@RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER)
|
||||
public void setResourceLostListener(@NonNull @CallbackExecutor Executor executor,
|
||||
@NonNull OnResourceLostListener listener) {
|
||||
Objects.requireNonNull(executor, "OnResourceLostListener must not be null");
|
||||
Objects.requireNonNull(listener, "executor must not be null");
|
||||
mOnResourceLostListener = listener;
|
||||
mOnResourceLostListenerExecutor = executor;
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes the listener for resource lost.
|
||||
*/
|
||||
@RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER)
|
||||
public void clearResourceLostListener() {
|
||||
mOnResourceLostListener = null;
|
||||
mOnResourceLostListenerExecutor = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Shares the frontend resource with another Tuner instance
|
||||
*
|
||||
@@ -386,7 +415,7 @@ public class Tuner implements AutoCloseable {
|
||||
*/
|
||||
@RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER)
|
||||
@Result
|
||||
public int setLna(boolean enable) {
|
||||
public int setLnaEnabled(boolean enable) {
|
||||
TunerUtils.checkTunerPermission(mContext);
|
||||
return nativeSetLna(enable);
|
||||
}
|
||||
@@ -397,10 +426,10 @@ public class Tuner implements AutoCloseable {
|
||||
* <p>This retrieve the statuses of the frontend for given status types.
|
||||
*
|
||||
* @param statusTypes an array of status types which the caller requests.
|
||||
* @return statuses which response the caller's requests.
|
||||
* @return statuses which response the caller's requests. {@code null} if the operation failed.
|
||||
*/
|
||||
@Nullable
|
||||
public FrontendStatus getFrontendStatus(@NonNull int[] statusTypes) {
|
||||
public FrontendStatus getFrontendStatus(@NonNull @FrontendStatusType int[] statusTypes) {
|
||||
return nativeGetFrontendStatus(statusTypes);
|
||||
}
|
||||
|
||||
@@ -481,6 +510,10 @@ public class Tuner implements AutoCloseable {
|
||||
|
||||
/**
|
||||
* Gets Demux capabilities.
|
||||
*
|
||||
* @param context the context of the caller.
|
||||
* @return A {@link DemuxCapabilities} instance that represents the demux capabilities.
|
||||
* {@code null} if the operation failed.
|
||||
*/
|
||||
@RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER)
|
||||
@Nullable
|
||||
@@ -552,13 +585,15 @@ public class Tuner implements AutoCloseable {
|
||||
*/
|
||||
@RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER)
|
||||
@Nullable
|
||||
public Lnb openLnb(@CallbackExecutor @Nullable Executor executor, @Nullable LnbCallback cb) {
|
||||
public Lnb openLnb(@CallbackExecutor @NonNull Executor executor, @NonNull LnbCallback cb) {
|
||||
Objects.requireNonNull(executor, "executor must not be null");
|
||||
Objects.requireNonNull(cb, "LnbCallback must not be null");
|
||||
TunerUtils.checkTunerPermission(mContext);
|
||||
return openLnbByName(null, executor, cb);
|
||||
}
|
||||
|
||||
/**
|
||||
* Opens an LNB (low-noise block downconverter) object.
|
||||
* Opens an LNB (low-noise block downconverter) object specified by the give name.
|
||||
*
|
||||
* @param name the LNB name.
|
||||
* @param executor the executor on which callback will be invoked. The default event handler
|
||||
@@ -568,8 +603,10 @@ public class Tuner implements AutoCloseable {
|
||||
*/
|
||||
@RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER)
|
||||
@Nullable
|
||||
public Lnb openLnbByName(@Nullable String name, @CallbackExecutor @Nullable Executor executor,
|
||||
public Lnb openLnbByName(@NonNull String name, @CallbackExecutor @NonNull Executor executor,
|
||||
@NonNull LnbCallback cb) {
|
||||
Objects.requireNonNull(executor, "executor must not be null");
|
||||
Objects.requireNonNull(cb, "LnbCallback must not be null");
|
||||
TunerUtils.checkTunerPermission(mContext);
|
||||
// TODO: use resource manager to get LNB ID.
|
||||
return new Lnb(0);
|
||||
@@ -633,8 +670,10 @@ public class Tuner implements AutoCloseable {
|
||||
@Nullable
|
||||
public DvrRecorder openDvrRecorder(
|
||||
@BytesLong long bufferSize,
|
||||
@CallbackExecutor @Nullable Executor executor,
|
||||
@Nullable OnRecordStatusChangedListener l) {
|
||||
@CallbackExecutor @NonNull Executor executor,
|
||||
@NonNull OnRecordStatusChangedListener l) {
|
||||
Objects.requireNonNull(executor, "executor must not be null");
|
||||
Objects.requireNonNull(l, "OnRecordStatusChangedListener must not be null");
|
||||
TunerUtils.checkTunerPermission(mContext);
|
||||
DvrRecorder dvr = nativeOpenDvrRecorder(bufferSize);
|
||||
return dvr;
|
||||
@@ -654,8 +693,10 @@ public class Tuner implements AutoCloseable {
|
||||
@Nullable
|
||||
public DvrPlayback openDvrPlayback(
|
||||
@BytesLong long bufferSize,
|
||||
@CallbackExecutor @Nullable Executor executor,
|
||||
@Nullable OnPlaybackStatusChangedListener l) {
|
||||
@CallbackExecutor @NonNull Executor executor,
|
||||
@NonNull OnPlaybackStatusChangedListener l) {
|
||||
Objects.requireNonNull(executor, "executor must not be null");
|
||||
Objects.requireNonNull(l, "OnPlaybackStatusChangedListener must not be null");
|
||||
TunerUtils.checkTunerPermission(mContext);
|
||||
DvrPlayback dvr = nativeOpenDvrPlayback(bufferSize);
|
||||
return dvr;
|
||||
|
||||
@@ -53,7 +53,7 @@ public interface ScanCallback {
|
||||
void onInputStreamIds(@NonNull int[] inputStreamIds);
|
||||
|
||||
/** Locked signal standard for DVBS. */
|
||||
void onDvbsStandard(@DvbsFrontendSettings.Standard int dvbsStandandard);
|
||||
void onDvbsStandard(@DvbsFrontendSettings.Standard int dvbsStandard);
|
||||
|
||||
/** Locked signal standard. for DVBT */
|
||||
void onDvbtStandard(@DvbtFrontendSettings.Standard int dvbtStandard);
|
||||
|
||||
@@ -48,13 +48,13 @@ public class TunerTest {
|
||||
|
||||
@Test
|
||||
public void testTunerConstructor() throws Exception {
|
||||
Tuner tuner = new Tuner(mContext, "123", 1, null);
|
||||
Tuner tuner = new Tuner(mContext, "123", 1);
|
||||
assertNotNull(tuner);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testOpenDescrambler() throws Exception {
|
||||
Tuner tuner = new Tuner(mContext, "123", 1, null);
|
||||
Tuner tuner = new Tuner(mContext, "123", 1);
|
||||
Descrambler descrambler = tuner.openDescrambler();
|
||||
assertNotNull(descrambler);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user