diff --git a/media/java/android/media/tv/BroadcastInfoRequest.java b/media/java/android/media/tv/BroadcastInfoRequest.java index c439356ef1846..85ad3cdb57005 100644 --- a/media/java/android/media/tv/BroadcastInfoRequest.java +++ b/media/java/android/media/tv/BroadcastInfoRequest.java @@ -16,38 +16,41 @@ package android.media.tv; +import android.annotation.IntDef; +import android.annotation.NonNull; import android.os.Parcel; import android.os.Parcelable; -import android.annotation.NonNull; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; /** @hide */ public abstract class BroadcastInfoRequest implements Parcelable { + @Retention(RetentionPolicy.SOURCE) + @IntDef({REQUEST_OPTION_REPEAT, REQUEST_OPTION_AUTO_UPDATE}) + public @interface RequestOption {} - // todo: change const declaration to intdef - public static final int REQUEST_OPTION_REPEAT = 11; - public static final int REQUEST_OPTION_AUTO_UPDATE = 12; + public static final int REQUEST_OPTION_REPEAT = 0; + public static final int REQUEST_OPTION_AUTO_UPDATE = 1; public static final @NonNull Parcelable.Creator CREATOR = new Parcelable.Creator() { @Override public BroadcastInfoRequest createFromParcel(Parcel source) { - int type = source.readInt(); + @TvInputManager.BroadcastInfoType int type = source.readInt(); switch (type) { - case BroadcastInfoType.TS: + case TvInputManager.BROADCAST_INFO_TYPE_TS: return TsRequest.createFromParcelBody(source); - case BroadcastInfoType.TABLE: - return TableRequest.createFromParcelBody(source); - case BroadcastInfoType.SECTION: + case TvInputManager.BROADCAST_INFO_TYPE_SECTION: return SectionRequest.createFromParcelBody(source); - case BroadcastInfoType.PES: + case TvInputManager.BROADCAST_INFO_TYPE_PES: return PesRequest.createFromParcelBody(source); - case BroadcastInfoType.STREAM_EVENT: + case TvInputManager.BROADCAST_INFO_STREAM_EVENT: return StreamEventRequest.createFromParcelBody(source); - case BroadcastInfoType.DSMCC: + case TvInputManager.BROADCAST_INFO_TYPE_DSMCC: return DsmccRequest.createFromParcelBody(source); - case BroadcastInfoType.TV_PROPRIETARY_FUNCTION: - return TvProprietaryFunctionRequest.createFromParcelBody(source); + case TvInputManager.BROADCAST_INFO_TYPE_TV_PROPRIETARY_FUNCTION: + return CommandRequest.createFromParcelBody(source); default: throw new IllegalStateException( "Unexpected broadcast info request type (value " @@ -61,23 +64,24 @@ public abstract class BroadcastInfoRequest implements Parcelable { } }; - protected final int mType; + protected final @TvInputManager.BroadcastInfoType int mType; protected final int mRequestId; - protected final int mOption; + protected final @RequestOption int mOption; - protected BroadcastInfoRequest(int type, int requestId, int option) { + protected BroadcastInfoRequest(@TvInputManager.BroadcastInfoType int type, + int requestId, @RequestOption int option) { mType = type; mRequestId = requestId; mOption = option; } - protected BroadcastInfoRequest(int type, Parcel source) { + protected BroadcastInfoRequest(@TvInputManager.BroadcastInfoType int type, Parcel source) { mType = type; mRequestId = source.readInt(); mOption = source.readInt(); } - public int getType() { + public @TvInputManager.BroadcastInfoType int getType() { return mType; } @@ -85,7 +89,7 @@ public abstract class BroadcastInfoRequest implements Parcelable { return mRequestId; } - public int getOption() { + public @RequestOption int getOption() { return mOption; } diff --git a/media/java/android/media/tv/BroadcastInfoResponse.java b/media/java/android/media/tv/BroadcastInfoResponse.java index 288f2f97e3b92..e423abaf550d3 100644 --- a/media/java/android/media/tv/BroadcastInfoResponse.java +++ b/media/java/android/media/tv/BroadcastInfoResponse.java @@ -16,38 +16,42 @@ package android.media.tv; +import android.annotation.IntDef; +import android.annotation.NonNull; import android.os.Parcel; import android.os.Parcelable; -import android.annotation.NonNull; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; /** @hide */ public abstract class BroadcastInfoResponse implements Parcelable { - // todo: change const declaration to intdef - public static final int ERROR = 1; - public static final int OK = 2; - public static final int CANCEL = 3; + @Retention(RetentionPolicy.SOURCE) + @IntDef({RESPONSE_RESULT_ERROR, RESPONSE_RESULT_OK, RESPONSE_RESULT_CANCEL}) + public @interface ResponseResult {} + + public static final int RESPONSE_RESULT_ERROR = 1; + public static final int RESPONSE_RESULT_OK = 2; + public static final int RESPONSE_RESULT_CANCEL = 3; public static final @NonNull Parcelable.Creator CREATOR = new Parcelable.Creator() { @Override public BroadcastInfoResponse createFromParcel(Parcel source) { - int type = source.readInt(); + @TvInputManager.BroadcastInfoType int type = source.readInt(); switch (type) { - case BroadcastInfoType.TS: + case TvInputManager.BROADCAST_INFO_TYPE_TS: return TsResponse.createFromParcelBody(source); - case BroadcastInfoType.TABLE: - return TableResponse.createFromParcelBody(source); - case BroadcastInfoType.SECTION: + case TvInputManager.BROADCAST_INFO_TYPE_SECTION: return SectionResponse.createFromParcelBody(source); - case BroadcastInfoType.PES: + case TvInputManager.BROADCAST_INFO_TYPE_PES: return PesResponse.createFromParcelBody(source); - case BroadcastInfoType.STREAM_EVENT: + case TvInputManager.BROADCAST_INFO_STREAM_EVENT: return StreamEventResponse.createFromParcelBody(source); - case BroadcastInfoType.DSMCC: + case TvInputManager.BROADCAST_INFO_TYPE_DSMCC: return DsmccResponse.createFromParcelBody(source); - case BroadcastInfoType.TV_PROPRIETARY_FUNCTION: - return TvProprietaryFunctionResponse.createFromParcelBody(source); + case TvInputManager.BROADCAST_INFO_TYPE_TV_PROPRIETARY_FUNCTION: + return CommandResponse.createFromParcelBody(source); default: throw new IllegalStateException( "Unexpected broadcast info response type (value " @@ -61,26 +65,27 @@ public abstract class BroadcastInfoResponse implements Parcelable { } }; - protected final int mType; + protected final @TvInputManager.BroadcastInfoType int mType; protected final int mRequestId; protected final int mSequence; - protected final int mResponseResult; + protected final @ResponseResult int mResponseResult; - protected BroadcastInfoResponse(int type, int requestId, int sequence, int responseResult) { + protected BroadcastInfoResponse(@TvInputManager.BroadcastInfoType int type, int requestId, + int sequence, @ResponseResult int responseResult) { mType = type; mRequestId = requestId; mSequence = sequence; mResponseResult = responseResult; } - protected BroadcastInfoResponse(int type, Parcel source) { + protected BroadcastInfoResponse(@TvInputManager.BroadcastInfoType int type, Parcel source) { mType = type; mRequestId = source.readInt(); mSequence = source.readInt(); mResponseResult = source.readInt(); } - public int getType() { + public @TvInputManager.BroadcastInfoType int getType() { return mType; } @@ -92,7 +97,7 @@ public abstract class BroadcastInfoResponse implements Parcelable { return mSequence; } - public int getResponseResult() { + public @ResponseResult int getResponseResult() { return mResponseResult; } diff --git a/media/java/android/media/tv/BroadcastInfoType.java b/media/java/android/media/tv/BroadcastInfoType.java deleted file mode 100644 index e7a0595d1ce9b..0000000000000 --- a/media/java/android/media/tv/BroadcastInfoType.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (C) 2021 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.media.tv; - -/** @hide */ -public final class BroadcastInfoType { - // todo: change const declaration to intdef in TvInputManager - public static final int TS = 1; - public static final int TABLE = 2; - public static final int SECTION = 3; - public static final int PES = 4; - public static final int STREAM_EVENT = 5; - public static final int DSMCC = 6; - public static final int TV_PROPRIETARY_FUNCTION = 7; - - private BroadcastInfoType() { - } -} diff --git a/media/java/android/media/tv/TvProprietaryFunctionRequest.java b/media/java/android/media/tv/CommandRequest.java similarity index 68% rename from media/java/android/media/tv/TvProprietaryFunctionRequest.java rename to media/java/android/media/tv/CommandRequest.java index 845641d4d6ca0..2391fa3a4aefb 100644 --- a/media/java/android/media/tv/TvProprietaryFunctionRequest.java +++ b/media/java/android/media/tv/CommandRequest.java @@ -21,20 +21,21 @@ import android.os.Parcel; import android.os.Parcelable; /** @hide */ -public class TvProprietaryFunctionRequest extends BroadcastInfoRequest implements Parcelable { - public static final int requestType = BroadcastInfoType.TV_PROPRIETARY_FUNCTION; +public final class CommandRequest extends BroadcastInfoRequest implements Parcelable { + public static final @TvInputManager.BroadcastInfoType int requestType = + TvInputManager.BROADCAST_INFO_TYPE_TV_PROPRIETARY_FUNCTION; - public static final @NonNull Parcelable.Creator CREATOR = - new Parcelable.Creator() { + public static final @NonNull Parcelable.Creator CREATOR = + new Parcelable.Creator() { @Override - public TvProprietaryFunctionRequest createFromParcel(Parcel source) { + public CommandRequest createFromParcel(Parcel source) { source.readInt(); return createFromParcelBody(source); } @Override - public TvProprietaryFunctionRequest[] newArray(int size) { - return new TvProprietaryFunctionRequest[size]; + public CommandRequest[] newArray(int size) { + return new CommandRequest[size]; } }; @@ -42,11 +43,11 @@ public class TvProprietaryFunctionRequest extends BroadcastInfoRequest implement private final String mName; private final String mArguments; - public static TvProprietaryFunctionRequest createFromParcelBody(Parcel in) { - return new TvProprietaryFunctionRequest(in); + public static CommandRequest createFromParcelBody(Parcel in) { + return new CommandRequest(in); } - public TvProprietaryFunctionRequest(int requestId, int option, String nameSpace, + public CommandRequest(int requestId, @RequestOption int option, String nameSpace, String name, String arguments) { super(requestType, requestId, option); mNameSpace = nameSpace; @@ -54,7 +55,7 @@ public class TvProprietaryFunctionRequest extends BroadcastInfoRequest implement mArguments = arguments; } - protected TvProprietaryFunctionRequest(Parcel source) { + protected CommandRequest(Parcel source) { super(requestType, source); mNameSpace = source.readString(); mName = source.readString(); diff --git a/media/java/android/media/tv/TvProprietaryFunctionResponse.java b/media/java/android/media/tv/CommandResponse.java similarity index 61% rename from media/java/android/media/tv/TvProprietaryFunctionResponse.java rename to media/java/android/media/tv/CommandResponse.java index 3181b08c62f7e..d34681f443c22 100644 --- a/media/java/android/media/tv/TvProprietaryFunctionResponse.java +++ b/media/java/android/media/tv/CommandResponse.java @@ -21,36 +21,37 @@ import android.os.Parcel; import android.os.Parcelable; /** @hide */ -public class TvProprietaryFunctionResponse extends BroadcastInfoResponse implements Parcelable { - public static final int responseType = BroadcastInfoType.TV_PROPRIETARY_FUNCTION; +public final class CommandResponse extends BroadcastInfoResponse implements Parcelable { + public static final @TvInputManager.BroadcastInfoType int responseType = + TvInputManager.BROADCAST_INFO_TYPE_TV_PROPRIETARY_FUNCTION; - public static final @NonNull Parcelable.Creator CREATOR = - new Parcelable.Creator() { + public static final @NonNull Parcelable.Creator CREATOR = + new Parcelable.Creator() { @Override - public TvProprietaryFunctionResponse createFromParcel(Parcel source) { + public CommandResponse createFromParcel(Parcel source) { source.readInt(); return createFromParcelBody(source); } @Override - public TvProprietaryFunctionResponse[] newArray(int size) { - return new TvProprietaryFunctionResponse[size]; + public CommandResponse[] newArray(int size) { + return new CommandResponse[size]; } }; private final String mResponse; - public static TvProprietaryFunctionResponse createFromParcelBody(Parcel in) { - return new TvProprietaryFunctionResponse(in); + public static CommandResponse createFromParcelBody(Parcel in) { + return new CommandResponse(in); } - public TvProprietaryFunctionResponse(int requestId, int sequence, int responseResult, - String response) { + public CommandResponse(int requestId, int sequence, + @ResponseResult int responseResult, String response) { super(responseType, requestId, sequence, responseResult); mResponse = response; } - protected TvProprietaryFunctionResponse(Parcel source) { + protected CommandResponse(Parcel source) { super(responseType, source); mResponse = source.readString(); } diff --git a/media/java/android/media/tv/DsmccRequest.java b/media/java/android/media/tv/DsmccRequest.java index f2e47505ad153..6bb1472878335 100644 --- a/media/java/android/media/tv/DsmccRequest.java +++ b/media/java/android/media/tv/DsmccRequest.java @@ -22,8 +22,9 @@ import android.os.Parcel; import android.os.Parcelable; /** @hide */ -public class DsmccRequest extends BroadcastInfoRequest implements Parcelable { - public static final int requestType = BroadcastInfoType.DSMCC; +public final class DsmccRequest extends BroadcastInfoRequest implements Parcelable { + public static final @TvInputManager.BroadcastInfoType int requestType = + TvInputManager.BROADCAST_INFO_TYPE_DSMCC; public static final @NonNull Parcelable.Creator CREATOR = new Parcelable.Creator() { @@ -45,7 +46,7 @@ public class DsmccRequest extends BroadcastInfoRequest implements Parcelable { return new DsmccRequest(in); } - public DsmccRequest(int requestId, int option, Uri uri) { + public DsmccRequest(int requestId, @RequestOption int option, Uri uri) { super(requestType, requestId, option); mUri = uri; } diff --git a/media/java/android/media/tv/DsmccResponse.java b/media/java/android/media/tv/DsmccResponse.java index 3bdfb956c8890..e43d31adaed5a 100644 --- a/media/java/android/media/tv/DsmccResponse.java +++ b/media/java/android/media/tv/DsmccResponse.java @@ -22,8 +22,9 @@ import android.os.ParcelFileDescriptor; import android.os.Parcelable; /** @hide */ -public class DsmccResponse extends BroadcastInfoResponse implements Parcelable { - public static final int responseType = BroadcastInfoType.DSMCC; +public final class DsmccResponse extends BroadcastInfoResponse implements Parcelable { + public static final @TvInputManager.BroadcastInfoType int responseType = + TvInputManager.BROADCAST_INFO_TYPE_DSMCC; public static final @NonNull Parcelable.Creator CREATOR = new Parcelable.Creator() { @@ -39,30 +40,30 @@ public class DsmccResponse extends BroadcastInfoResponse implements Parcelable { } }; - private final ParcelFileDescriptor mFile; + private final ParcelFileDescriptor mFileDescriptor; public static DsmccResponse createFromParcelBody(Parcel in) { return new DsmccResponse(in); } - public DsmccResponse(int requestId, int sequence, int responseResult, + public DsmccResponse(int requestId, int sequence, @ResponseResult int responseResult, ParcelFileDescriptor file) { super(responseType, requestId, sequence, responseResult); - mFile = file; + mFileDescriptor = file; } protected DsmccResponse(Parcel source) { super(responseType, source); - mFile = source.readFileDescriptor(); + mFileDescriptor = source.readFileDescriptor(); } public ParcelFileDescriptor getFile() { - return mFile; + return mFileDescriptor; } @Override public void writeToParcel(@NonNull Parcel dest, int flags) { super.writeToParcel(dest, flags); - mFile.writeToParcel(dest, flags); + mFileDescriptor.writeToParcel(dest, flags); } } diff --git a/media/java/android/media/tv/PesRequest.java b/media/java/android/media/tv/PesRequest.java index 0e444b8f1d5ac..7dedb65374d84 100644 --- a/media/java/android/media/tv/PesRequest.java +++ b/media/java/android/media/tv/PesRequest.java @@ -21,8 +21,9 @@ import android.os.Parcel; import android.os.Parcelable; /** @hide */ -public class PesRequest extends BroadcastInfoRequest implements Parcelable { - public static final int requestType = BroadcastInfoType.PES; +public final class PesRequest extends BroadcastInfoRequest implements Parcelable { + public static final @TvInputManager.BroadcastInfoType int requestType = + TvInputManager.BROADCAST_INFO_TYPE_PES; public static final @NonNull Parcelable.Creator CREATOR = new Parcelable.Creator() { @@ -45,7 +46,7 @@ public class PesRequest extends BroadcastInfoRequest implements Parcelable { return new PesRequest(in); } - public PesRequest(int requestId, int option, int tsPid, int streamId) { + public PesRequest(int requestId, @RequestOption int option, int tsPid, int streamId) { super(requestType, requestId, option); mTsPid = tsPid; mStreamId = streamId; diff --git a/media/java/android/media/tv/PesResponse.java b/media/java/android/media/tv/PesResponse.java index d46e6fcf12407..a657f911b2ab1 100644 --- a/media/java/android/media/tv/PesResponse.java +++ b/media/java/android/media/tv/PesResponse.java @@ -21,8 +21,9 @@ import android.os.Parcel; import android.os.Parcelable; /** @hide */ -public class PesResponse extends BroadcastInfoResponse implements Parcelable { - public static final int responseType = BroadcastInfoType.PES; +public final class PesResponse extends BroadcastInfoResponse implements Parcelable { + public static final @TvInputManager.BroadcastInfoType int responseType = + TvInputManager.BROADCAST_INFO_TYPE_PES; public static final @NonNull Parcelable.Creator CREATOR = new Parcelable.Creator() { @@ -44,7 +45,8 @@ public class PesResponse extends BroadcastInfoResponse implements Parcelable { return new PesResponse(in); } - public PesResponse(int requestId, int sequence, int responseResult, String sharedFilterToken) { + public PesResponse(int requestId, int sequence, @ResponseResult int responseResult, + String sharedFilterToken) { super(responseType, requestId, sequence, responseResult); mSharedFilterToken = sharedFilterToken; } diff --git a/media/java/android/media/tv/SectionRequest.java b/media/java/android/media/tv/SectionRequest.java index 3e8e90901b71f..533c5093395de 100644 --- a/media/java/android/media/tv/SectionRequest.java +++ b/media/java/android/media/tv/SectionRequest.java @@ -21,8 +21,9 @@ import android.os.Parcel; import android.os.Parcelable; /** @hide */ -public class SectionRequest extends BroadcastInfoRequest implements Parcelable { - public static final int requestType = BroadcastInfoType.SECTION; +public final class SectionRequest extends BroadcastInfoRequest implements Parcelable { + public static final @TvInputManager.BroadcastInfoType int requestType = + TvInputManager.BROADCAST_INFO_TYPE_SECTION; public static final @NonNull Parcelable.Creator CREATOR = new Parcelable.Creator() { @@ -40,13 +41,14 @@ public class SectionRequest extends BroadcastInfoRequest implements Parcelable { private final int mTsPid; private final int mTableId; - private final int mVersion; + private final Integer mVersion; public static SectionRequest createFromParcelBody(Parcel in) { return new SectionRequest(in); } - public SectionRequest(int requestId, int option, int tsPid, int tableId, int version) { + public SectionRequest(int requestId, @RequestOption int option, int tsPid, int tableId, + Integer version) { super(requestType, requestId, option); mTsPid = tsPid; mTableId = tableId; @@ -57,7 +59,7 @@ public class SectionRequest extends BroadcastInfoRequest implements Parcelable { super(requestType, source); mTsPid = source.readInt(); mTableId = source.readInt(); - mVersion = source.readInt(); + mVersion = (Integer) source.readValue(Integer.class.getClassLoader()); } public int getTsPid() { @@ -68,7 +70,7 @@ public class SectionRequest extends BroadcastInfoRequest implements Parcelable { return mTableId; } - public int getVersion() { + public Integer getVersion() { return mVersion; } @@ -77,6 +79,6 @@ public class SectionRequest extends BroadcastInfoRequest implements Parcelable { super.writeToParcel(dest, flags); dest.writeInt(mTsPid); dest.writeInt(mTableId); - dest.writeInt(mVersion); + dest.writeValue(mVersion); } } diff --git a/media/java/android/media/tv/SectionResponse.java b/media/java/android/media/tv/SectionResponse.java index 1c8f96560a59b..d3fa3c042f63f 100644 --- a/media/java/android/media/tv/SectionResponse.java +++ b/media/java/android/media/tv/SectionResponse.java @@ -22,8 +22,9 @@ import android.os.Parcel; import android.os.Parcelable; /** @hide */ -public class SectionResponse extends BroadcastInfoResponse implements Parcelable { - public static final int responseType = BroadcastInfoType.SECTION; +public final class SectionResponse extends BroadcastInfoResponse implements Parcelable { + public static final @TvInputManager.BroadcastInfoType int responseType = + TvInputManager.BROADCAST_INFO_TYPE_SECTION; public static final @NonNull Parcelable.Creator CREATOR = new Parcelable.Creator() { @@ -47,8 +48,8 @@ public class SectionResponse extends BroadcastInfoResponse implements Parcelable return new SectionResponse(in); } - public SectionResponse(int requestId, int sequence, int responseResult, int sessionId, - int version, Bundle sessionData) { + public SectionResponse(int requestId, int sequence, @ResponseResult int responseResult, + int sessionId, int version, Bundle sessionData) { super(responseType, requestId, sequence, responseResult); mSessionId = sessionId; mVersion = version; diff --git a/media/java/android/media/tv/StreamEventRequest.java b/media/java/android/media/tv/StreamEventRequest.java index 09399c2987226..84a5beee3dadf 100644 --- a/media/java/android/media/tv/StreamEventRequest.java +++ b/media/java/android/media/tv/StreamEventRequest.java @@ -22,8 +22,9 @@ import android.os.Parcel; import android.os.Parcelable; /** @hide */ -public class StreamEventRequest extends BroadcastInfoRequest implements Parcelable { - public static final int requestType = BroadcastInfoType.STREAM_EVENT; +public final class StreamEventRequest extends BroadcastInfoRequest implements Parcelable { + public static final @TvInputManager.BroadcastInfoType int requestType = + TvInputManager.BROADCAST_INFO_STREAM_EVENT; public static final @NonNull Parcelable.Creator CREATOR = new Parcelable.Creator() { @@ -46,7 +47,8 @@ public class StreamEventRequest extends BroadcastInfoRequest implements Parcelab return new StreamEventRequest(in); } - public StreamEventRequest(int requestId, int option, Uri targetUri, String eventName) { + public StreamEventRequest(int requestId, @RequestOption int option, Uri targetUri, + String eventName) { super(requestType, requestId, option); this.mTargetUri = targetUri; this.mEventName = eventName; diff --git a/media/java/android/media/tv/StreamEventResponse.java b/media/java/android/media/tv/StreamEventResponse.java index 027b73513a260..fd7580107c713 100644 --- a/media/java/android/media/tv/StreamEventResponse.java +++ b/media/java/android/media/tv/StreamEventResponse.java @@ -21,8 +21,9 @@ import android.os.Parcel; import android.os.Parcelable; /** @hide */ -public class StreamEventResponse extends BroadcastInfoResponse implements Parcelable { - public static final int responseType = BroadcastInfoType.STREAM_EVENT; +public final class StreamEventResponse extends BroadcastInfoResponse implements Parcelable { + public static final @TvInputManager.BroadcastInfoType int responseType = + TvInputManager.BROADCAST_INFO_STREAM_EVENT; public static final @NonNull Parcelable.Creator CREATOR = new Parcelable.Creator() { @@ -47,8 +48,8 @@ public class StreamEventResponse extends BroadcastInfoResponse implements Parcel return new StreamEventResponse(in); } - public StreamEventResponse(int requestId, int sequence, int responseResult, String name, - String text, String data, String status) { + public StreamEventResponse(int requestId, int sequence, @ResponseResult int responseResult, + String name, String text, String data, String status) { super(responseType, requestId, sequence, responseResult); mName = name; mText = text; diff --git a/media/java/android/media/tv/TableRequest.java b/media/java/android/media/tv/TableRequest.java index 54322158ff60b..389536dd151fa 100644 --- a/media/java/android/media/tv/TableRequest.java +++ b/media/java/android/media/tv/TableRequest.java @@ -16,17 +16,25 @@ package android.media.tv; +import android.annotation.IntDef; import android.annotation.NonNull; import android.os.Parcel; import android.os.Parcelable; -/** @hide */ -public class TableRequest extends BroadcastInfoRequest implements Parcelable { - public static final int requestType = BroadcastInfoType.TABLE; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; - // todo: change const declaration to intdef - public static final int PAT = 1; - public static final int PMT = 2; +/** @hide */ +public final class TableRequest extends BroadcastInfoRequest implements Parcelable { + public static final @TvInputManager.BroadcastInfoType int requestType = + TvInputManager.BROADCAST_INFO_TYPE_TABLE; + + @Retention(RetentionPolicy.SOURCE) + @IntDef({TABLE_NAME_PAT, TABLE_NAME_PMT}) + public @interface TableName {} + + public static final int TABLE_NAME_PAT = 0; + public static final int TABLE_NAME_PMT = 1; public static final @NonNull Parcelable.Creator CREATOR = new Parcelable.Creator() { @@ -43,14 +51,15 @@ public class TableRequest extends BroadcastInfoRequest implements Parcelable { }; private final int mTableId; - private final int mTableName; + private final @TableName int mTableName; private final int mVersion; public static TableRequest createFromParcelBody(Parcel in) { return new TableRequest(in); } - public TableRequest(int requestId, int option, int tableId, int tableName, int version) { + public TableRequest(int requestId, @RequestOption int option, int tableId, + @TableName int tableName, int version) { super(requestType, requestId, option); mTableId = tableId; mTableName = tableName; @@ -68,7 +77,7 @@ public class TableRequest extends BroadcastInfoRequest implements Parcelable { return mTableId; } - public int getTableName() { + public @TableName int getTableName() { return mTableName; } diff --git a/media/java/android/media/tv/TableResponse.java b/media/java/android/media/tv/TableResponse.java index a6d3e39968257..912cbce81e936 100644 --- a/media/java/android/media/tv/TableResponse.java +++ b/media/java/android/media/tv/TableResponse.java @@ -22,8 +22,9 @@ import android.os.Parcelable; import android.net.Uri; /** @hide */ -public class TableResponse extends BroadcastInfoResponse implements Parcelable { - public static final int responseType = BroadcastInfoType.TABLE; +public final class TableResponse extends BroadcastInfoResponse implements Parcelable { + public static final @TvInputManager.BroadcastInfoType int responseType = + TvInputManager.BROADCAST_INFO_TYPE_TABLE; public static final @NonNull Parcelable.Creator CREATOR = new Parcelable.Creator() { @@ -47,8 +48,8 @@ public class TableResponse extends BroadcastInfoResponse implements Parcelable { return new TableResponse(in); } - public TableResponse(int requestId, int sequence, int responseResult, Uri tableUri, - int version, int size) { + public TableResponse(int requestId, int sequence, @ResponseResult int responseResult, + Uri tableUri, int version, int size) { super(responseType, requestId, sequence, responseResult); mTableUri = tableUri; mVersion = version; diff --git a/media/java/android/media/tv/TsRequest.java b/media/java/android/media/tv/TsRequest.java index 141f3ac918280..99350c991629e 100644 --- a/media/java/android/media/tv/TsRequest.java +++ b/media/java/android/media/tv/TsRequest.java @@ -21,8 +21,9 @@ import android.os.Parcel; import android.os.Parcelable; /** @hide */ -public class TsRequest extends BroadcastInfoRequest implements Parcelable { - public static final int requestType = BroadcastInfoType.TS; +public final class TsRequest extends BroadcastInfoRequest implements Parcelable { + public static final @TvInputManager.BroadcastInfoType int requestType = + TvInputManager.BROADCAST_INFO_TYPE_TS; public static final @NonNull Parcelable.Creator CREATOR = new Parcelable.Creator() { @@ -44,7 +45,7 @@ public class TsRequest extends BroadcastInfoRequest implements Parcelable { return new TsRequest(in); } - public TsRequest(int requestId, int option, int tsPid) { + public TsRequest(int requestId, @RequestOption int option, int tsPid) { super(requestType, requestId, option); mTsPid = tsPid; } diff --git a/media/java/android/media/tv/TsResponse.java b/media/java/android/media/tv/TsResponse.java index e30ff54af4aa3..c5ec53ab94323 100644 --- a/media/java/android/media/tv/TsResponse.java +++ b/media/java/android/media/tv/TsResponse.java @@ -21,8 +21,9 @@ import android.os.Parcel; import android.os.Parcelable; /** @hide */ -public class TsResponse extends BroadcastInfoResponse implements Parcelable { - public static final int responseType = BroadcastInfoType.TS; +public final class TsResponse extends BroadcastInfoResponse implements Parcelable { + public static final @TvInputManager.BroadcastInfoType int responseType = + TvInputManager.BROADCAST_INFO_TYPE_TS; public static final @NonNull Parcelable.Creator CREATOR = new Parcelable.Creator() { @@ -44,7 +45,8 @@ public class TsResponse extends BroadcastInfoResponse implements Parcelable { return new TsResponse(in); } - public TsResponse(int requestId, int sequence, int responseResult, String sharedFilterToken) { + public TsResponse(int requestId, int sequence, @ResponseResult int responseResult, + String sharedFilterToken) { super(responseType, requestId, sequence, responseResult); this.mSharedFilterToken = sharedFilterToken; } diff --git a/media/java/android/media/tv/TvInputManager.java b/media/java/android/media/tv/TvInputManager.java index b655a615794e8..aeb3e3cfa6c2b 100644 --- a/media/java/android/media/tv/TvInputManager.java +++ b/media/java/android/media/tv/TvInputManager.java @@ -357,6 +357,28 @@ public final class TvInputManager { */ public static final int INPUT_STATE_DISCONNECTED = 2; + /** @hide */ + @Retention(RetentionPolicy.SOURCE) + @IntDef({BROADCAST_INFO_TYPE_TS, BROADCAST_INFO_TYPE_TABLE, BROADCAST_INFO_TYPE_SECTION, + BROADCAST_INFO_TYPE_PES, BROADCAST_INFO_STREAM_EVENT, BROADCAST_INFO_TYPE_DSMCC, + BROADCAST_INFO_TYPE_TV_PROPRIETARY_FUNCTION}) + public @interface BroadcastInfoType {} + + /** @hide */ + public static final int BROADCAST_INFO_TYPE_TS = 1; + /** @hide */ + public static final int BROADCAST_INFO_TYPE_TABLE = 2; + /** @hide */ + public static final int BROADCAST_INFO_TYPE_SECTION = 3; + /** @hide */ + public static final int BROADCAST_INFO_TYPE_PES = 4; + /** @hide */ + public static final int BROADCAST_INFO_STREAM_EVENT = 5; + /** @hide */ + public static final int BROADCAST_INFO_TYPE_DSMCC = 6; + /** @hide */ + public static final int BROADCAST_INFO_TYPE_TV_PROPRIETARY_FUNCTION = 7; + /** * An unknown state of the client pid gets from the TvInputManager. Client gets this value when * query through {@link getClientPid(String sessionId)} fails.