/* Copyright (C) 2018-2021 Andreas Shimokawa, Sebastian Kranz This file is part of Gadgetbridge. Gadgetbridge is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Gadgetbridge is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.devices.zetime; import java.util.UUID; public class ZeTimeConstants { public static final UUID UUID_WRITE_CHARACTERISTIC = UUID.fromString("00008001-0000-1000-8000-00805f9b34fb"); public static final UUID UUID_ACK_CHARACTERISTIC = UUID.fromString("00008002-0000-1000-8000-00805f9b34fb"); public static final UUID UUID_REPLY_CHARACTERISTIC = UUID.fromString("00008003-0000-1000-8000-00805f9b34fb"); public static final UUID UUID_NOTIFY_CHARACTERISTIC = UUID.fromString("00008004-0000-1000-8000-00805f9b34fb"); public static final UUID UUID_CHARACTERISTIC_8005 = UUID.fromString("00008005-0000-1000-8000-00805f9b34fb"); public static final UUID UUID_CHARACTERISTIC_HEART_RATE = UUID.fromString("00002a37-0000-1000-8000-00805f9b34fb"); public static final UUID UUID_CONFIG_DESCRIPTOR = UUID.fromString("00002902-0000-1000-8000-00805f9b34fb"); public static final UUID UUID_SERVICE_BASE = UUID.fromString("00006006-0000-1000-8000-00805f9b34fb"); public static final UUID UUID_SERVICE_EXTEND = UUID.fromString("00007006-0000-1000-8000-00805f9b34fb"); public static final UUID UUID_SERVICE_HEART_RATE = UUID.fromString("0000180d-0000-1000-8000-00805f9b34fb"); public static final byte CMD_PREAMBLE = (byte) 0x6f; // list all available commands public static final byte CMD_RESPOND = (byte) 0x01; public static final byte CMD_WATCH_ID = (byte) 0x02; public static final byte CMD_DEVICE_VERSION = (byte) 0x03; public static final byte CMD_DATE_TIME = (byte) 0x04; public static final byte CMD_TIME_SURFACE_SETTINGS = (byte) 0x05; public static final byte CMD_SURFACE_DISPLAY_SETTIGNS = (byte) 0x06; public static final byte CMD_SCREEN_BRIGHTNESS = (byte) 0x07; public static final byte CMD_BATTERY_POWER = (byte) 0x08; public static final byte CMD_VOLUME_SETTINGS = (byte) 0x09; public static final byte CMD_SHOCK_MODE = (byte) 0x0A; public static final byte CMD_LANGUAGE_SETTINGS = (byte) 0x0B; public static final byte CMD_UNIT_SETTINGS = (byte) 0x0C; public static final byte CMD_FACTORY_RESTORE = (byte) 0x0D; public static final byte CMD_ENTER_UPGRADE_MODE = (byte) 0x0E; public static final byte CMD_SHOCK_STRENGTH = (byte) 0x10; public static final byte CMD_WORK_MODE = (byte) 0x12; public static final byte CMD_SCREEN_ON_TIME = (byte) 0x13; public static final byte CMD_SNOOZE = (byte) 0x14; public static final byte CMD_DO_NOT_DISTURB = (byte) 0x15; public static final byte CMD_ANALOG_MODE = (byte) 0x17; public static final byte CMD_CONTROL_DEVICE = (byte) 0x1A; public static final byte CMD_DISPLAY_TIMEOUT = (byte) 0x25; public static final byte CMD_USER_INFO = (byte) 0x30; public static final byte CMD_USAGE_HABITS = (byte) 0x31; public static final byte CMD_USER_NAME = (byte) 0x32; public static final byte CMD_GOALS = (byte) 0x50; public static final byte CMD_AVAIABLE_DATA = (byte) 0x52; public static final byte CMD_DELETE_STEP_COUNT = (byte) 0x53; public static final byte CMD_GET_STEP_COUNT = (byte) 0x54; public static final byte CMD_DELETE_SLEEP_DATA = (byte) 0x55; public static final byte CMD_GET_SLEEP_DATA = (byte) 0x56; public static final byte CMD_DELETE_HEARTRATE_DATA = (byte) 0x5A; public static final byte CMD_GET_HEARTRATE_DATA = (byte) 0x5B; public static final byte CMD_AUTO_HEARTRATE = (byte) 0x5C; public static final byte CMD_HEARTRATE_ALARM_LIMITS = (byte) 0x5D; public static final byte CMD_INACTIVITY_ALERT = (byte) 0x5E; public static final byte CMD_CALORIES_TYPE = (byte) 0x60; public static final byte CMD_GET_HEARTRATE_EXDATA = (byte) 0x61; public static final byte CMD_PUSH_EX_MSG = (byte) 0x76; public static final byte CMD_PUSH_WEATHER_DATA = (byte) 0x77; public static final byte CMD_SWITCH_SETTINGS = (byte) 0x90; public static final byte CMD_REMINDERS = (byte) 0x97; public static final byte CMD_PUSH_CALENDAR_DAY = (byte) 0x99; public static final byte CMD_MUSIC_CONTROL = (byte) 0xD0; public static final byte CMD_CALL_CONTROL = (byte) 0xDC; public static final byte CMD_TEST_SIGNALING = (byte) 0xFA; // here are the action commands public static final byte CMD_REQUEST = (byte) 0x70; public static final byte CMD_SEND = (byte) 0x71; public static final byte CMD_REQUEST_RESPOND = (byte) 0x80; // further commands public static final byte CMD_END = (byte) 0x8f; public static final byte CMD_ACK_WRITE = (byte) 0x03; // notification types and icons public static final byte NOTIFICATION_MISSED_CALL = (byte) 0x00; public static final byte NOTIFICATION_SMS = (byte) 0x01; public static final byte NOTIFICATION_SOCIAL = (byte) 0x02; public static final byte NOTIFICATION_EMAIL = (byte) 0x03; public static final byte NOTIFICATION_CALENDAR = (byte) 0x04; public static final byte NOTIFICATION_INCOME_CALL = (byte) 0x05; public static final byte NOTIFICATION_CALL_OFF = (byte) 0x06; public static final byte NOTIFICATION_WECHAT = (byte) 0x07; public static final byte NOTIFICATION_VIBER = (byte) 0x08; public static final byte NOTIFICATION_SNAPCHAT = (byte) 0x09; public static final byte NOTIFICATION_WHATSAPP = (byte) 0x0A; public static final byte NOTIFICATION_QQ = (byte) 0x0B; public static final byte NOTIFICATION_FACEBOOK = (byte) 0x0C; public static final byte NOTIFICATION_HANGOUTS = (byte) 0x0D; public static final byte NOTIFICATION_GMAIL = (byte) 0x0E; public static final byte NOTIFICATION_MESSENGER = (byte) 0x0F; public static final byte NOTIFICATION_INSTAGRAM = (byte) 0x10; public static final byte NOTIFICATION_TWITTER = (byte) 0x11; public static final byte NOTIFICATION_LINKEDIN = (byte) 0x12; public static final byte NOTIFICATION_UBER = (byte) 0x13; public static final byte NOTIFICATION_LINE = (byte) 0x14; public static final byte NOTIFICATION_SKYPE = (byte) 0x15; // reminders types public static final byte REMINDER_ALARM = (byte) 0x04; // signaling types public static final byte ANTI_LOSS_TYPE = (byte) 0x00; public static final byte CALL_TYPE = (byte) 0x02; public static final byte MISSED_CALL_TYPE = (byte) 0x03; public static final byte SMS_TYPE = (byte) 0x04; public static final byte SOCIAL_TYPE = (byte) 0x05; public static final byte EMAIL_TYPE = (byte) 0x06; public static final byte CALENDAR_TYPE = (byte) 0x07; public static final byte INACTIVITY_TYPE = (byte) 0x08; public static final byte LOW_POWER_TYPE = (byte) 0x09; // watch settings public static final byte WEAR_ON_LEFT_WRIST = (byte) 0x00; public static final byte WEAR_ON_RIGHT_WRIST = (byte) 0x01; public static final String PREF_SCREENTIME = "zetime_screentime"; public static final int MAX_SCREEN_ON_TIME = 0xffff; public static final int MIN_SCREEN_ON_TIME = 0x000a; public static final String PREF_ZETIME_DONT_DEL_ACTDATA = "zetime_dont_del_actdata"; public static final String PREF_ZETIME_HEARTRATE_ALARM = "zetime_heartrate_alarm_enable"; public static final String PREF_ZETIME_MAX_HEARTRATE = "alarm_max_heart_rate"; public static final String PREF_ZETIME_MIN_HEARTRATE = "alarm_min_heart_rate"; public static final String PREF_ZETIME_HEARTRATE_INTERVAL = "heartrate_measurement_interval"; public static final String PREF_ANALOG_MODE = "zetime_analog_mode"; public static final String PREF_ACTIVITY_TRACKING = "zetime_activity_tracking"; public static final String PREF_HANDMOVE_DISPLAY = "zetime_handmove_display"; public static final String PREF_CALORIES_TYPE = "zetime_calories_type"; public static final String PREF_DATE_FORMAT = "zetime_date_format"; public static final String PREF_ALARM_SIGNALING = "zetime_alarm_signaling"; public static final String PREF_SMS_SIGNALING = "zetime_vibration_profile_sms"; public static final String PREF_CALL_SIGNALING = "zetime_vibration_profile_incoming_call"; public static final String PREF_MISSED_CALL_SIGNALING = "zetime_vibration_profile_missed_call"; public static final String PREF_EMAIL_SIGNALING = "zetime_vibration_profile_generic_email"; public static final String PREF_SOCIAL_SIGNALING = "zetime_vibration_profile_generic_social"; public static final String PREF_CALENDAR_SIGNALING = "zetime_vibration_profile_calendar"; public static final String PREF_INACTIVITY_SIGNALING = "zetime_vibration_profile_inactivity"; public static final String PREF_LOW_POWER_SIGNALING = "zetime_vibration_profile_lowpower"; public static final String PREF_ANTI_LOSS_SIGNALING = "zetime_vibration_profile_antiloss"; public static final String PREF_USER_SLEEP_GOAL = "activity_user_sleep_duration"; public static final String PREF_USER_CALORIES_GOAL = "activity_user_calories_burnt"; public static final String PREF_USER_DISTANCE_GOAL = "activity_user_distance_meters"; public static final String PREF_USER_ACTIVETIME_GOAL = "activity_user_activetime_minutes"; public static final String PREF_SHOCK_STRENGTH = "zetime_shock_strength"; }