1d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi/*
2d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi * Copyright (C) 2010 The Android Open Source Project
3d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi *
4d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi * Licensed under the Apache License, Version 2.0 (the "License");
5d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi * you may not use this file except in compliance with the License.
6d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi * You may obtain a copy of the License at
7d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi *
8d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi *      http://www.apache.org/licenses/LICENSE-2.0
9d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi *
10d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi * Unless required by applicable law or agreed to in writing, software
11d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi * distributed under the License is distributed on an "AS IS" BASIS,
12d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi * See the License for the specific language governing permissions and
14d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi * limitations under the License.
15d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */
16d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
17d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshipackage android.drm;
18d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
19d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi/**
200e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber * Defines constants that are used by the DRM framework.
21d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi *
22d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi */
23d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshipublic class DrmStore {
24d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    /**
250e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber     * Interface definition for the columns that represent DRM constraints.
26365ce1db339db53cd5afb118ff867fe940644e45James Dong     * {@link android.drm.DrmManagerClient#getConstraints DrmManagerClient.getConstraints()}
27365ce1db339db53cd5afb118ff867fe940644e45James Dong     * can be called by an application to find out the contraints on the
28365ce1db339db53cd5afb118ff867fe940644e45James Dong     * {@link android.drm.DrmStore.Action actions} that can be performed
29365ce1db339db53cd5afb118ff867fe940644e45James Dong     * on right-protected content. The constants defined in this interface
30365ce1db339db53cd5afb118ff867fe940644e45James Dong     * represent three most common types of constraints: count-based,
31365ce1db339db53cd5afb118ff867fe940644e45James Dong     * date-based, and duration-based. Two or more constraints can be used
32365ce1db339db53cd5afb118ff867fe940644e45James Dong     * at the same time to represent more sophisticated constraints.
33365ce1db339db53cd5afb118ff867fe940644e45James Dong     * In addition, user-defined constraint,
34365ce1db339db53cd5afb118ff867fe940644e45James Dong     * {@link #EXTENDED_METADATA extended metadata}, can be
35365ce1db339db53cd5afb118ff867fe940644e45James Dong     * used if these three types of constraints are not sufficient.
36d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     */
37d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    public interface ConstraintsColumns {
38d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /**
39365ce1db339db53cd5afb118ff867fe940644e45James Dong         * This is a count-based constraint. It represents the maximum
40365ce1db339db53cd5afb118ff867fe940644e45James Dong         * repeat count that can be performed on an
41365ce1db339db53cd5afb118ff867fe940644e45James Dong         * {@link android.drm.DrmStore.Action action}.
420e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * <p>
430e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * Type: INTEGER
44d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi         */
45d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        public static final String MAX_REPEAT_COUNT = "max_repeat_count";
46d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
47d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /**
48365ce1db339db53cd5afb118ff867fe940644e45James Dong         * This is a count-based constraint. It represents the remaining
49365ce1db339db53cd5afb118ff867fe940644e45James Dong         * repeat count that can be performed on an
50365ce1db339db53cd5afb118ff867fe940644e45James Dong         * {@link android.drm.DrmStore.Action action}.
510e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * <p>
520e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * Type: INTEGER
53d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi         */
54d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        public static final String REMAINING_REPEAT_COUNT = "remaining_repeat_count";
55d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
56d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /**
57365ce1db339db53cd5afb118ff867fe940644e45James Dong         * This is a date-based constraint. It represents the time before which
58365ce1db339db53cd5afb118ff867fe940644e45James Dong         * an {@link android.drm.DrmStore.Action action} can be performed on
59365ce1db339db53cd5afb118ff867fe940644e45James Dong         * the rights-protected content.
600e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * <p>
610e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * Type: TEXT
62d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi         */
63d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        public static final String LICENSE_START_TIME = "license_start_time";
64d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
65d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /**
66365ce1db339db53cd5afb118ff867fe940644e45James Dong         * This is a date-based constaint. It represents the time after which
67365ce1db339db53cd5afb118ff867fe940644e45James Dong         * an {@link android.drm.DrmStore.Action action} can not be performed on
68365ce1db339db53cd5afb118ff867fe940644e45James Dong         * the rights-protected content.
690e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * <p>
700e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * Type: TEXT
71d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi         */
72d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        public static final String LICENSE_EXPIRY_TIME = "license_expiry_time";
73d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
74d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /**
75365ce1db339db53cd5afb118ff867fe940644e45James Dong         * This is a duration-based constaint. It represents the available time left
76365ce1db339db53cd5afb118ff867fe940644e45James Dong         * before the license expires.
770e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * <p>
780e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * Type: TEXT
79d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi         */
80d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        public static final String LICENSE_AVAILABLE_TIME = "license_available_time";
81d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
82d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /**
83365ce1db339db53cd5afb118ff867fe940644e45James Dong         * This is a user-defined constraint. It represents the additional constraint
84365ce1db339db53cd5afb118ff867fe940644e45James Dong         * using extended metadata.
850e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * <p>
860e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * Type: TEXT
87d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi         */
88d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        public static final String EXTENDED_METADATA = "extended_metadata";
89d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    }
90d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
91d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    /**
920e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber     * Defines DRM object types.
93d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     */
94d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    public static class DrmObjectType {
95d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /**
960e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * An unknown object type.
97d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi         */
98d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        public static final int UNKNOWN = 0x00;
99d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /**
1000e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * A rights-protected file object type.
101d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi         */
102d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        public static final int CONTENT = 0x01;
103d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /**
1040e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * A rights information object type.
105d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi         */
106d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        public static final int RIGHTS_OBJECT = 0x02;
107d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /**
1080e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * A trigger information object type.
109d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi         */
110d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        public static final int TRIGGER_OBJECT = 0x03;
111060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong
112060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong        /**
113060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong         * @deprecated This class should have been an interface instead.
114060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong         * The default constuctor should have not been exposed.
115060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong         */
116060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong        public DrmObjectType() {}
117d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    }
118d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
119d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    /**
1200e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber     * Defines playback states for content.
121d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     */
122d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    public static class Playback {
123d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /**
1240e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * Playback started.
125d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi         */
126d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        public static final int START = 0x00;
127d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /**
1280e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * Playback stopped.
129d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi         */
130d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        public static final int STOP = 0x01;
131d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /**
1320e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * Playback paused.
133d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi         */
134d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        public static final int PAUSE = 0x02;
135d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /**
1360e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * Playback resumed.
137d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi         */
138d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        public static final int RESUME = 0x03;
139d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
140d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /* package */ static boolean isValid(int playbackStatus) {
141d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi            boolean isValid = false;
142d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
143d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi            switch (playbackStatus) {
144d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi                case START:
145d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi                case STOP:
146d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi                case PAUSE:
147d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi                case RESUME:
148d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi                    isValid = true;
149d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi            }
150d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi            return isValid;
151d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        }
152060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong
153060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong        /**
154060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong         * @deprecated This class should have been an interface instead.
155060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong         * The default constuctor should have not been exposed.
156060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong         */
157060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong        public Playback() {}
158d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    }
159d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
160d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    /**
1610e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber     * Defines actions that can be performed on rights-protected content.
162d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     */
163d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    public static class Action {
164d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /**
1650e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * The default action.
166d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi         */
167d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        public static final int DEFAULT = 0x00;
168d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /**
1690e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * The rights-protected content can be played.
170d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi         */
171d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        public static final int PLAY = 0x01;
172d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /**
1730e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * The rights-protected content can be set as a ringtone.
174d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi         */
175d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        public static final int RINGTONE = 0x02;
176d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /**
1770e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * The rights-protected content can be transferred.
178d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi         */
179d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        public static final int TRANSFER = 0x03;
180d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /**
1810e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * The rights-protected content can be set as output.
182d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi         */
183d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        public static final int OUTPUT = 0x04;
184d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /**
1850e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * The rights-protected content can be previewed.
186d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi         */
187d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        public static final int PREVIEW = 0x05;
188d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /**
1890e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * The rights-protected content can be executed.
190d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi         */
191d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        public static final int EXECUTE = 0x06;
192d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /**
1930e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * The rights-protected content can be displayed.
194d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi         */
195d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        public static final int DISPLAY = 0x07;
196d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
197d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /* package */ static boolean isValid(int action) {
198d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi            boolean isValid = false;
199d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
200d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi            switch (action) {
201d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi                case DEFAULT:
202d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi                case PLAY:
203d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi                case RINGTONE:
204d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi                case TRANSFER:
205d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi                case OUTPUT:
206d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi                case PREVIEW:
207d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi                case EXECUTE:
208d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi                case DISPLAY:
209d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi                    isValid = true;
210d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi            }
211d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi            return isValid;
212d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        }
213060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong
214060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong        /**
215060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong         * @deprecated This class should have been an interface instead.
216060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong         * The default constuctor should have not been exposed.
217060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong         */
218060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong        public Action() {}
219d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    }
220d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
221d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    /**
2220e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber     * Defines status notifications for digital rights.
223d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi     */
224d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    public static class RightsStatus {
225d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /**
2260e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * The digital rights are valid.
227d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi         */
228d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        public static final int RIGHTS_VALID = 0x00;
229d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /**
2300e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * The digital rights are invalid.
231d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi         */
232d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        public static final int RIGHTS_INVALID = 0x01;
233d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /**
2340e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * The digital rights have expired.
235d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi         */
236d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        public static final int RIGHTS_EXPIRED = 0x02;
237d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        /**
2380e092f806b0a4b81785a52da8ba22d2d47087de5Bill Gruber         * The digital rights have not been acquired for the rights-protected content.
239d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi         */
240d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi        public static final int RIGHTS_NOT_ACQUIRED = 0x03;
241060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong
242060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong        /**
243060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong         * @deprecated This class should have been an interface instead.
244060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong         * The default constuctor should have not been exposed.
245060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong         */
246060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong        public RightsStatus() {}
247d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi    }
248060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong
249060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong    /**
250060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong     * @deprecated This class should have been an interface instead.
251060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong     * The default constuctor should have not been exposed.
252060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong     */
253060526f9856e52964eaf13df8db74f5fbdcb83b1James Dong    public DrmStore() {}
254d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi}
255d074e30ce44b9e33da43b67a4515b8986ca72b26aimitakeshi
256