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

Commit 811e352d authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Clean up DvrSettings"

parents cd8332ac 07c4cd0f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package android.media.tv.tuner;
import android.annotation.NonNull;
import android.media.tv.tuner.Tuner.DvrCallback;
import android.media.tv.tuner.Tuner.Filter;
import android.media.tv.tuner.dvr.DvrSettings;
import android.os.ParcelFileDescriptor;

/** @hide */
+2 −25
Original line number Diff line number Diff line
@@ -50,20 +50,6 @@ public final class TunerConstants {
    public static final int FRONTEND_EVENT_TYPE_LOST_LOCK = Constants.FrontendEventType.LOST_LOCK;


    /** @hide */
    @IntDef({DATA_FORMAT_TS, DATA_FORMAT_PES, DATA_FORMAT_ES, DATA_FORMAT_SHV_TLV})
    @Retention(RetentionPolicy.SOURCE)
    public @interface DataFormat {}
    /** @hide */
    public static final int DATA_FORMAT_TS = Constants.DataFormat.TS;
    /** @hide */
    public static final int DATA_FORMAT_PES = Constants.DataFormat.PES;
    /** @hide */
    public static final int DATA_FORMAT_ES = Constants.DataFormat.ES;
    /** @hide */
    public static final int DATA_FORMAT_SHV_TLV = Constants.DataFormat.SHV_TLV;


    /** @hide */
    @IntDef({DEMUX_T_PID, DEMUX_MMPT_PID})
    @Retention(RetentionPolicy.SOURCE)
@@ -118,8 +104,8 @@ public final class TunerConstants {
    public static final int FILTER_SUBTYPE_PTP = 16;

    /** @hide */
    @IntDef({FILTER_STATUS_DATA_READY, FILTER_STATUS_LOW_WATER, FILTER_STATUS_HIGH_WATER,
            FILTER_STATUS_OVERFLOW})
    @IntDef(flag = true, prefix = "FILTER_STATUS_", value = {FILTER_STATUS_DATA_READY,
            FILTER_STATUS_LOW_WATER, FILTER_STATUS_HIGH_WATER, FILTER_STATUS_OVERFLOW})
    @Retention(RetentionPolicy.SOURCE)
    public @interface FilterStatus {}

@@ -1132,15 +1118,6 @@ public final class TunerConstants {
    /** @hide */
    public static final int FILTER_SETTINGS_ALP = Constants.DemuxFilterMainType.ALP;

    /** @hide */
    @IntDef({DVR_SETTINGS_RECORD, DVR_SETTINGS_PLAYBACK})
    @Retention(RetentionPolicy.SOURCE)
    public @interface DvrSettingsType {}
    /** @hide */
    public static final int DVR_SETTINGS_RECORD = Constants.DvrType.RECORD;
    /** @hide */
    public static final int DVR_SETTINGS_PLAYBACK = Constants.DvrType.PLAYBACK;


    /** @hide */
    @IntDef({RESULT_SUCCESS, RESULT_UNAVAILABLE, RESULT_NOT_INITIALIZED, RESULT_INVALID_STATE,
+180 −0
Original line number Diff line number Diff line
@@ -14,29 +14,77 @@
 * limitations under the License.
 */

package android.media.tv.tuner;
package android.media.tv.tuner.dvr;

import android.media.tv.tuner.TunerConstants.DataFormat;
import android.media.tv.tuner.TunerConstants.DvrSettingsType;
import android.annotation.BytesLong;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.hardware.tv.tuner.V1_0.Constants;
import android.media.tv.tuner.Dvr;
import android.media.tv.tuner.TunerConstants.FilterStatus;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

/**
 * DVR settings.
 * DVR settings used to configure {@link Dvr}.
 *
 * @hide
 */
public class DvrSettings {
    private int mStatusMask;
    private int mLowThreshold;
    private int mHighThreshold;
    private int mPacketSize;

    /** @hide */
    @IntDef(prefix = "DATA_FORMAT_",
            value = {DATA_FORMAT_TS, DATA_FORMAT_PES, DATA_FORMAT_ES, DATA_FORMAT_SHV_TLV})
    @Retention(RetentionPolicy.SOURCE)
    public @interface DataFormat {}

    /**
     * Transport Stream.
     */
    public static final int DATA_FORMAT_TS = Constants.DataFormat.TS;
    /**
     * Packetized Elementary Stream.
     */
    public static final int DATA_FORMAT_PES = Constants.DataFormat.PES;
    /**
     * Elementary Stream.
     */
    public static final int DATA_FORMAT_ES = Constants.DataFormat.ES;
    /**
     * TLV (type-length-value) Stream for SHV
     */
    public static final int DATA_FORMAT_SHV_TLV = Constants.DataFormat.SHV_TLV;


    /** @hide */
    @IntDef(prefix = "TYPE_", value = {TYPE_RECORD, TYPE_PLAYBACK})
    @Retention(RetentionPolicy.SOURCE)
    public @interface Type {}

    /**
     * DVR for recording.
     */
    public static final int TYPE_RECORD = Constants.DvrType.RECORD;
    /**
     * DVR for playback of recorded programs.
     */
    public static final int TYPE_PLAYBACK = Constants.DvrType.PLAYBACK;



    private final int mStatusMask;
    private final long mLowThreshold;
    private final long mHighThreshold;
    private final long mPacketSize;

    @DataFormat
    private int mDataFormat;
    @DvrSettingsType
    private int mType;
    private final int mDataFormat;
    @Type
    private final int mType;

    private DvrSettings(int statusMask, int lowThreshold, int highThreshold, int packetSize,
            @DataFormat int dataFormat, @DvrSettingsType int type) {
    private DvrSettings(int statusMask, long lowThreshold, long highThreshold, long packetSize,
            @DataFormat int dataFormat, @Type int type) {
        mStatusMask = statusMask;
        mLowThreshold = lowThreshold;
        mHighThreshold = highThreshold;
@@ -46,53 +94,58 @@ public class DvrSettings {
    }

    /**
     * Creates a new builder.
     * Creates a builder for {@link DvrSettings}.
     */
    @NonNull
    public static Builder newBuilder() {
        return new Builder();
    }

    /**
     * Builder for DvrSettings.
     * Builder for {@link DvrSettings}.
     */
    public static final class Builder {
        private int mStatusMask;
        private int mLowThreshold;
        private int mHighThreshold;
        private int mPacketSize;
        private long mLowThreshold;
        private long mHighThreshold;
        private long mPacketSize;
        @DataFormat
        private int mDataFormat;
        @DvrSettingsType
        @Type
        private int mType;

        /**
         * Sets status mask.
         */
        public Builder setStatusMask(int statusMask) {
        @NonNull
        public Builder setStatusMask(@FilterStatus int statusMask) {
            this.mStatusMask = statusMask;
            return this;
        }

        /**
         * Sets low threshold.
         * Sets low threshold in bytes.
         */
        public Builder setLowThreshold(int lowThreshold) {
        @NonNull
        public Builder setLowThreshold(@BytesLong long lowThreshold) {
            this.mLowThreshold = lowThreshold;
            return this;
        }

        /**
         * Sets high threshold.
         * Sets high threshold in bytes.
         */
        public Builder setHighThreshold(int highThreshold) {
        @NonNull
        public Builder setHighThreshold(@BytesLong long highThreshold) {
            this.mHighThreshold = highThreshold;
            return this;
        }

        /**
         * Sets packet size.
         * Sets packet size in bytes.
         */
        public Builder setPacketSize(int packetSize) {
        @NonNull
        public Builder setPacketSize(@BytesLong long packetSize) {
            this.mPacketSize = packetSize;
            return this;
        }
@@ -100,6 +153,7 @@ public class DvrSettings {
        /**
         * Sets data format.
         */
        @NonNull
        public Builder setDataFormat(@DataFormat int dataFormat) {
            this.mDataFormat = dataFormat;
            return this;
@@ -108,14 +162,16 @@ public class DvrSettings {
        /**
         * Sets settings type.
         */
        public Builder setType(@DvrSettingsType int type) {
        @NonNull
        public Builder setType(@Type int type) {
            this.mType = type;
            return this;
        }

        /**
         * Builds a DvrSettings instance.
         * Builds a {@link DvrSettings} object.
         */
        @NonNull
        public DvrSettings build() {
            return new DvrSettings(
                    mStatusMask, mLowThreshold, mHighThreshold, mPacketSize, mDataFormat, mType);