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

Commit 07c4cd0f authored by shubang's avatar shubang
Browse files

Clean up DvrSettings

and move to dvr package

Test: make;
Change-Id: Ia2e345837c253a772d7a6df8616cfa7e3ac04479
parent b6df40e6
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
@@ -79,20 +79,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)
@@ -171,8 +157,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 {}

@@ -1252,15 +1238,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({LNB_VOLTAGE_NONE, LNB_VOLTAGE_5V, LNB_VOLTAGE_11V, LNB_VOLTAGE_12V, LNB_VOLTAGE_13V,
+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);