18188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski/*
28188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * Copyright (C) 2013 The Android Open Source Project
38188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski *
48188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * Licensed under the Apache License, Version 2.0 (the "License");
58188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * you may not use this file except in compliance with the License.
68188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * You may obtain a copy of the License at
78188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski *
88188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski *      http://www.apache.org/licenses/LICENSE-2.0
98188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski *
108188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * Unless required by applicable law or agreed to in writing, software
118188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * distributed under the License is distributed on an "AS IS" BASIS,
128188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
138188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * See the License for the specific language governing permissions and
148188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * limitations under the License.
158188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski */
168188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowskipackage com.android.deskclock.provider;
178188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
188188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowskiimport android.net.Uri;
198188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowskiimport android.provider.BaseColumns;
208188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
218188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski/**
228188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * <p>
238188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * The contract between the clock provider and desk clock. Contains
248188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * definitions for the supported URIs and data columns.
258188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * </p>
268188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * <h3>Overview</h3>
278188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * <p>
288188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * ClockContract defines the data model of clock related information.
298188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * This data is stored in a number of tables:
308188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * </p>
318188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * <ul>
328188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * <li>The {@link AlarmsColumns} table holds the user created alarms</li>
338188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * <li>The {@link InstancesColumns} table holds the current state of each
348188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * alarm in the AlarmsColumn table.
358188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * </li>
368188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * <li>The {@link CitiesColumns} table holds all user selectable cities</li>
378188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * </ul>
388188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski */
398188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowskipublic final class ClockContract {
408188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski    /**
418188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski     * This authority is used for writing to or querying from the clock
428188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski     * provider.
438188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski     */
448188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski    public static final String AUTHORITY = "com.android.deskclock";
458188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
468188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski    /**
478188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski     * This utility class cannot be instantiated
488188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski     */
498188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski    private ClockContract() {}
508188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
518188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski    /**
52ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski     * Constants for tables with AlarmSettings.
53ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski     */
54ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski    private interface AlarmSettingColumns extends BaseColumns {
55ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        /**
56ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * This string is used to indicate no ringtone.
57ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         */
58ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        public static final Uri NO_RINGTONE_URI = Uri.EMPTY;
59ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski
60ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        /**
61ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * This string is used to indicate no ringtone.
62ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         */
63ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        public static final String NO_RINGTONE = NO_RINGTONE_URI.toString();
64ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski
65ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        /**
66ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * True if alarm should vibrate
67ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * <p>Type: BOOLEAN</p>
68ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         */
69ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        public static final String VIBRATE = "vibrate";
70ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski
71ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        /**
72ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Alarm label.
73ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         *
74ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * <p>Type: STRING</p>
75ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         */
76ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        public static final String LABEL = "label";
77ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski
78ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        /**
79ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Audio alert to play when alarm triggers. Null entry
80ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * means use system default and entry that equal
81ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Uri.EMPTY.toString() means no ringtone.
82ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         *
83ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * <p>Type: STRING</p>
84ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         */
85ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        public static final String RINGTONE = "ringtone";
86ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski    }
87ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski
88ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski    /**
898188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski     * Constants for the Alarms table, which contains the user created alarms.
908188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski     */
91ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski    protected interface AlarmsColumns extends AlarmSettingColumns, BaseColumns {
928188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
938188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * The content:// style URL for this table.
948188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
958188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/alarms");
968188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
978188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
988188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * Hour in 24-hour localtime 0 - 23.
998188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: INTEGER</p>
1008188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
1018188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        public static final String HOUR = "hour";
1028188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
1038188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
1048188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * Minutes in localtime 0 - 59.
1058188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: INTEGER</p>
1068188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
1078188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        public static final String MINUTES = "minutes";
1088188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
1098188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
1108188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * Days of the week encoded as a bit set.
1118188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: INTEGER</p>
1128188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         *
1138188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * {@link DaysOfWeek}
1148188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
1158188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        public static final String DAYS_OF_WEEK = "daysofweek";
1168188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
1178188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
1188188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * True if alarm is active.
1198188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: BOOLEAN</p>
1208188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
1218188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        public static final String ENABLED = "enabled";
1228188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
1238188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
1248188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * Determine if alarm is deleted after it has been used.
1258188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: INTEGER</p>
1268188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
1278188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        public static final String DELETE_AFTER_USE = "delete_after_use";
1288188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski    }
1298188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
1308188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski    /**
1318188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski     * Constants for the Instance table, which contains the state of each alarm.
1328188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski     */
133ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski    protected interface InstancesColumns extends AlarmSettingColumns, BaseColumns {
1348188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
1358188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * The content:// style URL for this table.
1368188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
1378188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/instances");
1388188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
1398188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
140ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Alarm state when to show no notification.
141ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         *
142ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Can transitions to:
143ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * LOW_NOTIFICATION_STATE
144ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         */
145ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        public static final int SILENT_STATE = 0;
146ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski
147ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        /**
148ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Alarm state to show low priority alarm notification.
149ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         *
150ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Can transitions to:
151ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * HIDE_NOTIFICATION_STATE
152ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * HIGH_NOTIFICATION_STATE
153ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * DISMISSED_STATE
154ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         */
155ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        public static final int LOW_NOTIFICATION_STATE = 1;
156ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski
157ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        /**
158ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Alarm state to hide low priority alarm notification.
159ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         *
160ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Can transitions to:
161ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * HIGH_NOTIFICATION_STATE
162ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         */
163ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        public static final int HIDE_NOTIFICATION_STATE = 2;
164ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski
165ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        /**
166ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Alarm state to show high priority alarm notification.
167ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         *
168ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Can transitions to:
169ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * DISMISSED_STATE
170ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * FIRED_STATE
171ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         */
172ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        public static final int HIGH_NOTIFICATION_STATE = 3;
173ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski
174ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        /**
175ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Alarm state when alarm is in snooze.
176ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         *
177ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Can transitions to:
178ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * DISMISSED_STATE
179ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * FIRED_STATE
180ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         */
181ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        public static final int SNOOZE_STATE = 4;
182ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski
183ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        /**
184ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Alarm state when alarm is being fired.
185ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         *
186ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Can transitions to:
187ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * DISMISSED_STATE
188ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * SNOOZED_STATE
189ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * MISSED_STATE
190ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         */
191ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        public static final int FIRED_STATE = 5;
192ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski
193ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        /**
194ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Alarm state when alarm has been missed.
195ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         *
196ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Can transitions to:
197ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * DISMISSED_STATE
198ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         */
199ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        public static final int MISSED_STATE = 6;
200ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski
201ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        /**
202ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Alarm state when alarm is done.
203ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         */
204ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        public static final int DISMISSED_STATE = 7;
205ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski
206ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        /**
2078188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * Alarm year.
2088188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         *
2098188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: INTEGER</p>
2108188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
2118188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        public static final String YEAR = "year";
2128188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
2138188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
2148188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * Alarm month in year.
2158188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         *
2168188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: INTEGER</p>
2178188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
2188188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        public static final String MONTH = "month";
2198188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
2208188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
2218188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * Alarm day in month.
2228188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         *
2238188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: INTEGER</p>
2248188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
2258188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        public static final String DAY = "day";
2268188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
2278188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
2288188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * Alarm hour in 24-hour localtime 0 - 23.
2298188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: INTEGER</p>
2308188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
2318188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        public static final String HOUR = "hour";
2328188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
2338188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
2348188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * Alarm minutes in localtime 0 - 59
2358188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: INTEGER</p>
2368188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
2378188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        public static final String MINUTES = "minutes";
2388188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
2398188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
2408188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * Foreign key to Alarms table
2418188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: INTEGER (long)</p>
2428188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
2438188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        public static final String ALARM_ID = "alarm_id";
2448188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
2458188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
2468188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * Alarm state
2478188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: INTEGER</p>
2488188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
2498188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        public static final String ALARM_STATE = "alarm_state";
2508188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski    }
2518188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
2528188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski    /**
2538188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski     * Constants for the Cities table, which contains all selectable cities.
2548188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski     */
2558188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski    protected interface CitiesColumns {
2568188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
2578188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * The content:// style URL for this table.
2588188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
2598188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/cities");
2608188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
2618188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
2628188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * Primary id for city.
2638188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: STRING</p>
2648188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
2658188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        public static final String CITY_ID = "city_id";
2668188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
2678188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
2688188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * City name.
2698188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: STRING</p>
2708188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
2718188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        public static final String CITY_NAME = "city_name";
2728188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
2738188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
2748188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * Timezone name of city.
2758188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: STRING</p>
2768188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
2778188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        public static final String TIMEZONE_NAME = "timezone_name";
2788188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
2798188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
2808188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * Timezone offset.
2818188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: INTEGER</p>
2828188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
2838188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        public static final String TIMEZONE_OFFSET = "timezone_offset";
2848188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski    }
2858188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski}
286