package com.kuxhausen.huemore.persistence; import android.net.Uri; import android.provider.BaseColumns; import com.kuxhausen.huemore.BuildConfig; /** * Convenience definitions for Database Hander and Preferences */ public final class Definitions { public static final String SLASH = "/"; public static final class AlarmColumns implements BaseColumns { public static final String TABLE_NAME = "alarms"; public static final String PATH_ALARMS = "alarms"; /** * The content:// style URL for this table */ public static final Uri ALARMS_URI = Uri.parse(SCHEME + AUTHORITY + SLASH + PATH_ALARMS); /** * String, must be valid entry in Groups table */ public static final String COL_GROUP_ID = "COL_GROUP_ID"; /* row id of mood in moods database */ public static final String COL_MOOD_ID = "COL_MOOD_ID"; /** * 0-255 or null */ public static final String COL_BRIGHTNESS = "COL_BRIGHTNESS"; /** * int, 0 = false, 1 = true */ public static final String COL_IS_ENABLED = "COL_IS_ENABLED"; /** * int, encoding by DaysOfWeek class */ public static final String COL_REPEAT_DAYS = "COL_REPEAT_DAYS"; /** * int */ public static final String COL_YEAR = "COL_YEAR"; /** * int */ public static final String COL_MONTH = "COL_MONTH"; /** * int, day of month */ public static final String COL_DAY_OF_MONTH = "COL_DAY_OF_MONTH"; /** * int, hour of day (24 hour time) */ public static final String COL_HOUR_OF_DAY = "COL_HOUR_OF_DAY"; /** * int */ public static final String COL_MINUTE = "COL_MINUTE"; // This class cannot be instantiated private AlarmColumns() { } } public static final class GroupColumns implements BaseColumns { public static final String TABLE_NAME = "groups"; public static final String PATH_GROUPS = "groups"; public static final Uri URI = Uri.parse(SCHEME + AUTHORITY + SLASH + PATH_GROUPS); public static final String COL_GROUP_NAME = "D_COL_GROUP_NAME"; public static final String COL_GROUP_LOWERCASE_NAME = "D_COL_GROUP_LOWERCASE_NAME"; public static final String COL_GROUP_PRIORITY = "D_COL_GROUP_PRIORITY"; public static final String COL_GROUP_FLAGS = "D_COL_GROUP_FLAGS"; public final static int PRIORITY_UNSTARRED = 1, PRIORITY_STARRED = 2; public final static int FLAG_NORMAL = 0, FLAG_ALL = 1; // This class cannot be instantiated private GroupColumns() { } } public static final class GroupBulbColumns implements BaseColumns { public static final String TABLE_NAME = "groupbulbs"; public static final String PATH_GROUPBULBS = "groupbulbs"; public static final Uri URI = Uri.parse(SCHEME + AUTHORITY + SLASH + PATH_GROUPBULBS); /** * Points to the Group table entry for the Group this is part of */ public static final String COL_GROUP_ID = "D_COL_GROUP_ID"; /** * order within group in which bulbs should be used when applying mood (lowest number = first) */ public static final String COL_BULB_PRECEDENCE = "D_COL_BULB_PRECEDENCE"; /** * Points to the NetBulb table entry for this bulb */ public static final String COL_NET_BULB_ID = "D_COL_NET_BULB_ID"; // This class cannot be instantiated private GroupBulbColumns() { } } public static final class MoodColumns implements BaseColumns { public static final String TABLE_NAME = "moods"; public static final String PATH_MOODS = "moods"; public static final Uri MOODS_URI = Uri.parse(SCHEME + AUTHORITY + SLASH + PATH_MOODS); public static final String COL_MOOD_VALUE = "Dstate"; public static final String COL_MOOD_NAME = "Dmood"; public static final String COL_MOOD_LOWERCASE_NAME = "D_COL_MOOD_LOWERCASE_NAME"; public static final String COL_MOOD_PRIORITY = "D_COL_MOOD_PRIORITY"; public final static int UNSTARRED_PRIORITY = 1, STARRED_PRIORITY = 2; // This class cannot be instantiated private MoodColumns() { } } public static final class NetBulbColumns implements BaseColumns { public static final String TABLE_NAME = "netbulbs"; public static final String PATH = "netbulbs"; public static final Uri URI = Uri.parse(SCHEME + AUTHORITY + SLASH + PATH); public static final String NAME_COLUMN = "D_NAME_COLUMN"; public static final String DEVICE_ID_COLUMN = "D_DEVICE_ID_COLUMN"; public static final String TYPE_COLUMN = "D_TYPE_COLUMN"; public static final String JSON_COLUMN = "D_JSON_COLUMN"; /** * holds a values 0-100 * */ public static final String CURRENT_MAX_BRIGHTNESS = "D_CURRENT_MAX_BRIGHTNESS"; /** * Points to the NetConnection table entry for this bulb */ public static final String CONNECTION_DATABASE_ID = "Dconnection_database_id"; public static final class NetBulbType { public static final int DEBUG = 0; public static final int PHILIPS_HUE = 1; public static final int LIFX = 2; } // This class cannot be instantiated private NetBulbColumns() { } } public static final class NetConnectionColumns implements BaseColumns { public static final String TABLE_NAME = "netconnection"; public static final String PATH = "netconnection"; public static final Uri URI = Uri.parse(SCHEME + AUTHORITY + SLASH + PATH); public static final String NAME_COLUMN = "D_NAME_COLUMN"; public static final String DEVICE_ID_COLUMN = "D_DEVICE_ID_COLUMN"; // uses NetBulbType public static final String TYPE_COLUMN = "D_TYPE_COLUMN"; public static final String JSON_COLUMN = "D_JSON_COLUMN"; // This class cannot be instantiated private NetConnectionColumns() { } } /* * This table is used to store ongoing/playing moods details while the app power naps */ public static final class PlayingMood implements BaseColumns { public static final String TABLE_NAME = "playingmood"; public static final String PATH = "playingmood"; public static final Uri URI = Uri.parse(SCHEME + AUTHORITY + SLASH + PATH); /** * json encoded group object */ public static final String COL_GROUP_VALUE = "D_GROUP_VALUE_COLUMN"; /** * the mood name, may not exist in the mood table */ public static final String COL_MOOD_NAME = "D_MOOD_NAME_COLUMN"; /** * the URL-ENCODE mood value */ public static final String COL_MOOD_VALUE = "D_MOOD_VALUE_COLUMN"; public static final String COL_MOOD_BRI = "D_COL_INITIAL_MAX_BRI"; public static final String COL_INTERNAL_PROGRESS = "D_COL_INTERNAL_PROGRESS"; /** * the original mood start time measured in miliseconds using SystemClock elapsedRealTime() */ public static final String COL_MILI_TIME_STARTED = "D_MILI_TIME_START_COLUMN"; // This class cannot be instantiated private PlayingMood() { } } public static final class InternalArguments { public static final String GROUP_NAME = "Group_Name"; public static final String MOOD_NAME = "Mood_Name"; public static final String ENCODED_MOOD = "Encoded_Mood"; public static final String BRIDGES = "Bridges"; public static final String MD5 = "MD5"; public static final String FRAG_MANAGER_DIALOG_TAG = "dialog"; public static final String FALLBACK_USERNAME_HASH = "f01623452466afd4eba5c1ed0a0a9395"; public final static String HUE_STATE = "HueState"; public final static String PREVIOUS_STATE = "PreviousState"; public final static String ALARM_ID = "AlarmId"; public final static String DECODER_ERROR_UPGRADE = "DecoderErrorUpgrade"; public static final String DURATION_TIME = "DurationTime"; public static final String HELP_PAGE = "HelpPage"; public static final String ROW = "Row"; public static final String COLUMN = "Column"; public static final String NET_BULB_DATABASE_ID = "NET_BULB_DATABASE_ID"; public static final String MAX_BRIGHTNESS = "MAX_BRIGHTNESS"; public static final String NAV_DRAWER_TITLE = "NAV_DRAWER_TITLE"; public static final String GROUPBULB_TAB = "GROUPBULB_TAB"; public static final String FLAG_SHOW_NAV_DRAWER = "FLAG_SHOW_NAV_DRAWER"; public static final String FLAG_CANCEL_PLAYING = "FLAG_CANCEL_PLAYING"; public static final String VOICE_INPUT = "VOICE_INPUT"; public static final String VOICE_INPUT_LIST = "VOICE_INPUT_LIST"; public static final String VOICE_INPUT_CONFIDENCE_ARRAY = "VOICE_INPUT_CONFIDENCE_ARRAY"; public static final String CLICK_ACTION = "com.kuxhausen.huemore.CLICK_ACTION"; public static final String ALARM_HANDLER_THREAD = "ALARM_HANDLER_THREAD"; public static final String ALARM_INTENT_ACTION = "com.kuxhausen.huemore.alarm"; public static final String CONNECTIVITY_SERVICE_INTENT_ACTION = "com.kuxhausen.huemore.net"; public static final String DAYS_OF_WEEK_AS_BYTE = "DAYS_OF_WEEK_AS_BYTE"; public static final String GROUP_ID = "GROUP_ID"; } public static final class PreferenceKeys { public static final String DEFAULT_TO_GROUPS = "default_to_groups"; public static final String DEFAULT_TO_MOODS = "default_to_moods"; public static final String FIRST_RUN = "First_Run"; public static final String DONE_WITH_WELCOME_DIALOG = "DONE_WITH_WELCOME_DIALOG"; public static final String HAS_SHOWN_COMMUNITY_DIALOG = "HAS_SHOWN_COMMUNITY_DIALOG"; public static final String UPDATE_OPT_OUT = "Update_Opt_Out"; public static final String NUMBER_OF_CONNECTED_BULBS = "Number_Of_Connected_Bulbs"; public static final String VERSION_NUMBER = "Version_Number"; public static final String UNNAMED_GROUP_NUMBER = "UNNAMED_GROUP_NUMBER"; public static final String UNNAMED_MOOD_NUMBER = "UNNAMED_MOOD_NUMBER"; public static final String CACHED_EXECUTING_ENCODED_MOOD = "CACHED_EXECUTING_ENCODED_MOOD"; public static final String ALARM_GLOBAL_ID = "ALARM_GLOBAL_ID"; } /** * These preference keys were used in previous versions and might still exist on users devices */ public static final class DeprecatedPreferenceKeys { public static final String BRIDGE_IP_ADDRESS = "Bridge_IP_Address"; public static final String LOCAL_BRIDGE_IP_ADDRESS = "Local_Bridge_IP_Address"; public static final String INTERNET_BRIDGE_IP_ADDRESS = "Internet_Bridge_IP_Address"; public static final String HASHED_USERNAME = "Hashed_Username"; } public static final String AUTHORITY = BuildConfig.APPLICATION_ID + ".provider.database"; private static final String SCHEME = "content://"; // This class cannot be instantiated private Definitions() { } }