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

Commit d81a7bcd authored by David Zhao's avatar David Zhao
Browse files

Add SignalingDataInfo and SignalingDataResponse

Test: mmm
Bug: 315076580
Change-Id: I58b34a69eb25c4d56fcef283061d3ec2d8c5687e
parent 09426da1
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
package android.media.tv;

parcelable SignalingDataInfo;
+117 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 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;

import android.annotation.NonNull;
import android.os.Parcelable;

/** @hide */
public class SignalingDataInfo implements Parcelable {
    public static final @NonNull Parcelable.Creator<SignalingDataInfo> CREATOR =
            new Parcelable.Creator<SignalingDataInfo>() {
                @Override
                public SignalingDataInfo[] newArray(int size) {
                    return new SignalingDataInfo[size];
                }

                @Override
                public SignalingDataInfo createFromParcel(@NonNull android.os.Parcel in) {
                    return new SignalingDataInfo(in);
                }
            };

    private int mTableId;
    private @NonNull String mTable;
    private int mMetadataType;
    private int mVersion;
    private int mGroup;
    private @NonNull String mEncoding;

    public SignalingDataInfo(
            int tableId,
            @NonNull String table,
            int metadataType,
            int version,
            int group,
            @NonNull String encoding) {
        this.mTableId = tableId;
        this.mTable = table;
        com.android.internal.util.AnnotationValidations.validate(NonNull.class, null, mTable);
        this.mMetadataType = metadataType;
        this.mVersion = version;
        this.mGroup = group;
        this.mEncoding = encoding;
        com.android.internal.util.AnnotationValidations.validate(NonNull.class, null, mEncoding);
    }

    public int getTableId() {
        return mTableId;
    }

    public @NonNull String getTable() {
        return mTable;
    }

    public int getMetadataType() {
        return mMetadataType;
    }

    public int getVersion() {
        return mVersion;
    }

    public int getGroup() {
        return mGroup;
    }

    public @NonNull String getEncoding() {
        return mEncoding;
    }

    @Override
    public void writeToParcel(@NonNull android.os.Parcel dest, int flags) {
        dest.writeInt(mTableId);
        dest.writeString(mTable);
        dest.writeInt(mMetadataType);
        dest.writeInt(mVersion);
        dest.writeInt(mGroup);
        dest.writeString(mEncoding);
    }

    @Override
    public int describeContents() {
        return 0;
    }

    SignalingDataInfo(@NonNull android.os.Parcel in) {
        int tableId = in.readInt();
        String table = in.readString();
        int metadataType = in.readInt();
        int version = in.readInt();
        int group = in.readInt();
        String encoding = in.readString();

        this.mTableId = tableId;
        this.mTable = table;
        com.android.internal.util.AnnotationValidations.validate(NonNull.class, null, mTable);
        this.mMetadataType = metadataType;
        this.mVersion = version;
        this.mGroup = group;
        this.mEncoding = encoding;
        com.android.internal.util.AnnotationValidations.validate(NonNull.class, null, mEncoding);
    }
}
+3 −0
Original line number Diff line number Diff line
package android.media.tv;

parcelable SignalingDataResponse;
+100 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 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;

import android.annotation.NonNull;
import android.os.Parcelable;

import java.util.List;

/** @hide */
public class SignalingDataResponse extends BroadcastInfoResponse implements Parcelable {
    public static final @NonNull Parcelable.Creator<SignalingDataResponse> CREATOR =
            new Parcelable.Creator<SignalingDataResponse>() {
                @Override
                public SignalingDataResponse[] newArray(int size) {
                    return new SignalingDataResponse[size];
                }

                @Override
                public SignalingDataResponse createFromParcel(@NonNull android.os.Parcel in) {
                    return new SignalingDataResponse(in);
                }
            };
    private static final @TvInputManager.BroadcastInfoType int RESPONSE_TYPE =
            TvInputManager.BROADCAST_INFO_TYPE_SIGNALING_DATA;
    private final @NonNull int[] mTableIds;
    private final int mMetadataTypes;
    private final @NonNull List<SignalingDataInfo> mSignalingDataInfoList;

    public SignalingDataResponse(
            int requestId,
            int sequence,
            @ResponseResult int responseResult,
            @NonNull int[] tableIds,
            int metadataTypes,
            @NonNull List<SignalingDataInfo> signalingDataInfoList) {
        super(RESPONSE_TYPE, requestId, sequence, responseResult);
        this.mTableIds = tableIds;
        com.android.internal.util.AnnotationValidations.validate(NonNull.class, null, mTableIds);
        this.mMetadataTypes = metadataTypes;
        this.mSignalingDataInfoList = signalingDataInfoList;
        com.android.internal.util.AnnotationValidations.validate(
                NonNull.class, null, mSignalingDataInfoList);
    }

    public @NonNull int[] getTableIds() {
        return mTableIds;
    }

    public int getMetadataTypes() {
        return mMetadataTypes;
    }

    public @NonNull List<SignalingDataInfo> getSignalingDataInfoList() {
        return mSignalingDataInfoList;
    }

    @Override
    public void writeToParcel(@NonNull android.os.Parcel dest, int flags) {
        super.writeToParcel(dest, flags);
        dest.writeIntArray(mTableIds);
        dest.writeInt(mMetadataTypes);
        dest.writeParcelableList(mSignalingDataInfoList, flags);
    }

    @Override
    public int describeContents() {
        return 0;
    }

    SignalingDataResponse(@NonNull android.os.Parcel in) {
        super(RESPONSE_TYPE, in);

        int[] tableIds = in.createIntArray();
        int metadataTypes = in.readInt();
        List<SignalingDataInfo> signalingDataInfoList = new java.util.ArrayList<>();
        in.readParcelableList(signalingDataInfoList, SignalingDataInfo.class.getClassLoader());

        this.mTableIds = tableIds;
        com.android.internal.util.AnnotationValidations.validate(NonNull.class, null, mTableIds);
        this.mMetadataTypes = metadataTypes;
        this.mSignalingDataInfoList = signalingDataInfoList;
        com.android.internal.util.AnnotationValidations.validate(
                NonNull.class, null, mSignalingDataInfoList);
    }
}