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
21e8cbcd82d372e6f5b5fb9e814344358c28f544b9Justin Klaassenimport com.android.deskclock.BuildConfig;
22e8cbcd82d372e6f5b5fb9e814344358c28f544b9Justin Klaassen
238188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski/**
248188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * <p>
258188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * The contract between the clock provider and desk clock. Contains
268188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * definitions for the supported URIs and data columns.
278188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * </p>
288188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * <h3>Overview</h3>
298188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * <p>
308188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * ClockContract defines the data model of clock related information.
318188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * This data is stored in a number of tables:
328188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * </p>
338188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * <ul>
348188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * <li>The {@link AlarmsColumns} table holds the user created alarms</li>
358188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * <li>The {@link InstancesColumns} table holds the current state of each
368188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * alarm in the AlarmsColumn table.
378188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * </li>
388188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski * </ul>
398188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski */
408188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowskipublic final class ClockContract {
418188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski    /**
428188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski     * This authority is used for writing to or querying from the clock
438188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski     * provider.
448188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski     */
45e8cbcd82d372e6f5b5fb9e814344358c28f544b9Justin Klaassen    public static final String AUTHORITY = BuildConfig.APPLICATION_ID;
468188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
478188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski    /**
488188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski     * This utility class cannot be instantiated
498188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski     */
508188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski    private ClockContract() {}
518188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
528188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski    /**
53ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski     * Constants for tables with AlarmSettings.
54ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski     */
55ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski    private interface AlarmSettingColumns extends BaseColumns {
56ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        /**
57ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * This string is used to indicate no ringtone.
58ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         */
590750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        Uri NO_RINGTONE_URI = Uri.EMPTY;
60ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski
61ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        /**
62ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * This string is used to indicate no ringtone.
63ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         */
640750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        String NO_RINGTONE = NO_RINGTONE_URI.toString();
65ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski
66ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        /**
67ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * True if alarm should vibrate
68ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * <p>Type: BOOLEAN</p>
69ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         */
700750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        String VIBRATE = "vibrate";
71ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski
72ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        /**
73ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Alarm label.
74ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         *
75ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * <p>Type: STRING</p>
76ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         */
770750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        String LABEL = "label";
78ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski
79ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        /**
80ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Audio alert to play when alarm triggers. Null entry
81ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * means use system default and entry that equal
82ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Uri.EMPTY.toString() means no ringtone.
83ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         *
84ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * <p>Type: STRING</p>
85ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         */
860750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        String RINGTONE = "ringtone";
87ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski    }
88ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski
89ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski    /**
908188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski     * Constants for the Alarms table, which contains the user created alarms.
918188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski     */
92ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski    protected interface AlarmsColumns extends AlarmSettingColumns, BaseColumns {
938188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
948188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * The content:// style URL for this table.
958188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
960750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/alarms");
978188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
988188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
99381f4f17c8b2d4f0aac35eca56a315d129c5fb1eAnnie Chin         * The content:// style URL for the alarms with instance tables, which is used to get the
100381f4f17c8b2d4f0aac35eca56a315d129c5fb1eAnnie Chin         * next firing instance and the current state of an alarm.
101381f4f17c8b2d4f0aac35eca56a315d129c5fb1eAnnie Chin         */
1020750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        Uri ALARMS_WITH_INSTANCES_URI = Uri.parse("content://" + AUTHORITY
103381f4f17c8b2d4f0aac35eca56a315d129c5fb1eAnnie Chin                + "/alarms_with_instances");
104381f4f17c8b2d4f0aac35eca56a315d129c5fb1eAnnie Chin
105381f4f17c8b2d4f0aac35eca56a315d129c5fb1eAnnie Chin        /**
1068188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * Hour in 24-hour localtime 0 - 23.
1078188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: INTEGER</p>
1088188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
1090750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        String HOUR = "hour";
1108188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
1118188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
1128188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * Minutes in localtime 0 - 59.
1138188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: INTEGER</p>
1148188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
1150750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        String MINUTES = "minutes";
1168188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
1178188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
1188188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * Days of the week encoded as a bit set.
1198188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: INTEGER</p>
1208188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         *
1218188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * {@link DaysOfWeek}
1228188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
1230750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        String DAYS_OF_WEEK = "daysofweek";
1248188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
1258188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
1268188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * True if alarm is active.
1278188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: BOOLEAN</p>
1288188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
1290750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        String ENABLED = "enabled";
1308188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
1318188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
1328188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * Determine if alarm is deleted after it has been used.
1338188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: INTEGER</p>
1348188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
1350750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        String DELETE_AFTER_USE = "delete_after_use";
1368188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski    }
1378188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
1388188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski    /**
1398188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski     * Constants for the Instance table, which contains the state of each alarm.
1408188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski     */
141ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski    protected interface InstancesColumns extends AlarmSettingColumns, BaseColumns {
1428188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
1438188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * The content:// style URL for this table.
1448188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
1450750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/instances");
1468188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
1478188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
148ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Alarm state when to show no notification.
149ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         *
150ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Can transitions to:
151ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * LOW_NOTIFICATION_STATE
152ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         */
1530750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        int SILENT_STATE = 0;
154ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski
155ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        /**
156ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Alarm state to show low priority alarm notification.
157ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         *
158ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Can transitions to:
159ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * HIDE_NOTIFICATION_STATE
160ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * HIGH_NOTIFICATION_STATE
161ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * DISMISSED_STATE
162ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         */
1630750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        int LOW_NOTIFICATION_STATE = 1;
164ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski
165ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        /**
166ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Alarm state to hide low priority alarm notification.
167ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         *
168ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Can transitions to:
169ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * HIGH_NOTIFICATION_STATE
170ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         */
1710750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        int HIDE_NOTIFICATION_STATE = 2;
172ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski
173ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        /**
174ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Alarm state to show high priority alarm notification.
175ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         *
176ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Can transitions to:
177ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * DISMISSED_STATE
178ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * FIRED_STATE
179ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         */
1800750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        int HIGH_NOTIFICATION_STATE = 3;
181ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski
182ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        /**
183ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Alarm state when alarm is in snooze.
184ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         *
185ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Can transitions to:
186ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * DISMISSED_STATE
187ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * FIRED_STATE
188ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         */
1890750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        int SNOOZE_STATE = 4;
190ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski
191ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        /**
192ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Alarm state when alarm is being fired.
193ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         *
194ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Can transitions to:
195ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * DISMISSED_STATE
196ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * SNOOZED_STATE
197ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * MISSED_STATE
198ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         */
1990750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        int FIRED_STATE = 5;
200ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski
201ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        /**
202ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Alarm state when alarm has been missed.
203ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         *
204ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Can transitions to:
205ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * DISMISSED_STATE
206ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         */
2070750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        int MISSED_STATE = 6;
208ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski
209ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        /**
210ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         * Alarm state when alarm is done.
211ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski         */
2120750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        int DISMISSED_STATE = 7;
213ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski
214ab0d28c68a77bea2a4a2ee50378da3670a1dd939Paul Sliwowski        /**
215f855d573817c0437b6b84aa6a743e65b9d10f476Annie Chin         * Alarm state when alarm has been dismissed before its intended firing time.
216f855d573817c0437b6b84aa6a743e65b9d10f476Annie Chin         */
2170750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        int PREDISMISSED_STATE = 8;
218f855d573817c0437b6b84aa6a743e65b9d10f476Annie Chin
219f855d573817c0437b6b84aa6a743e65b9d10f476Annie Chin        /**
2208188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * Alarm year.
2218188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         *
2228188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: INTEGER</p>
2238188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
2240750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        String YEAR = "year";
2258188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
2268188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
2278188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * Alarm month in year.
2288188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         *
2298188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: INTEGER</p>
2308188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
2310750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        String MONTH = "month";
2328188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
2338188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
2348188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * Alarm day in month.
2358188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         *
2368188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: INTEGER</p>
2378188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
2380750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        String DAY = "day";
2398188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
2408188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
2418188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * Alarm hour in 24-hour localtime 0 - 23.
2428188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: INTEGER</p>
2438188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
2440750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        String HOUR = "hour";
2458188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
2468188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
2478188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * Alarm minutes in localtime 0 - 59
2488188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: INTEGER</p>
2498188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
2500750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        String MINUTES = "minutes";
2518188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
2528188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
2538188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * Foreign key to Alarms table
2548188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: INTEGER (long)</p>
2558188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
2560750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        String ALARM_ID = "alarm_id";
2578188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski
2588188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski        /**
2598188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * Alarm state
2608188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         * <p>Type: INTEGER</p>
2618188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski         */
2620750923e1ee389c0987e19801ec12d5de53d4b57James Lemieux        String ALARM_STATE = "alarm_state";
2638188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski    }
2648188813bc869d3df4885f9c2972f9cc85745b59bPaul Sliwowski}
265