API review: android.media.tv
TvInputInfo
- Renamed getIntentForSettingsActivity to createSettingsIntent.
- Renamed getIntentForSetupActivity to createSetupIntent.
- Changed the value of EXTRA_INPUT_ID from inputId to
android.media.tv.extra.INPUT_ID.
- Removed @hiden from CREATOR.
TvInputManager
- Renamed TvInputListener to TvInputCallback.
- Renamed registerListener to registerCallback.
- Renamed unregisterListener to unregisterCallback.
- Changed the value of ACTION_BLOCKED_RATINGS_CHANGED from
android.media.tv.TvInputManager.ACTION_BLOCKED_RATINGS_CHANGED
to android.media.tv.action.BLOCKED_RATINGS_CHANGED.
- Changed the value of ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED from
android.media.tv.TvInputManager.ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED
to android.media.tv.action.PARENTAL_CONTROLS_ENABLED_CHANGED.
- Changed the value of ACTION_QUERY_CONTENT_RATING_SYSTEMS from
android.media.tv.TvInputManager.ACTION_QUERY_CONTENT_RATING_SYSTEMS
to android.media.tv.action.QUERY_CONTENT_RATING_SYSTEMS.
- Changed the value of META_DATA_CONTENT_RATING_SYSTEMS from
android.media.tv.TvInputManager.META_DATA_CONTENT_RATING_SYSTEMS
to android.media.tv.metadata.CONTENT_RATING_SYSTEMS.
TvView
- Renamed TvInputListener to TvInputCallback.
- Renamed setTvInputListener to setCallback.
Bug: 17389538
Change-Id: I3dceee3db67862d77b183aef0da4fd3a8681ab1b
diff --git a/api/current.txt b/api/current.txt
index fb52648..559a4f5 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -16722,10 +16722,10 @@
}
public final class TvInputInfo implements android.os.Parcelable {
+ method public android.content.Intent createSettingsIntent();
+ method public android.content.Intent createSetupIntent();
method public int describeContents();
method public java.lang.String getId();
- method public android.content.Intent getIntentForSettingsActivity();
- method public android.content.Intent getIntentForSetupActivity();
method public java.lang.String getParentId();
method public android.content.pm.ServiceInfo getServiceInfo();
method public int getType();
@@ -16733,7 +16733,8 @@
method public android.graphics.drawable.Drawable loadIcon(android.content.Context);
method public java.lang.CharSequence loadLabel(android.content.Context);
method public void writeToParcel(android.os.Parcel, int);
- field public static final java.lang.String EXTRA_INPUT_ID = "inputId";
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public static final java.lang.String EXTRA_INPUT_ID = "android.media.tv.extra.INPUT_ID";
field public static final int TYPE_COMPONENT = 1004; // 0x3ec
field public static final int TYPE_COMPOSITE = 1001; // 0x3e9
field public static final int TYPE_DISPLAY_PORT = 1008; // 0x3f0
@@ -16752,23 +16753,23 @@
method public java.util.List<android.media.tv.TvInputInfo> getTvInputList();
method public boolean isParentalControlsEnabled();
method public boolean isRatingBlocked(android.media.tv.TvContentRating);
- method public void registerListener(android.media.tv.TvInputManager.TvInputListener, android.os.Handler);
- method public void unregisterListener(android.media.tv.TvInputManager.TvInputListener);
- field public static final java.lang.String ACTION_BLOCKED_RATINGS_CHANGED = "android.media.tv.TvInputManager.ACTION_BLOCKED_RATINGS_CHANGED";
- field public static final java.lang.String ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED = "android.media.tv.TvInputManager.ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED";
- field public static final java.lang.String ACTION_QUERY_CONTENT_RATING_SYSTEMS = "android.media.tv.TvInputManager.ACTION_QUERY_CONTENT_RATING_SYSTEMS";
+ method public void registerCallback(android.media.tv.TvInputManager.TvInputCallback, android.os.Handler);
+ method public void unregisterCallback(android.media.tv.TvInputManager.TvInputCallback);
+ field public static final java.lang.String ACTION_BLOCKED_RATINGS_CHANGED = "android.media.tv.action.BLOCKED_RATINGS_CHANGED";
+ field public static final java.lang.String ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED = "android.media.tv.action.PARENTAL_CONTROLS_ENABLED_CHANGED";
+ field public static final java.lang.String ACTION_QUERY_CONTENT_RATING_SYSTEMS = "android.media.tv.action.QUERY_CONTENT_RATING_SYSTEMS";
field public static final int INPUT_STATE_CONNECTED = 0; // 0x0
field public static final int INPUT_STATE_CONNECTED_STANDBY = 1; // 0x1
field public static final int INPUT_STATE_DISCONNECTED = 2; // 0x2
- field public static final java.lang.String META_DATA_CONTENT_RATING_SYSTEMS = "android.media.tv.TvInputManager.META_DATA_CONTENT_RATING_SYSTEMS";
+ field public static final java.lang.String META_DATA_CONTENT_RATING_SYSTEMS = "android.media.tv.metadata.CONTENT_RATING_SYSTEMS";
field public static final int VIDEO_UNAVAILABLE_REASON_BUFFERING = 3; // 0x3
field public static final int VIDEO_UNAVAILABLE_REASON_TUNING = 1; // 0x1
field public static final int VIDEO_UNAVAILABLE_REASON_UNKNOWN = 0; // 0x0
field public static final int VIDEO_UNAVAILABLE_REASON_WEAK_SIGNAL = 2; // 0x2
}
- public static abstract class TvInputManager.TvInputListener {
- ctor public TvInputManager.TvInputListener();
+ public static abstract class TvInputManager.TvInputCallback {
+ ctor public TvInputManager.TvInputCallback();
method public void onInputAdded(java.lang.String);
method public void onInputRemoved(java.lang.String);
method public void onInputStateChanged(java.lang.String, int);
@@ -16859,10 +16860,10 @@
method public boolean onUnhandledInputEvent(android.view.InputEvent);
method public void reset();
method public void selectTrack(int, java.lang.String);
+ method public void setCallback(android.media.tv.TvView.TvInputCallback);
method public void setCaptionEnabled(boolean);
method public void setOnUnhandledInputEventListener(android.media.tv.TvView.OnUnhandledInputEventListener);
method public void setStreamVolume(float);
- method public void setTvInputListener(android.media.tv.TvView.TvInputListener);
method public void tune(java.lang.String, android.net.Uri);
}
@@ -16870,8 +16871,8 @@
method public abstract boolean onUnhandledInputEvent(android.view.InputEvent);
}
- public static abstract class TvView.TvInputListener {
- ctor public TvView.TvInputListener();
+ public static abstract class TvView.TvInputCallback {
+ ctor public TvView.TvInputCallback();
method public void onChannelRetuned(java.lang.String, android.net.Uri);
method public void onConnectionFailed(java.lang.String);
method public void onContentAllowed(java.lang.String);
diff --git a/media/java/android/media/tv/TvInputInfo.java b/media/java/android/media/tv/TvInputInfo.java
index 46b8871..704e4a1 100644
--- a/media/java/android/media/tv/TvInputInfo.java
+++ b/media/java/android/media/tv/TvInputInfo.java
@@ -102,7 +102,7 @@
/**
* The ID of the TV input to provide to the setup activity and settings activity.
*/
- public static final String EXTRA_INPUT_ID = "inputId";
+ public static final String EXTRA_INPUT_ID = "android.media.tv.extra.INPUT_ID";
private static SparseIntArray sHardwareTypeToTvInputType = new SparseIntArray();
@@ -319,9 +319,9 @@
}
/**
- * Returns an intent to start the setup activity for this TV input service.
+ * Returns an intent to start the setup activity for this TV input.
*/
- public Intent getIntentForSetupActivity() {
+ public Intent createSetupIntent() {
if (!TextUtils.isEmpty(mSetupActivity)) {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setClassName(mService.serviceInfo.packageName, mSetupActivity);
@@ -332,9 +332,9 @@
}
/**
- * Returns an intent to start the settings activity for this TV input service.
+ * Returns an intent to start the settings activity for this TV input.
*/
- public Intent getIntentForSettingsActivity() {
+ public Intent createSettingsIntent() {
if (!TextUtils.isEmpty(mSettingsActivity)) {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setClassName(mService.serviceInfo.packageName, mSettingsActivity);
@@ -532,10 +532,6 @@
DELIMITER_INFO_IN_ID, PREFIX_HARDWARE_DEVICE, hardwareInfo.getDeviceId());
}
- /**
- * Used to make this class parcelable.
- * @hide
- */
public static final Parcelable.Creator<TvInputInfo> CREATOR =
new Parcelable.Creator<TvInputInfo>() {
@Override
diff --git a/media/java/android/media/tv/TvInputManager.java b/media/java/android/media/tv/TvInputManager.java
index ddc383a..d2deb66 100644
--- a/media/java/android/media/tv/TvInputManager.java
+++ b/media/java/android/media/tv/TvInputManager.java
@@ -75,7 +75,7 @@
* The TV input is connected.
* <p>
* State for {@link #getInputState} and {@link
- * TvInputManager.TvInputListener#onInputStateChanged}.
+ * TvInputManager.TvInputCallback#onInputStateChanged}.
* </p>
*/
public static final int INPUT_STATE_CONNECTED = 0;
@@ -84,7 +84,7 @@
* fully ready.
* <p>
* State for {@link #getInputState} and {@link
- * TvInputManager.TvInputListener#onInputStateChanged}.
+ * TvInputManager.TvInputCallback#onInputStateChanged}.
* </p>
*/
public static final int INPUT_STATE_CONNECTED_STANDBY = 1;
@@ -92,7 +92,7 @@
* The TV input is disconnected.
* <p>
* State for {@link #getInputState} and {@link
- * TvInputManager.TvInputListener#onInputStateChanged}.
+ * TvInputManager.TvInputCallback#onInputStateChanged}.
* </p>
*/
public static final int INPUT_STATE_DISCONNECTED = 2;
@@ -102,14 +102,14 @@
* {@link #isRatingBlocked}.
*/
public static final String ACTION_BLOCKED_RATINGS_CHANGED =
- "android.media.tv.TvInputManager.ACTION_BLOCKED_RATINGS_CHANGED";
+ "android.media.tv.action.BLOCKED_RATINGS_CHANGED";
/**
* Broadcast intent action when the parental controls enabled state changes. For use with the
* {@link #isParentalControlsEnabled}.
*/
public static final String ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED =
- "android.media.tv.TvInputManager.ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED";
+ "android.media.tv.action.PARENTAL_CONTROLS_ENABLED_CHANGED";
/**
* Broadcast intent action used to query available content rating systems.
@@ -143,7 +143,7 @@
* @see TvContentRating
*/
public static final String ACTION_QUERY_CONTENT_RATING_SYSTEMS =
- "android.media.tv.TvInputManager.ACTION_QUERY_CONTENT_RATING_SYSTEMS";
+ "android.media.tv.action.QUERY_CONTENT_RATING_SYSTEMS";
/**
* Content rating systems metadata associated with {@link #ACTION_QUERY_CONTENT_RATING_SYSTEMS}.
@@ -153,15 +153,15 @@
* </p>
*/
public static final String META_DATA_CONTENT_RATING_SYSTEMS =
- "android.media.tv.TvInputManager.META_DATA_CONTENT_RATING_SYSTEMS";
+ "android.media.tv.metadata.CONTENT_RATING_SYSTEMS";
private final ITvInputManager mService;
private final Object mLock = new Object();
// @GuardedBy(mLock)
- private final List<TvInputListenerRecord> mTvInputListenerRecordsList =
- new LinkedList<TvInputListenerRecord>();
+ private final List<TvInputCallbackRecord> mCallbackRecords =
+ new LinkedList<TvInputCallbackRecord>();
// A mapping from TV input ID to the state of corresponding input.
// @GuardedBy(mLock)
@@ -177,7 +177,7 @@
private final ITvInputClient mClient;
- private final ITvInputManagerCallback mCallback;
+ private final ITvInputManagerCallback mManagerCallback;
private final int mUserId;
@@ -445,9 +445,9 @@
}
/**
- * Interface used to monitor status of the TV input.
+ * Callback used to monitor status of the TV input.
*/
- public abstract static class TvInputListener {
+ public abstract static class TvInputCallback {
/**
* This is called when the state of a given TV input is changed.
*
@@ -479,24 +479,24 @@
}
}
- private static final class TvInputListenerRecord {
- private final TvInputListener mListener;
+ private static final class TvInputCallbackRecord {
+ private final TvInputCallback mCallback;
private final Handler mHandler;
- public TvInputListenerRecord(TvInputListener listener, Handler handler) {
- mListener = listener;
+ public TvInputCallbackRecord(TvInputCallback callback, Handler handler) {
+ mCallback = callback;
mHandler = handler;
}
- public TvInputListener getListener() {
- return mListener;
+ public TvInputCallback getCallback() {
+ return mCallback;
}
public void postInputStateChanged(final String inputId, final int state) {
mHandler.post(new Runnable() {
@Override
public void run() {
- mListener.onInputStateChanged(inputId, state);
+ mCallback.onInputStateChanged(inputId, state);
}
});
}
@@ -505,7 +505,7 @@
mHandler.post(new Runnable() {
@Override
public void run() {
- mListener.onInputAdded(inputId);
+ mCallback.onInputAdded(inputId);
}
});
}
@@ -514,7 +514,7 @@
mHandler.post(new Runnable() {
@Override
public void run() {
- mListener.onInputRemoved(inputId);
+ mCallback.onInputRemoved(inputId);
}
});
}
@@ -677,12 +677,12 @@
}
}
};
- mCallback = new ITvInputManagerCallback.Stub() {
+ mManagerCallback = new ITvInputManagerCallback.Stub() {
@Override
public void onInputStateChanged(String inputId, int state) {
synchronized (mLock) {
mStateMap.put(inputId, state);
- for (TvInputListenerRecord record : mTvInputListenerRecordsList) {
+ for (TvInputCallbackRecord record : mCallbackRecords) {
record.postInputStateChanged(inputId, state);
}
}
@@ -692,7 +692,7 @@
public void onInputAdded(String inputId) {
synchronized (mLock) {
mStateMap.put(inputId, INPUT_STATE_CONNECTED);
- for (TvInputListenerRecord record : mTvInputListenerRecordsList) {
+ for (TvInputCallbackRecord record : mCallbackRecords) {
record.postInputAdded(inputId);
}
}
@@ -702,14 +702,14 @@
public void onInputRemoved(String inputId) {
synchronized (mLock) {
mStateMap.remove(inputId);
- for (TvInputListenerRecord record : mTvInputListenerRecordsList) {
+ for (TvInputCallbackRecord record : mCallbackRecords) {
record.postInputRemoved(inputId);
}
}
}
};
try {
- mService.registerCallback(mCallback, mUserId);
+ mService.registerCallback(mManagerCallback, mUserId);
} catch (RemoteException e) {
Log.e(TAG, "mService.registerCallback failed: " + e);
}
@@ -771,39 +771,39 @@
}
/**
- * Registers a {@link TvInputListener}.
+ * Registers a {@link TvInputCallback}.
*
- * @param listener A listener used to monitor status of the TV inputs.
+ * @param callback A callback used to monitor status of the TV inputs.
* @param handler A {@link Handler} that the status change will be delivered to.
* @throws IllegalArgumentException if any of the arguments is {@code null}.
*/
- public void registerListener(TvInputListener listener, Handler handler) {
- if (listener == null) {
+ public void registerCallback(TvInputCallback callback, Handler handler) {
+ if (callback == null) {
throw new IllegalArgumentException("callback cannot be null");
}
if (handler == null) {
throw new IllegalArgumentException("handler cannot be null");
}
synchronized (mLock) {
- mTvInputListenerRecordsList.add(new TvInputListenerRecord(listener, handler));
+ mCallbackRecords.add(new TvInputCallbackRecord(callback, handler));
}
}
/**
- * Unregisters the existing {@link TvInputListener}.
+ * Unregisters the existing {@link TvInputCallback}.
*
- * @param listener The existing listener to remove.
+ * @param callback The existing callback to remove.
* @throws IllegalArgumentException if any of the arguments is {@code null}.
*/
- public void unregisterListener(final TvInputListener listener) {
- if (listener == null) {
+ public void unregisterCallback(final TvInputCallback callback) {
+ if (callback == null) {
throw new IllegalArgumentException("callback cannot be null");
}
synchronized (mLock) {
- for (Iterator<TvInputListenerRecord> it = mTvInputListenerRecordsList.iterator();
+ for (Iterator<TvInputCallbackRecord> it = mCallbackRecords.iterator();
it.hasNext(); ) {
- TvInputListenerRecord record = it.next();
- if (record.getListener() == listener) {
+ TvInputCallbackRecord record = it.next();
+ if (record.getCallback() == callback) {
it.remove();
break;
}
diff --git a/media/java/android/media/tv/TvView.java b/media/java/android/media/tv/TvView.java
index f4c761e..4171e6d 100644
--- a/media/java/android/media/tv/TvView.java
+++ b/media/java/android/media/tv/TvView.java
@@ -83,7 +83,7 @@
private Rect mOverlayViewFrame;
private final TvInputManager mTvInputManager;
private MySessionCallback mSessionCallback;
- private TvInputListener mListener;
+ private TvInputCallback mCallback;
private OnUnhandledInputEventListener mOnUnhandledInputEventListener;
private boolean mHasStreamVolume;
private float mStreamVolume;
@@ -170,13 +170,13 @@
}
/**
- * Sets a listener for events in this TvView.
+ * Sets the callback to be invoked when an event is dispatched to this TvView.
*
- * @param listener The listener to be called with events. A value of {@code null} removes any
- * existing listener.
+ * @param callback The callback to receive events. A value of {@code null} removes any existing
+ * callbacks.
*/
- public void setTvInputListener(TvInputListener listener) {
- mListener = listener;
+ public void setCallback(TvInputCallback callback) {
+ mCallback = callback;
}
/**
@@ -680,9 +680,9 @@
}
/**
- * Interface used to receive various status updates on the {@link TvView}.
+ * Callback used to receive various status updates on the {@link TvView}.
*/
- public abstract static class TvInputListener {
+ public abstract static class TvInputCallback {
/**
* This is invoked when an error occurred while establishing a connection to the underlying
@@ -863,8 +863,8 @@
}
} else {
mSessionCallback = null;
- if (mListener != null) {
- mListener.onConnectionFailed(mInputId);
+ if (mCallback != null) {
+ mCallback.onConnectionFailed(mInputId);
}
}
}
@@ -878,8 +878,8 @@
mOverlayViewFrame = null;
mSessionCallback = null;
mSession = null;
- if (mListener != null) {
- mListener.onDisconnected(mInputId);
+ if (mCallback != null) {
+ mCallback.onDisconnected(mInputId);
}
}
@@ -891,8 +891,8 @@
if (DEBUG) {
Log.d(TAG, "onChannelChangedByTvInput(" + channelUri + ")");
}
- if (mListener != null) {
- mListener.onChannelRetuned(mInputId, channelUri);
+ if (mCallback != null) {
+ mCallback.onChannelRetuned(mInputId, channelUri);
}
}
@@ -904,8 +904,8 @@
if (DEBUG) {
Log.d(TAG, "onTracksChanged()");
}
- if (mListener != null) {
- mListener.onTracksChanged(mInputId, tracks);
+ if (mCallback != null) {
+ mCallback.onTracksChanged(mInputId, tracks);
}
}
@@ -918,8 +918,8 @@
Log.d(TAG, "onTrackSelected()");
}
// TODO: Update the video size when the type is TYPE_VIDEO.
- if (mListener != null) {
- mListener.onTrackSelected(mInputId, type, trackId);
+ if (mCallback != null) {
+ mCallback.onTrackSelected(mInputId, type, trackId);
}
}
@@ -931,8 +931,8 @@
if (DEBUG) {
Log.d(TAG, "onVideoAvailable()");
}
- if (mListener != null) {
- mListener.onVideoAvailable(mInputId);
+ if (mCallback != null) {
+ mCallback.onVideoAvailable(mInputId);
}
}
@@ -944,8 +944,8 @@
if (DEBUG) {
Log.d(TAG, "onVideoUnavailable(" + reason + ")");
}
- if (mListener != null) {
- mListener.onVideoUnavailable(mInputId, reason);
+ if (mCallback != null) {
+ mCallback.onVideoUnavailable(mInputId, reason);
}
}
@@ -957,8 +957,8 @@
if (DEBUG) {
Log.d(TAG, "onContentAllowed()");
}
- if (mListener != null) {
- mListener.onContentAllowed(mInputId);
+ if (mCallback != null) {
+ mCallback.onContentAllowed(mInputId);
}
}
@@ -970,8 +970,8 @@
if (DEBUG) {
Log.d(TAG, "onContentBlocked()");
}
- if (mListener != null) {
- mListener.onContentBlocked(mInputId, rating);
+ if (mCallback != null) {
+ mCallback.onContentBlocked(mInputId, rating);
}
}
@@ -1000,8 +1000,8 @@
if (DEBUG) {
Log.d(TAG, "onSessionEvent(" + eventType + ")");
}
- if (mListener != null) {
- mListener.onEvent(mInputId, eventType, eventArgs);
+ if (mCallback != null) {
+ mCallback.onEvent(mInputId, eventType, eventArgs);
}
}
}