mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-08-02 20:13:36 +02:00
Merge branch 'master' of codeberg.org:Freeyourgadget/Gadgetbridge
This commit is contained in:
commit
1c6014428e
@ -5,9 +5,9 @@ pipeline:
|
||||
- pwd #bump
|
||||
- ./gradlew assembleDebug --stacktrace
|
||||
|
||||
when:
|
||||
repo: Freeyourgadget/Gadgetbridge
|
||||
branch: master
|
||||
#when:
|
||||
#repo: Freeyourgadget/Gadgetbridge
|
||||
#branch: master
|
||||
#this doesn't work yet:
|
||||
#https://github.com/woodpecker-ci/woodpecker/issues/687
|
||||
|
||||
|
@ -47,7 +47,6 @@ android {
|
||||
targetCompatibility JavaVersion.VERSION_1_7
|
||||
}
|
||||
compileSdkVersion 29
|
||||
buildToolsVersion '30.0.2'
|
||||
|
||||
defaultConfig {
|
||||
applicationId "nodomain.freeyourgadget.gadgetbridge"
|
||||
@ -126,6 +125,8 @@ android {
|
||||
flavorDimensions "device_type"
|
||||
productFlavors {
|
||||
main {
|
||||
// Ensure that when starting from scratch, 'main' is selected, not 'banglejs'
|
||||
getIsDefault().set(true)
|
||||
// the default build product flavor
|
||||
dimension "device_type"
|
||||
//applicationIdSuffix ""
|
||||
@ -137,6 +138,8 @@ android {
|
||||
applicationIdSuffix ".banglejs"
|
||||
versionNameSuffix "-banglejs"
|
||||
buildConfigField "boolean", "INTERNET_ACCESS", "true"
|
||||
// Disable pebble provider to allow Bangle.js Gadgetbridge to coexist with Gadgetbridge
|
||||
resValue "string", "pebble_content_provider", "com.getpebble.android.nopebble.provider"
|
||||
}
|
||||
}
|
||||
|
||||
@ -158,7 +161,7 @@ android {
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
path "src/main/c/CMakeLists.txt"
|
||||
version "3.10.2"
|
||||
version "3.18.1"
|
||||
}
|
||||
}
|
||||
sourceSets {
|
||||
|
@ -3,6 +3,6 @@
|
||||
<string name="app_name">Bangle.js Gadgetbridge</string>
|
||||
<string name="title_activity_controlcenter">Bangle.js Gadgetbridge</string>
|
||||
<string name="about_activity_title">About Bangle.js Gadgetbridge</string>
|
||||
<string name="about_description">Android companion app for Bangle.js built on top of the Gadgetbridge project</string>
|
||||
<string name="about_description">Android companion app for Bangle.js built on top of the Gadgetbridge project, with added Internet Access.</string>
|
||||
<string name="gadgetbridge_running">Bangle.js running</string>
|
||||
</resources>
|
||||
|
@ -85,11 +85,15 @@ import nodomain.freeyourgadget.gadgetbridge.util.Prefs;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.AMAZFITBIP;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.AMAZFITCOR;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.AMAZFITCOR2;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.FITPRO;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.GALAXY_BUDS;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.LEFUN;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.MIBAND;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.MIBAND2;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.MIBAND3;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.PEBBLE;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.TLW64;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.WATCHXPLUS;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.fromKey;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.util.GB.NOTIFICATION_CHANNEL_HIGH_PRIORITY_ID;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.util.GB.NOTIFICATION_ID_ERROR;
|
||||
@ -111,7 +115,7 @@ public class GBApplication extends Application {
|
||||
private static SharedPreferences sharedPrefs;
|
||||
private static final String PREFS_VERSION = "shared_preferences_version";
|
||||
//if preferences have to be migrated, increment the following and add the migration logic in migratePrefs below; see http://stackoverflow.com/questions/16397848/how-can-i-migrate-android-preferences-with-a-new-version
|
||||
private static final int CURRENT_PREFS_VERSION = 10;
|
||||
private static final int CURRENT_PREFS_VERSION = 11;
|
||||
|
||||
private static LimitedQueue mIDSenderLookup = new LimitedQueue(16);
|
||||
private static Prefs prefs;
|
||||
@ -977,6 +981,97 @@ public class GBApplication extends Application {
|
||||
Log.w(TAG, "error acquiring DB lock");
|
||||
}
|
||||
}
|
||||
if (oldVersion < 11) {
|
||||
try (DBHandler db = acquireDB()) {
|
||||
DaoSession daoSession = db.getDaoSession();
|
||||
List<Device> activeDevices = DBHelper.getActiveDevices(daoSession);
|
||||
for (Device dbDevice : activeDevices) {
|
||||
SharedPreferences deviceSharedPrefs = GBApplication.getDeviceSpecificSharedPrefs(dbDevice.getIdentifier());
|
||||
SharedPreferences.Editor deviceSharedPrefsEdit = deviceSharedPrefs.edit();
|
||||
DeviceType deviceType = fromKey(dbDevice.getType());
|
||||
if (deviceType == WATCHXPLUS || deviceType == FITPRO || deviceType == LEFUN) {
|
||||
deviceSharedPrefsEdit.putBoolean("inactivity_warnings_enable", deviceSharedPrefs.getBoolean("pref_longsit_switch", false));
|
||||
deviceSharedPrefsEdit.remove("pref_longsit_switch");
|
||||
}
|
||||
if (deviceType == WATCHXPLUS || deviceType == FITPRO) {
|
||||
deviceSharedPrefsEdit.putString("inactivity_warnings_start", deviceSharedPrefs.getString("pref_longsit_start", "06:00"));
|
||||
deviceSharedPrefsEdit.putString("inactivity_warnings_end", deviceSharedPrefs.getString("pref_longsit_end", "23:00"));
|
||||
deviceSharedPrefsEdit.remove("pref_longsit_start");
|
||||
deviceSharedPrefsEdit.remove("pref_longsit_end");
|
||||
}
|
||||
if (deviceType == WATCHXPLUS || deviceType == LEFUN) {
|
||||
deviceSharedPrefsEdit.putString("inactivity_warnings_threshold", deviceSharedPrefs.getString("pref_longsit_period", "60"));
|
||||
deviceSharedPrefsEdit.remove("pref_longsit_period");
|
||||
}
|
||||
if (deviceType == TLW64) {
|
||||
deviceSharedPrefsEdit.putBoolean("inactivity_warnings_enable_noshed", deviceSharedPrefs.getBoolean("screen_longsit_noshed", false));
|
||||
deviceSharedPrefsEdit.remove("screen_longsit_noshed");
|
||||
}
|
||||
if (dbDevice.getManufacturer().equals("Huami")) {
|
||||
editor.putBoolean("inactivity_warnings_dnd", prefs.getBoolean("mi2_inactivity_warnings_dnd", false));
|
||||
editor.putString("inactivity_warnings_dnd_start", prefs.getString("mi2_inactivity_warnings_dnd_start", "12:00"));
|
||||
editor.putString("inactivity_warnings_dnd_end", prefs.getString("mi2_inactivity_warnings_dnd_end", "14:00"));
|
||||
editor.putBoolean("inactivity_warnings_enable", prefs.getBoolean("mi2_inactivity_warnings", false));
|
||||
editor.putInt("inactivity_warnings_threshold", prefs.getInt("mi2_inactivity_warnings_threshold", 60));
|
||||
editor.putString("inactivity_warnings_start", prefs.getString("mi2_inactivity_warnings_start", "06:00"));
|
||||
editor.putString("inactivity_warnings_end", prefs.getString("mi2_inactivity_warnings_end", "22:00"));
|
||||
}
|
||||
switch (deviceType) {
|
||||
case LEFUN:
|
||||
deviceSharedPrefsEdit.putString("language", deviceSharedPrefs.getString("pref_lefun_interface_language", "0"));
|
||||
deviceSharedPrefsEdit.remove("pref_lefun_interface_language");
|
||||
break;
|
||||
case FITPRO:
|
||||
deviceSharedPrefsEdit.putString("inactivity_warnings_threshold", deviceSharedPrefs.getString("pref_longsit_period", "4"));
|
||||
deviceSharedPrefsEdit.remove("pref_longsit_period");
|
||||
break;
|
||||
case ZETIME:
|
||||
editor.putString("do_not_disturb", prefs.getString("zetime_do_not_disturb", "off"));
|
||||
editor.putString("do_not_disturb_start", prefs.getString("zetime_do_not_disturb_start", "22:00"));
|
||||
editor.putString("do_not_disturb_end", prefs.getString("zetime_do_not_disturb_end", "07:00"));
|
||||
editor.putBoolean("inactivity_warnings_enable", prefs.getBoolean("zetime_inactivity_warnings", false));
|
||||
editor.putString("inactivity_warnings_start", prefs.getString("zetime_inactivity_warnings_start", "06:00"));
|
||||
editor.putString("inactivity_warnings_end", prefs.getString("zetime_inactivity_warnings_end", "22:00"));
|
||||
editor.putInt("inactivity_warnings_threshold", prefs.getInt("zetime_inactivity_warnings_threshold", 60));
|
||||
editor.putBoolean("inactivity_warnings_mo", prefs.getBoolean("zetime_prefs_inactivity_repetitions_mo", false));
|
||||
editor.putBoolean("inactivity_warnings_tu", prefs.getBoolean("zetime_prefs_inactivity_repetitions_tu", false));
|
||||
editor.putBoolean("inactivity_warnings_we", prefs.getBoolean("zetime_prefs_inactivity_repetitions_we", false));
|
||||
editor.putBoolean("inactivity_warnings_th", prefs.getBoolean("zetime_prefs_inactivity_repetitions_th", false));
|
||||
editor.putBoolean("inactivity_warnings_fr", prefs.getBoolean("zetime_prefs_inactivity_repetitions_fr", false));
|
||||
editor.putBoolean("inactivity_warnings_sa", prefs.getBoolean("zetime_prefs_inactivity_repetitions_sa", false));
|
||||
editor.putBoolean("inactivity_warnings_su", prefs.getBoolean("zetime_prefs_inactivity_repetitions_su", false));
|
||||
break;
|
||||
}
|
||||
deviceSharedPrefsEdit.apply();
|
||||
}
|
||||
editor.putInt("fitness_goal", prefs.getInt("mi_fitness_goal", 8000));
|
||||
|
||||
editor.remove("zetime_do_not_disturb");
|
||||
editor.remove("zetime_do_not_disturb_start");
|
||||
editor.remove("zetime_do_not_disturb_end");
|
||||
editor.remove("zetime_inactivity_warnings");
|
||||
editor.remove("zetime_inactivity_warnings_start");
|
||||
editor.remove("zetime_inactivity_warnings_end");
|
||||
editor.remove("zetime_inactivity_warnings_threshold");
|
||||
editor.remove("zetime_prefs_inactivity_repetitions_mo");
|
||||
editor.remove("zetime_prefs_inactivity_repetitions_tu");
|
||||
editor.remove("zetime_prefs_inactivity_repetitions_we");
|
||||
editor.remove("zetime_prefs_inactivity_repetitions_th");
|
||||
editor.remove("zetime_prefs_inactivity_repetitions_fr");
|
||||
editor.remove("zetime_prefs_inactivity_repetitions_sa");
|
||||
editor.remove("zetime_prefs_inactivity_repetitions_su");
|
||||
editor.remove("mi2_inactivity_warnings_dnd");
|
||||
editor.remove("mi2_inactivity_warnings_dnd_start");
|
||||
editor.remove("mi2_inactivity_warnings_dnd_end");
|
||||
editor.remove("mi2_inactivity_warnings");
|
||||
editor.remove("mi2_inactivity_warnings_threshold");
|
||||
editor.remove("mi2_inactivity_warnings_start");
|
||||
editor.remove("mi2_inactivity_warnings_end");
|
||||
editor.remove("mi_fitness_goal");
|
||||
} catch (Exception e) {
|
||||
Log.w(TAG, "error acquiring DB lock");
|
||||
}
|
||||
}
|
||||
editor.putString(PREFS_VERSION, Integer.toString(CURRENT_PREFS_VERSION));
|
||||
editor.apply();
|
||||
}
|
||||
|
@ -41,6 +41,10 @@ public class DeviceSettingsPreferenceConst {
|
||||
public static final String PREF_VIBRATION_STRENGH_PERCENTAGE = "vibration_strength";
|
||||
public static final String PREF_RELAX_FIRMWARE_CHECKS = "relax_firmware_checks";
|
||||
|
||||
public static final String PREF_DISCONNECT_NOTIFICATION = "disconnect_notification";
|
||||
public static final String PREF_DISCONNECT_NOTIFICATION_START = "disconnect_notification_start";
|
||||
public static final String PREF_DISCONNECT_NOTIFICATION_END = "disconnect_notification_end";
|
||||
|
||||
public static final String PREF_HYBRID_HR_FORCE_WHITE_COLOR = "force_white_color_scheme";
|
||||
public static final String PREF_HYBRID_HR_DRAW_WIDGET_CIRCLES = "widget_draw_circles";
|
||||
public static final String PREF_HYBRID_HR_SAVE_RAW_ACTIVITY_FILES = "save_raw_activity_files";
|
||||
@ -61,8 +65,22 @@ public class DeviceSettingsPreferenceConst {
|
||||
|
||||
public static final String PREF_LIFTWRIST_NOSHED = "activate_display_on_lift_wrist_noshed";
|
||||
public static final String PREF_DISCONNECTNOTIF_NOSHED = "disconnect_notification_noshed";
|
||||
public static final String PREF_LONGSIT_START = "pref_longsit_start";
|
||||
public static final String PREF_LONGSIT_END = "pref_longsit_end";
|
||||
public static final String PREF_INACTIVITY_KEY = "inactivity_warnings_key";
|
||||
public static final String PREF_INACTIVITY_ENABLE = "inactivity_warnings_enable";
|
||||
public static final String PREF_INACTIVITY_ENABLE_NOSHED = "inactivity_warnings_enable_noshed";
|
||||
public static final String PREF_INACTIVITY_START = "inactivity_warnings_start";
|
||||
public static final String PREF_INACTIVITY_END = "inactivity_warnings_end";
|
||||
public static final String PREF_INACTIVITY_THRESHOLD = "inactivity_warnings_threshold";
|
||||
public static final String PREF_INACTIVITY_MO = "inactivity_warnings_mo";
|
||||
public static final String PREF_INACTIVITY_TU = "inactivity_warnings_tu";
|
||||
public static final String PREF_INACTIVITY_WE = "inactivity_warnings_we";
|
||||
public static final String PREF_INACTIVITY_TH = "inactivity_warnings_th";
|
||||
public static final String PREF_INACTIVITY_FR = "inactivity_warnings_fr";
|
||||
public static final String PREF_INACTIVITY_SA = "inactivity_warnings_sa";
|
||||
public static final String PREF_INACTIVITY_SU = "inactivity_warnings_su";
|
||||
public static final String PREF_INACTIVITY_DND = "inactivity_warnings_dnd";
|
||||
public static final String PREF_INACTIVITY_DND_START = "inactivity_warnings_dnd_start";
|
||||
public static final String PREF_INACTIVITY_DND_END = "inactivity_warnings_dnd_end";
|
||||
|
||||
public static final String PREF_AUTOHEARTRATE_SWITCH = "pref_autoheartrate_switch";
|
||||
public static final String PREF_AUTOHEARTRATE_SLEEP = "pref_autoheartrate_sleep";
|
||||
@ -73,14 +91,19 @@ public class DeviceSettingsPreferenceConst {
|
||||
public static final String PREF_POWER_MODE = "power_mode";
|
||||
public static final String PREF_BUTTON_BP_CALIBRATE = "prefs_sensors_button_bp_calibration";
|
||||
public static final String PREF_ALTITUDE_CALIBRATE = "pref_sensors_altitude";
|
||||
public static final String PREF_LONGSIT_PERIOD = "pref_longsit_period";
|
||||
public static final String PREF_LONGSIT_SWITCH = "pref_longsit_switch";
|
||||
public static final String PREF_LONGSIT_SWITCH_NOSHED = "screen_longsit_noshed";
|
||||
public static final String PREF_DO_NOT_DISTURB_NOAUTO = "do_not_disturb_no_auto";
|
||||
public static final String PREF_DO_NOT_DISTURB_NOAUTO_START = "do_not_disturb_no_auto_start";
|
||||
public static final String PREF_DO_NOT_DISTURB_NOAUTO_END = "do_not_disturb_no_auto_end";
|
||||
public static final String PREF_DO_NOT_DISTURB = "do_not_disturb";
|
||||
public static final String PREF_DO_NOT_DISTURB_START = "do_not_disturb_start";
|
||||
public static final String PREF_DO_NOT_DISTURB_END = "do_not_disturb_end";
|
||||
public static final String PREF_DO_NOT_DISTURB_LIFT_WRIST = "do_not_disturb_lift_wrist";
|
||||
public static final String PREF_DO_NOT_DISTURB_OFF = "off";
|
||||
public static final String PREF_DO_NOT_DISTURB_AUTOMATIC = "automatic";
|
||||
public static final String PREF_DO_NOT_DISTURB_SCHEDULED = "scheduled";
|
||||
|
||||
public static final String PREF_FIND_PHONE_ENABLED = "prefs_find_phone";
|
||||
public static final String PREF_FIND_PHONE = "prefs_find_phone";
|
||||
public static final String PREF_FIND_PHONE_DURATION = "prefs_find_phone_duration";
|
||||
public static final String PREF_AUTOLIGHT = "autolight";
|
||||
public static final String PREF_AUTOREMOVE_MESSAGE = "autoremove_message";
|
||||
public static final String PREF_AUTOREMOVE_NOTIFICATIONS = "autoremove_notifications";
|
||||
@ -92,7 +115,6 @@ public class DeviceSettingsPreferenceConst {
|
||||
public static final String PREF_HYDRATION_SWITCH = "pref_hydration_switch";
|
||||
public static final String PREF_HYDRATION_PERIOD = "pref_hydration_period";
|
||||
public static final String PREF_AMPM_ENABLED = "pref_ampm_enabled";
|
||||
public static final String PREF_LEFUN_INTERFACE_LANGUAGE = "pref_lefun_interface_language";
|
||||
|
||||
public static final String PREF_SONYSWR12_LOW_VIBRATION = "vibration_preference";
|
||||
public static final String PREF_SONYSWR12_STAMINA = "stamina_preference";
|
||||
@ -158,4 +180,5 @@ public class DeviceSettingsPreferenceConst {
|
||||
|
||||
public static final String PREF_SOUNDS = "sounds";
|
||||
public static final String PREF_AUTH_KEY = "authkey";
|
||||
public static final String PREF_USER_FITNESS_GOAL = "fitness_goal";
|
||||
}
|
||||
|
@ -57,7 +57,6 @@ import nodomain.freeyourgadget.gadgetbridge.util.XTimePreference;
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.XTimePreferenceFragment;
|
||||
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.*;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst.PREF_ACTIVATE_DISPLAY_ON_LIFT;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst.PREF_DEVICE_ACTION_FELL_SLEEP_BROADCAST;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst.PREF_DEVICE_ACTION_FELL_SLEEP_SELECTION;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst.PREF_DEVICE_ACTION_SELECTION_BROADCAST;
|
||||
@ -66,22 +65,11 @@ import static nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst.PREF
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst.PREF_DEVICE_ACTION_START_NON_WEAR_SELECTION;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst.PREF_DEVICE_ACTION_WOKE_UP_BROADCAST;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst.PREF_DEVICE_ACTION_WOKE_UP_SELECTION;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst.PREF_DISCONNECT_NOTIFICATION;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst.PREF_DISCONNECT_NOTIFICATION_END;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst.PREF_DISCONNECT_NOTIFICATION_START;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst.PREF_DISPLAY_ITEMS;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst.PREF_DISPLAY_ITEMS_SORTABLE;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst.PREF_DISPLAY_ON_LIFT_END;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst.PREF_DISPLAY_ON_LIFT_START;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst.PREF_EXPOSE_HR_THIRDPARTY;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst.PREF_SHORTCUTS;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst.PREF_SHORTCUTS_SORTABLE;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_DO_NOT_DISTURB;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_DO_NOT_DISTURB_END;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_DO_NOT_DISTURB_LIFT_WRIST;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_DO_NOT_DISTURB_OFF;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_DO_NOT_DISTURB_SCHEDULED;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_DO_NOT_DISTURB_START;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_MI2_DATEFORMAT;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_MI2_ROTATE_WRIST_TO_SWITCH_INFO;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_NIGHT_MODE;
|
||||
@ -298,7 +286,7 @@ public class DeviceSpecificSettingsFragment extends PreferenceFragmentCompat imp
|
||||
}
|
||||
|
||||
|
||||
String doNotDisturbState = prefs.getString(MiBandConst.PREF_DO_NOT_DISTURB, PREF_DO_NOT_DISTURB_OFF);
|
||||
String doNotDisturbState = prefs.getString(PREF_DO_NOT_DISTURB, PREF_DO_NOT_DISTURB_OFF);
|
||||
boolean doNotDisturbScheduled = doNotDisturbState.equals(PREF_DO_NOT_DISTURB_SCHEDULED);
|
||||
|
||||
final Preference doNotDisturbStart = findPreference(PREF_DO_NOT_DISTURB_START);
|
||||
@ -371,10 +359,20 @@ public class DeviceSpecificSettingsFragment extends PreferenceFragmentCompat imp
|
||||
addPreferenceHandlerFor(PREF_DISCONNECTNOTIF_NOSHED);
|
||||
addPreferenceHandlerFor(PREF_BUTTON_BP_CALIBRATE);
|
||||
addPreferenceHandlerFor(PREF_ALTITUDE_CALIBRATE);
|
||||
addPreferenceHandlerFor(PREF_LONGSIT_PERIOD);
|
||||
addPreferenceHandlerFor(PREF_LONGSIT_SWITCH);
|
||||
addPreferenceHandlerFor(PREF_LONGSIT_START);
|
||||
addPreferenceHandlerFor(PREF_LONGSIT_END);
|
||||
addPreferenceHandlerFor(PREF_INACTIVITY_ENABLE);
|
||||
addPreferenceHandlerFor(PREF_INACTIVITY_START);
|
||||
addPreferenceHandlerFor(PREF_INACTIVITY_END);
|
||||
addPreferenceHandlerFor(PREF_INACTIVITY_THRESHOLD);
|
||||
addPreferenceHandlerFor(PREF_INACTIVITY_MO);
|
||||
addPreferenceHandlerFor(PREF_INACTIVITY_TU);
|
||||
addPreferenceHandlerFor(PREF_INACTIVITY_WE);
|
||||
addPreferenceHandlerFor(PREF_INACTIVITY_TH);
|
||||
addPreferenceHandlerFor(PREF_INACTIVITY_FR);
|
||||
addPreferenceHandlerFor(PREF_INACTIVITY_SA);
|
||||
addPreferenceHandlerFor(PREF_INACTIVITY_SU);
|
||||
addPreferenceHandlerFor(PREF_INACTIVITY_DND);
|
||||
addPreferenceHandlerFor(PREF_INACTIVITY_DND_START);
|
||||
addPreferenceHandlerFor(PREF_INACTIVITY_DND_END);
|
||||
addPreferenceHandlerFor(PREF_AUTOHEARTRATE_SWITCH);
|
||||
addPreferenceHandlerFor(PREF_AUTOHEARTRATE_SLEEP);
|
||||
addPreferenceHandlerFor(PREF_AUTOHEARTRATE_INTERVAL);
|
||||
@ -383,8 +381,12 @@ public class DeviceSpecificSettingsFragment extends PreferenceFragmentCompat imp
|
||||
addPreferenceHandlerFor(PREF_DO_NOT_DISTURB_NOAUTO);
|
||||
addPreferenceHandlerFor(PREF_DO_NOT_DISTURB_NOAUTO_START);
|
||||
addPreferenceHandlerFor(PREF_DO_NOT_DISTURB_NOAUTO_END);
|
||||
addPreferenceHandlerFor(PREF_DO_NOT_DISTURB);
|
||||
addPreferenceHandlerFor(PREF_DO_NOT_DISTURB_START);
|
||||
addPreferenceHandlerFor(PREF_DO_NOT_DISTURB_END);
|
||||
addPreferenceHandlerFor(PREF_DO_NOT_DISTURB_LIFT_WRIST);
|
||||
addPreferenceHandlerFor(PREF_FIND_PHONE_ENABLED);
|
||||
addPreferenceHandlerFor(PREF_FIND_PHONE);
|
||||
addPreferenceHandlerFor(PREF_FIND_PHONE_DURATION);
|
||||
addPreferenceHandlerFor(PREF_AUTOLIGHT);
|
||||
addPreferenceHandlerFor(PREF_AUTOREMOVE_MESSAGE);
|
||||
addPreferenceHandlerFor(PREF_AUTOREMOVE_NOTIFICATIONS);
|
||||
@ -395,7 +397,6 @@ public class DeviceSpecificSettingsFragment extends PreferenceFragmentCompat imp
|
||||
addPreferenceHandlerFor(PREF_HYDRATION_SWITCH);
|
||||
addPreferenceHandlerFor(PREF_HYDRATION_PERIOD);
|
||||
addPreferenceHandlerFor(PREF_AMPM_ENABLED);
|
||||
addPreferenceHandlerFor(PREF_LEFUN_INTERFACE_LANGUAGE);
|
||||
addPreferenceHandlerFor(PREF_SOUNDS);
|
||||
|
||||
addPreferenceHandlerFor(PREF_HYBRID_HR_DRAW_WIDGET_CIRCLES);
|
||||
@ -453,6 +454,7 @@ public class DeviceSpecificSettingsFragment extends PreferenceFragmentCompat imp
|
||||
addPreferenceHandlerFor(PREF_SONY_CONNECT_TWO_DEVICES);
|
||||
|
||||
addPreferenceHandlerFor(PREF_QC35_NOISE_CANCELLING_LEVEL);
|
||||
addPreferenceHandlerFor(PREF_USER_FITNESS_GOAL);
|
||||
|
||||
String sleepTimeState = prefs.getString(PREF_SLEEP_TIME, PREF_DO_NOT_DISTURB_OFF);
|
||||
boolean sleepTimeScheduled = sleepTimeState.equals(PREF_DO_NOT_DISTURB_SCHEDULED);
|
||||
@ -589,7 +591,7 @@ public class DeviceSpecificSettingsFragment extends PreferenceFragmentCompat imp
|
||||
setInputTypeFor(HuamiConst.PREF_BUTTON_ACTION_PRESS_MAX_INTERVAL, InputType.TYPE_CLASS_NUMBER);
|
||||
setInputTypeFor(HuamiConst.PREF_BUTTON_ACTION_PRESS_COUNT, InputType.TYPE_CLASS_NUMBER);
|
||||
setInputTypeFor(MiBandConst.PREF_MIBAND_DEVICE_TIME_OFFSET_HOURS, InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED);
|
||||
setInputTypeFor(MakibesHR3Constants.PREF_FIND_PHONE_DURATION, InputType.TYPE_CLASS_NUMBER);
|
||||
setInputTypeFor(DeviceSettingsPreferenceConst.PREF_FIND_PHONE_DURATION, InputType.TYPE_CLASS_NUMBER);
|
||||
setInputTypeFor(DeviceSettingsPreferenceConst.PREF_RESERVER_ALARMS_CALENDAR, InputType.TYPE_CLASS_NUMBER);
|
||||
setInputTypeFor(DeviceSettingsPreferenceConst.PREF_RESERVER_REMINDERS_CALENDAR, InputType.TYPE_CLASS_NUMBER);
|
||||
|
||||
|
@ -174,7 +174,7 @@ public class FitProDeviceCoordinator extends AbstractDeviceCoordinator {
|
||||
public int[] getSupportedDeviceSpecificSettings(GBDevice device) {
|
||||
return new int[]{
|
||||
R.xml.devicesettings_liftwrist_display_no_on,
|
||||
R.xml.devicesettings_longsit_extended,
|
||||
R.xml.devicesettings_inactivity_extended,
|
||||
R.xml.devicesettings_donotdisturb_no_auto,
|
||||
R.xml.devicesettings_sleep_time,
|
||||
R.xml.devicesettings_wearlocation,
|
||||
|
@ -57,14 +57,6 @@ public class HuamiConst {
|
||||
public static final String AMAZFIT_X = "Amazfit X";
|
||||
|
||||
|
||||
public static final String PREF_ACTIVATE_DISPLAY_ON_LIFT = "activate_display_on_lift_wrist";
|
||||
public static final String PREF_DISPLAY_ON_LIFT_START = "display_on_lift_start";
|
||||
public static final String PREF_DISPLAY_ON_LIFT_END = "display_on_lift_end";
|
||||
|
||||
public static final String PREF_DISCONNECT_NOTIFICATION = "disconnect_notification";
|
||||
public static final String PREF_DISCONNECT_NOTIFICATION_START = "disconnect_notification_start";
|
||||
public static final String PREF_DISCONNECT_NOTIFICATION_END = "disconnect_notification_end";
|
||||
|
||||
public static final String PREF_DISPLAY_ITEMS = "display_items";
|
||||
public static final String PREF_DISPLAY_ITEMS_SORTABLE = "display_items_sortable";
|
||||
public static final String PREF_SHORTCUTS = "shortcuts";
|
||||
|
@ -147,7 +147,7 @@ public abstract class HuamiCoordinator extends AbstractDeviceCoordinator {
|
||||
String liftOn = context.getString(R.string.p_on);
|
||||
String liftScheduled = context.getString(R.string.p_scheduled);
|
||||
|
||||
String pref = prefs.getString(HuamiConst.PREF_ACTIVATE_DISPLAY_ON_LIFT, liftOff);
|
||||
String pref = prefs.getString(DeviceSettingsPreferenceConst.PREF_ACTIVATE_DISPLAY_ON_LIFT, liftOff);
|
||||
|
||||
if (liftOn.equals(pref)) {
|
||||
return ActivateDisplayOnLift.ON;
|
||||
@ -159,11 +159,11 @@ public abstract class HuamiCoordinator extends AbstractDeviceCoordinator {
|
||||
}
|
||||
|
||||
public static Date getDisplayOnLiftStart(String deviceAddress) {
|
||||
return getTimePreference(HuamiConst.PREF_DISPLAY_ON_LIFT_START, "00:00", deviceAddress);
|
||||
return getTimePreference(DeviceSettingsPreferenceConst.PREF_DISPLAY_ON_LIFT_START, "00:00", deviceAddress);
|
||||
}
|
||||
|
||||
public static Date getDisplayOnLiftEnd(String deviceAddress) {
|
||||
return getTimePreference(HuamiConst.PREF_DISPLAY_ON_LIFT_END, "00:00", deviceAddress);
|
||||
return getTimePreference(DeviceSettingsPreferenceConst.PREF_DISPLAY_ON_LIFT_END, "00:00", deviceAddress);
|
||||
}
|
||||
|
||||
public static DisconnectNotificationSetting getDisconnectNotificationSetting(Context context, String deviceAddress) {
|
||||
@ -173,7 +173,7 @@ public abstract class HuamiCoordinator extends AbstractDeviceCoordinator {
|
||||
String liftOn = context.getString(R.string.p_on);
|
||||
String liftScheduled = context.getString(R.string.p_scheduled);
|
||||
|
||||
String pref = prefs.getString(HuamiConst.PREF_DISCONNECT_NOTIFICATION, liftOff);
|
||||
String pref = prefs.getString(DeviceSettingsPreferenceConst.PREF_DISCONNECT_NOTIFICATION, liftOff);
|
||||
|
||||
if (liftOn.equals(pref)) {
|
||||
return DisconnectNotificationSetting.ON;
|
||||
@ -185,11 +185,11 @@ public abstract class HuamiCoordinator extends AbstractDeviceCoordinator {
|
||||
}
|
||||
|
||||
public static Date getDisconnectNotificationStart(String deviceAddress) {
|
||||
return getTimePreference(HuamiConst.PREF_DISCONNECT_NOTIFICATION_START, "00:00", deviceAddress);
|
||||
return getTimePreference(DeviceSettingsPreferenceConst.PREF_DISCONNECT_NOTIFICATION_START, "00:00", deviceAddress);
|
||||
}
|
||||
|
||||
public static Date getDisconnectNotificationEnd(String deviceAddress) {
|
||||
return getTimePreference(HuamiConst.PREF_DISCONNECT_NOTIFICATION_END, "00:00", deviceAddress);
|
||||
return getTimePreference(DeviceSettingsPreferenceConst.PREF_DISCONNECT_NOTIFICATION_END, "00:00", deviceAddress);
|
||||
}
|
||||
|
||||
public static boolean getUseCustomFont(String deviceAddress) {
|
||||
@ -209,41 +209,41 @@ public abstract class HuamiCoordinator extends AbstractDeviceCoordinator {
|
||||
|
||||
public static boolean getInactivityWarnings() {
|
||||
Prefs prefs = GBApplication.getPrefs();
|
||||
return prefs.getBoolean(MiBandConst.PREF_MI2_INACTIVITY_WARNINGS, false);
|
||||
return prefs.getBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_ENABLE, false);
|
||||
}
|
||||
|
||||
public static int getInactivityWarningsThreshold() {
|
||||
Prefs prefs = GBApplication.getPrefs();
|
||||
return prefs.getInt(MiBandConst.PREF_MI2_INACTIVITY_WARNINGS_THRESHOLD, 60);
|
||||
return prefs.getInt(DeviceSettingsPreferenceConst.PREF_INACTIVITY_THRESHOLD, 60);
|
||||
}
|
||||
|
||||
public static boolean getInactivityWarningsDnd() {
|
||||
Prefs prefs = GBApplication.getPrefs();
|
||||
return prefs.getBoolean(MiBandConst.PREF_MI2_INACTIVITY_WARNINGS_DND, false);
|
||||
return prefs.getBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_DND, false);
|
||||
}
|
||||
|
||||
public static Date getInactivityWarningsStart() {
|
||||
return getTimePreference(MiBandConst.PREF_MI2_INACTIVITY_WARNINGS_START, "06:00");
|
||||
return getTimePreference(DeviceSettingsPreferenceConst.PREF_INACTIVITY_START, "06:00");
|
||||
}
|
||||
|
||||
public static Date getInactivityWarningsEnd() {
|
||||
return getTimePreference(MiBandConst.PREF_MI2_INACTIVITY_WARNINGS_END, "22:00");
|
||||
return getTimePreference(DeviceSettingsPreferenceConst.PREF_INACTIVITY_END, "22:00");
|
||||
}
|
||||
|
||||
public static Date getInactivityWarningsDndStart() {
|
||||
return getTimePreference(MiBandConst.PREF_MI2_INACTIVITY_WARNINGS_DND_START, "12:00");
|
||||
return getTimePreference(DeviceSettingsPreferenceConst.PREF_INACTIVITY_DND_START, "12:00");
|
||||
}
|
||||
|
||||
public static Date getInactivityWarningsDndEnd() {
|
||||
return getTimePreference(MiBandConst.PREF_MI2_INACTIVITY_WARNINGS_DND_END, "14:00");
|
||||
return getTimePreference(DeviceSettingsPreferenceConst.PREF_INACTIVITY_DND_END, "14:00");
|
||||
}
|
||||
|
||||
public static Date getDoNotDisturbStart(String deviceAddress) {
|
||||
return getTimePreference(MiBandConst.PREF_DO_NOT_DISTURB_START, "01:00", deviceAddress);
|
||||
return getTimePreference(DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB_START, "01:00", deviceAddress);
|
||||
}
|
||||
|
||||
public static Date getDoNotDisturbEnd(String deviceAddress) {
|
||||
return getTimePreference(MiBandConst.PREF_DO_NOT_DISTURB_END, "06:00", deviceAddress);
|
||||
return getTimePreference(DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB_END, "06:00", deviceAddress);
|
||||
}
|
||||
|
||||
public static boolean getBandScreenUnlock(String deviceAddress) {
|
||||
@ -298,11 +298,11 @@ public abstract class HuamiCoordinator extends AbstractDeviceCoordinator {
|
||||
public static DoNotDisturb getDoNotDisturb(String deviceAddress) {
|
||||
SharedPreferences prefs = GBApplication.getDeviceSpecificSharedPrefs(deviceAddress);
|
||||
|
||||
String pref = prefs.getString(MiBandConst.PREF_DO_NOT_DISTURB, MiBandConst.PREF_DO_NOT_DISTURB_OFF);
|
||||
String pref = prefs.getString(DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB, DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB_OFF);
|
||||
|
||||
if (MiBandConst.PREF_DO_NOT_DISTURB_AUTOMATIC.equals(pref)) {
|
||||
if (DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB_AUTOMATIC.equals(pref)) {
|
||||
return DoNotDisturb.AUTOMATIC;
|
||||
} else if (MiBandConst.PREF_DO_NOT_DISTURB_SCHEDULED.equals(pref)) {
|
||||
} else if (DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB_SCHEDULED.equals(pref)) {
|
||||
return DoNotDisturb.SCHEDULED;
|
||||
}
|
||||
|
||||
@ -312,7 +312,7 @@ public abstract class HuamiCoordinator extends AbstractDeviceCoordinator {
|
||||
public static boolean getDoNotDisturbLiftWrist(String deviceAddress) {
|
||||
SharedPreferences prefs = GBApplication.getDeviceSpecificSharedPrefs(deviceAddress);
|
||||
|
||||
return prefs.getBoolean(MiBandConst.PREF_DO_NOT_DISTURB_LIFT_WRIST, false);
|
||||
return prefs.getBoolean(DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB_LIFT_WRIST, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -164,7 +164,7 @@ public class LefunDeviceCoordinator extends AbstractDeviceCoordinator {
|
||||
R.xml.devicesettings_liftwrist_display_noshed,
|
||||
R.xml.devicesettings_timeformat,
|
||||
R.xml.devicesettings_antilost,
|
||||
R.xml.devicesettings_longsit,
|
||||
R.xml.devicesettings_inactivity,
|
||||
R.xml.devicesettings_hydration_reminder,
|
||||
R.xml.devicesettings_lefun_interface_language,
|
||||
R.xml.devicesettings_transliteration
|
||||
|
@ -31,10 +31,6 @@ public final class WatchXPlusConstants extends LenovoWatchConstants {
|
||||
public static final UUID UUID_CHARACTERISTIC_UNKNOWN_4 = UUID.fromString("0000a804-0000-1000-8000-00805f9b34fb");
|
||||
|
||||
|
||||
|
||||
public static final String PREF_FIND_PHONE = "prefs_find_phone";
|
||||
public static final String PREF_FIND_PHONE_DURATION = "prefs_find_phone_duration";
|
||||
|
||||
// new
|
||||
public static final String PREF_CONTINIOUS_RING = "notification_enable_continious_ring";
|
||||
public static final String PREF_REPEAT_RING = "notification_repeat_ring";
|
||||
@ -46,15 +42,7 @@ public final class WatchXPlusConstants extends LenovoWatchConstants {
|
||||
public static final String PREF_BP_CAL_LOW = "pref_sensors_bp_calibration_low";
|
||||
public static final String PREF_BP_CAL_HIGH = "pref_sensors_bp_calibration_high";
|
||||
|
||||
public static final String PREF_DO_NOT_DISTURB = "do_not_disturb_no_auto";
|
||||
public static final String PREF_DO_NOT_DISTURB_START = "do_not_disturb_no_auto_start";
|
||||
public static final String PREF_DO_NOT_DISTURB_END = "do_not_disturb_no_auto_end";
|
||||
|
||||
public static final String PREF_LONGSIT_START = "pref_longsit_start";
|
||||
public static final String PREF_LONGSIT_END = "pref_longsit_end";
|
||||
public static final String PREF_SHOW_RAW_GRAPH = "show_raw_graph";
|
||||
// moved to gear icon (per device settings)
|
||||
public static final String PREF_LANGUAGE = "language";
|
||||
|
||||
// time format constants
|
||||
public static final byte ARG_SET_TIMEMODE_24H = 0x00;
|
||||
|
@ -192,7 +192,7 @@ public class WatchXPlusDeviceCoordinator extends AbstractDeviceCoordinator {
|
||||
R.xml.devicesettings_liftwrist_display_noshed,
|
||||
R.xml.devicesettings_disconnectnotification_noshed,
|
||||
R.xml.devicesettings_donotdisturb_no_auto,
|
||||
R.xml.devicesettings_longsit,
|
||||
R.xml.devicesettings_inactivity,
|
||||
R.xml.devicesettings_find_phone,
|
||||
R.xml.devicesettings_timeformat,
|
||||
R.xml.devicesettings_power_mode,
|
||||
@ -206,7 +206,7 @@ public class WatchXPlusDeviceCoordinator extends AbstractDeviceCoordinator {
|
||||
* @return {@link #FindPhone_OFF}, {@link #FindPhone_ON}, or the duration
|
||||
*/
|
||||
public static int getFindPhone(SharedPreferences sharedPrefs) {
|
||||
String findPhone = sharedPrefs.getString(WatchXPlusConstants.PREF_FIND_PHONE, getContext().getString(R.string.p_off));
|
||||
String findPhone = sharedPrefs.getString(DeviceSettingsPreferenceConst.PREF_FIND_PHONE, getContext().getString(R.string.p_off));
|
||||
|
||||
assert findPhone != null;
|
||||
if (findPhone.equals(getContext().getString(R.string.p_off))) {
|
||||
@ -214,7 +214,7 @@ public class WatchXPlusDeviceCoordinator extends AbstractDeviceCoordinator {
|
||||
} else if (findPhone.equals(getContext().getString(R.string.p_on))) {
|
||||
return FindPhone_ON;
|
||||
} else { // Duration
|
||||
String duration = sharedPrefs.getString(WatchXPlusConstants.PREF_FIND_PHONE_DURATION, "0");
|
||||
String duration = sharedPrefs.getString(DeviceSettingsPreferenceConst.PREF_FIND_PHONE_DURATION, "0");
|
||||
|
||||
try {
|
||||
int iDuration;
|
||||
@ -241,7 +241,7 @@ public class WatchXPlusDeviceCoordinator extends AbstractDeviceCoordinator {
|
||||
*/
|
||||
public static boolean getDNDHours(String deviceAddress, Calendar startOut, Calendar endOut) {
|
||||
SharedPreferences prefs = GBApplication.getDeviceSpecificSharedPrefs(deviceAddress);
|
||||
String doNotDisturb = prefs.getString(WatchXPlusConstants.PREF_DO_NOT_DISTURB, getContext().getString(R.string.p_off));
|
||||
String doNotDisturb = prefs.getString(DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB_NOAUTO, getContext().getString(R.string.p_off));
|
||||
|
||||
assert doNotDisturb != null;
|
||||
if (doNotDisturb.equals(getContext().getString(R.string.p_off))) {
|
||||
@ -249,8 +249,8 @@ public class WatchXPlusDeviceCoordinator extends AbstractDeviceCoordinator {
|
||||
return false;
|
||||
} else {
|
||||
|
||||
String start = prefs.getString(WatchXPlusConstants.PREF_DO_NOT_DISTURB_START, "01:00");
|
||||
String end = prefs.getString(WatchXPlusConstants.PREF_DO_NOT_DISTURB_END, "06:00");
|
||||
String start = prefs.getString(DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB_NOAUTO_START, "01:00");
|
||||
String end = prefs.getString(DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB_NOAUTO_END, "06:00");
|
||||
|
||||
DateFormat df = new SimpleDateFormat("HH:mm");
|
||||
|
||||
@ -272,14 +272,14 @@ public class WatchXPlusDeviceCoordinator extends AbstractDeviceCoordinator {
|
||||
*/
|
||||
public static boolean getLongSitHours(String deviceAddress, Calendar startOut, Calendar endOut) {
|
||||
SharedPreferences prefs = GBApplication.getDeviceSpecificSharedPrefs(deviceAddress);
|
||||
boolean enabled = prefs.getBoolean(DeviceSettingsPreferenceConst.PREF_LONGSIT_SWITCH, false);
|
||||
boolean enabled = prefs.getBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_ENABLE, false);
|
||||
|
||||
if (!enabled) {
|
||||
LOG.info(" Long sit reminder is disabled ");
|
||||
return false;
|
||||
} else {
|
||||
String start = prefs.getString(WatchXPlusConstants.PREF_LONGSIT_START, "06:00");
|
||||
String end = prefs.getString(WatchXPlusConstants.PREF_LONGSIT_END, "23:00");
|
||||
String start = prefs.getString(DeviceSettingsPreferenceConst.PREF_INACTIVITY_START, "06:00");
|
||||
String end = prefs.getString(DeviceSettingsPreferenceConst.PREF_INACTIVITY_END, "23:00");
|
||||
|
||||
DateFormat df = new SimpleDateFormat("HH:mm");
|
||||
|
||||
|
@ -20,16 +20,6 @@ import java.util.UUID;
|
||||
|
||||
public final class MakibesHR3Constants {
|
||||
|
||||
// TODO: This doesn't belong here, but I don't want to touch other files to avoid
|
||||
// TODO: breaking someone else's device support.
|
||||
public static final String PREF_HEADS_UP_SCREEN = "activate_display_on_lift_wrist";
|
||||
public static final String PREF_LOST_REMINDER = "disconnect_notification";
|
||||
public static final String PREF_DO_NOT_DISTURB = "do_not_disturb_no_auto";
|
||||
public static final String PREF_DO_NOT_DISTURB_START = "do_not_disturb_no_auto_start";
|
||||
public static final String PREF_DO_NOT_DISTURB_END = "do_not_disturb_no_auto_end";
|
||||
public static final String PREF_FIND_PHONE = "prefs_find_phone";
|
||||
public static final String PREF_FIND_PHONE_DURATION = "prefs_find_phone_duration";
|
||||
|
||||
public static final UUID UUID_SERVICE = UUID.fromString("6e400001-b5a3-f393-e0a9-e50e24dcca9e");
|
||||
public static final UUID UUID_CHARACTERISTIC_CONTROL = UUID.fromString("6e400002-b5a3-f393-e0a9-e50e24dcca9e");
|
||||
public static final UUID UUID_CHARACTERISTIC_REPORT = UUID.fromString("6e400003-b5a3-f393-e0a9-e50e24dcca9e");
|
||||
|
@ -64,14 +64,14 @@ public class MakibesHR3Coordinator extends AbstractDeviceCoordinator {
|
||||
|
||||
|
||||
public static boolean shouldEnableHeadsUpScreen(SharedPreferences sharedPrefs) {
|
||||
String liftMode = sharedPrefs.getString(MakibesHR3Constants.PREF_HEADS_UP_SCREEN, getContext().getString(R.string.p_on));
|
||||
String liftMode = sharedPrefs.getString(DeviceSettingsPreferenceConst.PREF_ACTIVATE_DISPLAY_ON_LIFT, getContext().getString(R.string.p_on));
|
||||
|
||||
// Makibes HR3 doesn't support scheduled intervals. Treat it as "on".
|
||||
return !liftMode.equals(getContext().getString(R.string.p_off));
|
||||
}
|
||||
|
||||
public static boolean shouldEnableLostReminder(SharedPreferences sharedPrefs) {
|
||||
String lostReminder = sharedPrefs.getString(MakibesHR3Constants.PREF_LOST_REMINDER, getContext().getString(R.string.p_on));
|
||||
String lostReminder = sharedPrefs.getString(DeviceSettingsPreferenceConst.PREF_DISCONNECT_NOTIFICATION, getContext().getString(R.string.p_on));
|
||||
|
||||
// Makibes HR3 doesn't support scheduled intervals. Treat it as "on".
|
||||
return !lostReminder.equals(getContext().getString(R.string.p_off));
|
||||
@ -95,13 +95,13 @@ public class MakibesHR3Coordinator extends AbstractDeviceCoordinator {
|
||||
* @return True if quite hours are enabled.
|
||||
*/
|
||||
public static boolean getQuiteHours(SharedPreferences sharedPrefs, Calendar startOut, Calendar endOut) {
|
||||
String doNotDisturb = sharedPrefs.getString(MakibesHR3Constants.PREF_DO_NOT_DISTURB, getContext().getString(R.string.p_off));
|
||||
String doNotDisturb = sharedPrefs.getString(DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB_NOAUTO, getContext().getString(R.string.p_off));
|
||||
|
||||
if (doNotDisturb.equals(getContext().getString(R.string.p_off))) {
|
||||
return false;
|
||||
} else {
|
||||
String start = sharedPrefs.getString(MakibesHR3Constants.PREF_DO_NOT_DISTURB_START, "00:00");
|
||||
String end = sharedPrefs.getString(MakibesHR3Constants.PREF_DO_NOT_DISTURB_END, "00:00");
|
||||
String start = sharedPrefs.getString(DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB_NOAUTO_START, "00:00");
|
||||
String end = sharedPrefs.getString(DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB_NOAUTO_END, "00:00");
|
||||
|
||||
DateFormat df = new SimpleDateFormat("HH:mm");
|
||||
|
||||
@ -121,14 +121,14 @@ public class MakibesHR3Coordinator extends AbstractDeviceCoordinator {
|
||||
* @return {@link #FindPhone_OFF}, {@link #FindPhone_ON}, or the duration
|
||||
*/
|
||||
public static int getFindPhone(SharedPreferences sharedPrefs) {
|
||||
String findPhone = sharedPrefs.getString(MakibesHR3Constants.PREF_FIND_PHONE, getContext().getString(R.string.p_off));
|
||||
String findPhone = sharedPrefs.getString(DeviceSettingsPreferenceConst.PREF_FIND_PHONE, getContext().getString(R.string.p_off));
|
||||
|
||||
if (findPhone.equals(getContext().getString(R.string.p_off))) {
|
||||
return FindPhone_OFF;
|
||||
} else if (findPhone.equals(getContext().getString(R.string.p_on))) {
|
||||
return FindPhone_ON;
|
||||
} else { // Duration
|
||||
String duration = sharedPrefs.getString(MakibesHR3Constants.PREF_FIND_PHONE_DURATION, "0");
|
||||
String duration = sharedPrefs.getString(DeviceSettingsPreferenceConst.PREF_FIND_PHONE_DURATION, "0");
|
||||
|
||||
try {
|
||||
int iDuration;
|
||||
|
@ -36,20 +36,6 @@ public final class MiBandConst {
|
||||
public static final String PREF_MI2_DISPLAY_ITEM_BATTERY = "battery";
|
||||
public static final String PREF_MI2_ROTATE_WRIST_TO_SWITCH_INFO = "rotate_wrist_to_cycle_info";
|
||||
public static final String PREF_MI2_ENABLE_TEXT_NOTIFICATIONS = "mi2_enable_text_notifications";
|
||||
public static final String PREF_DO_NOT_DISTURB = "do_not_disturb";
|
||||
public static final String PREF_DO_NOT_DISTURB_LIFT_WRIST = "do_not_disturb_lift_wrist";
|
||||
public static final String PREF_DO_NOT_DISTURB_OFF = "off";
|
||||
public static final String PREF_DO_NOT_DISTURB_AUTOMATIC = "automatic";
|
||||
public static final String PREF_DO_NOT_DISTURB_SCHEDULED = "scheduled";
|
||||
public static final String PREF_DO_NOT_DISTURB_START = "do_not_disturb_start";
|
||||
public static final String PREF_DO_NOT_DISTURB_END = "do_not_disturb_end";
|
||||
public static final String PREF_MI2_INACTIVITY_WARNINGS = "mi2_inactivity_warnings";
|
||||
public static final String PREF_MI2_INACTIVITY_WARNINGS_THRESHOLD = "mi2_inactivity_warnings_threshold";
|
||||
public static final String PREF_MI2_INACTIVITY_WARNINGS_START = "mi2_inactivity_warnings_start";
|
||||
public static final String PREF_MI2_INACTIVITY_WARNINGS_END = "mi2_inactivity_warnings_end";
|
||||
public static final String PREF_MI2_INACTIVITY_WARNINGS_DND = "mi2_inactivity_warnings_dnd";
|
||||
public static final String PREF_MI2_INACTIVITY_WARNINGS_DND_START = "mi2_inactivity_warnings_dnd_start";
|
||||
public static final String PREF_MI2_INACTIVITY_WARNINGS_DND_END = "mi2_inactivity_warnings_dnd_end";
|
||||
public static final String PREF_MIBAND_SETUP_BT_PAIRING = "mi_setup_bt_pairing";
|
||||
|
||||
public static final String PREF_SWIPE_UNLOCK = "swipe_unlock";
|
||||
|
@ -37,16 +37,16 @@ import nodomain.freeyourgadget.gadgetbridge.model.NotificationType;
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.GB;
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.Prefs;
|
||||
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_INACTIVITY_ENABLE;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_INACTIVITY_START;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_INACTIVITY_END;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_INACTIVITY_THRESHOLD;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_INACTIVITY_DND;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_INACTIVITY_DND_START;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_INACTIVITY_DND_END;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.ORIGIN_ALARM_CLOCK;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.ORIGIN_INCOMING_CALL;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_MI2_GOAL_NOTIFICATION;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_MI2_INACTIVITY_WARNINGS;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_MI2_INACTIVITY_WARNINGS_DND;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_MI2_INACTIVITY_WARNINGS_DND_END;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_MI2_INACTIVITY_WARNINGS_DND_START;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_MI2_INACTIVITY_WARNINGS_END;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_MI2_INACTIVITY_WARNINGS_START;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_MI2_INACTIVITY_WARNINGS_THRESHOLD;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_MIBAND_ADDRESS;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_MIBAND_USE_HR_FOR_SLEEP_DETECTION;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.VIBRATION_COUNT;
|
||||
@ -97,98 +97,98 @@ public class MiBandPreferencesActivity extends AbstractSettingsActivity {
|
||||
});
|
||||
|
||||
|
||||
final Preference inactivityWarnings = findPreference(PREF_MI2_INACTIVITY_WARNINGS);
|
||||
final Preference inactivityWarnings = findPreference(PREF_INACTIVITY_ENABLE);
|
||||
inactivityWarnings.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newVal) {
|
||||
invokeLater(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
GBApplication.deviceService().onSendConfiguration(PREF_MI2_INACTIVITY_WARNINGS);
|
||||
GBApplication.deviceService().onSendConfiguration(PREF_INACTIVITY_ENABLE);
|
||||
}
|
||||
});
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
final Preference inactivityWarningsThreshold = findPreference(PREF_MI2_INACTIVITY_WARNINGS_THRESHOLD);
|
||||
final Preference inactivityWarningsThreshold = findPreference(PREF_INACTIVITY_THRESHOLD);
|
||||
inactivityWarningsThreshold.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newVal) {
|
||||
invokeLater(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
GBApplication.deviceService().onSendConfiguration(PREF_MI2_INACTIVITY_WARNINGS_THRESHOLD);
|
||||
GBApplication.deviceService().onSendConfiguration(PREF_INACTIVITY_THRESHOLD);
|
||||
}
|
||||
});
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
final Preference inactivityWarningsStart = findPreference(PREF_MI2_INACTIVITY_WARNINGS_START);
|
||||
final Preference inactivityWarningsStart = findPreference(PREF_INACTIVITY_START);
|
||||
inactivityWarningsStart.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newVal) {
|
||||
invokeLater(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
GBApplication.deviceService().onSendConfiguration(PREF_MI2_INACTIVITY_WARNINGS_START);
|
||||
GBApplication.deviceService().onSendConfiguration(PREF_INACTIVITY_START);
|
||||
}
|
||||
});
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
final Preference inactivityWarningsEnd = findPreference(PREF_MI2_INACTIVITY_WARNINGS_END);
|
||||
final Preference inactivityWarningsEnd = findPreference(PREF_INACTIVITY_END);
|
||||
inactivityWarningsEnd.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newVal) {
|
||||
invokeLater(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
GBApplication.deviceService().onSendConfiguration(PREF_MI2_INACTIVITY_WARNINGS_END);
|
||||
GBApplication.deviceService().onSendConfiguration(PREF_INACTIVITY_END);
|
||||
}
|
||||
});
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
final Preference inactivityWarningsDnd = findPreference(PREF_MI2_INACTIVITY_WARNINGS_DND);
|
||||
final Preference inactivityWarningsDnd = findPreference(PREF_INACTIVITY_DND);
|
||||
inactivityWarningsDnd.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newVal) {
|
||||
invokeLater(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
GBApplication.deviceService().onSendConfiguration(PREF_MI2_INACTIVITY_WARNINGS_DND);
|
||||
GBApplication.deviceService().onSendConfiguration(PREF_INACTIVITY_DND);
|
||||
}
|
||||
});
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
final Preference inactivityWarningsDndStart = findPreference(PREF_MI2_INACTIVITY_WARNINGS_DND_START);
|
||||
final Preference inactivityWarningsDndStart = findPreference(PREF_INACTIVITY_DND_START);
|
||||
inactivityWarningsDndStart.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newVal) {
|
||||
invokeLater(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
GBApplication.deviceService().onSendConfiguration(PREF_MI2_INACTIVITY_WARNINGS_DND_START);
|
||||
GBApplication.deviceService().onSendConfiguration(PREF_INACTIVITY_DND_START);
|
||||
}
|
||||
});
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
final Preference inactivityWarningsDndEnd = findPreference(PREF_MI2_INACTIVITY_WARNINGS_DND_END);
|
||||
final Preference inactivityWarningsDndEnd = findPreference(PREF_INACTIVITY_DND_END);
|
||||
inactivityWarningsDndEnd.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newVal) {
|
||||
invokeLater(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
GBApplication.deviceService().onSendConfiguration(PREF_MI2_INACTIVITY_WARNINGS_DND_END);
|
||||
GBApplication.deviceService().onSendConfiguration(PREF_INACTIVITY_DND_END);
|
||||
}
|
||||
});
|
||||
return true;
|
||||
@ -264,7 +264,7 @@ public class MiBandPreferencesActivity extends AbstractSettingsActivity {
|
||||
prefKeys.add(PREF_USER_NAME);
|
||||
prefKeys.add(PREF_MIBAND_ADDRESS);
|
||||
prefKeys.add(ActivityUser.PREF_USER_STEPS_GOAL);
|
||||
prefKeys.add(PREF_MI2_INACTIVITY_WARNINGS_THRESHOLD);
|
||||
prefKeys.add(PREF_INACTIVITY_THRESHOLD);
|
||||
prefKeys.add(getNotificationPrefKey(VIBRATION_COUNT, ORIGIN_ALARM_CLOCK));
|
||||
prefKeys.add(getNotificationPrefKey(VIBRATION_COUNT, ORIGIN_INCOMING_CALL));
|
||||
|
||||
|
@ -144,7 +144,7 @@ public class TLW64Coordinator extends AbstractDeviceCoordinator {
|
||||
public int[] getSupportedDeviceSpecificSettings(GBDevice device) {
|
||||
return new int[]{
|
||||
R.xml.devicesettings_liftwrist_display_noshed,
|
||||
R.xml.devicesettings_longsit_noshed,
|
||||
R.xml.devicesettings_inactivity_noshed,
|
||||
R.xml.devicesettings_timeformat,
|
||||
R.xml.devicesettings_transliteration
|
||||
};
|
||||
|
@ -135,23 +135,6 @@ public class ZeTimeConstants {
|
||||
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_DO_NOT_DISTURB = "zetime_do_not_disturb";
|
||||
public static final String PREF_DO_NOT_DISTURB_START = "zetime_do_not_disturb_start";
|
||||
public static final String PREF_DO_NOT_DISTURB_END = "zetime_do_not_disturb_end";
|
||||
|
||||
public static final String PREF_INACTIVITY_KEY = "zetime_inactivity_warning_key";
|
||||
public static final String PREF_INACTIVITY_ENABLE = "zetime_inactivity_warnings";
|
||||
public static final String PREF_INACTIVITY_START = "zetime_inactivity_warnings_start";
|
||||
public static final String PREF_INACTIVITY_END = "zetime_inactivity_warnings_end";
|
||||
public static final String PREF_INACTIVITY_THRESHOLD = "zetime_inactivity_warnings_threshold";
|
||||
public static final String PREF_INACTIVITY_MO = "zetime_prefs_inactivity_repetitions_mo";
|
||||
public static final String PREF_INACTIVITY_TU = "zetime_prefs_inactivity_repetitions_tu";
|
||||
public static final String PREF_INACTIVITY_WE = "zetime_prefs_inactivity_repetitions_we";
|
||||
public static final String PREF_INACTIVITY_TH = "zetime_prefs_inactivity_repetitions_th";
|
||||
public static final String PREF_INACTIVITY_FR = "zetime_prefs_inactivity_repetitions_fr";
|
||||
public static final String PREF_INACTIVITY_SA = "zetime_prefs_inactivity_repetitions_sa";
|
||||
public static final String PREF_INACTIVITY_SU = "zetime_prefs_inactivity_repetitions_su";
|
||||
|
||||
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";
|
||||
@ -169,7 +152,6 @@ public class ZeTimeConstants {
|
||||
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_FITNESS_GOAL = "mi_fitness_goal";
|
||||
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";
|
||||
|
@ -49,26 +49,10 @@ public class ZeTimePreferenceActivity extends AbstractSettingsActivity {
|
||||
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_HANDMOVE_DISPLAY);
|
||||
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_DO_NOT_DISTURB);
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_DO_NOT_DISTURB_START);
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_DO_NOT_DISTURB_END);
|
||||
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_CALORIES_TYPE);
|
||||
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_DATE_FORMAT);
|
||||
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_INACTIVITY_ENABLE);
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_INACTIVITY_START);
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_INACTIVITY_END);
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_INACTIVITY_THRESHOLD);
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_INACTIVITY_MO);
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_INACTIVITY_TU);
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_INACTIVITY_WE);
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_INACTIVITY_TH);
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_INACTIVITY_FR);
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_INACTIVITY_SA);
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_INACTIVITY_SU);
|
||||
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_SMS_SIGNALING);
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_ANTI_LOSS_SIGNALING);
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_CALENDAR_SIGNALING);
|
||||
@ -85,7 +69,6 @@ public class ZeTimePreferenceActivity extends AbstractSettingsActivity {
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_ZETIME_MIN_HEARTRATE);
|
||||
|
||||
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_USER_FITNESS_GOAL);
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_USER_SLEEP_GOAL);
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_USER_CALORIES_GOAL);
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_USER_DISTANCE_GOAL);
|
||||
|
@ -65,7 +65,7 @@ public class ActivityUser {
|
||||
public static final String PREF_USER_HEIGHT_CM = "activity_user_height_cm";
|
||||
public static final String PREF_USER_WEIGHT_KG = "activity_user_weight_kg";
|
||||
public static final String PREF_USER_SLEEP_DURATION = "activity_user_sleep_duration";
|
||||
public static final String PREF_USER_STEPS_GOAL = "mi_fitness_goal"; // FIXME: for compatibility
|
||||
public static final String PREF_USER_STEPS_GOAL = "fitness_goal"; // FIXME: for compatibility
|
||||
public static final String PREF_USER_CALORIES_BURNT = "activity_user_calories_burnt";
|
||||
public static final String PREF_USER_DISTANCE_METERS = "activity_user_distance_meters";
|
||||
public static final String PREF_USER_ACTIVETIME_MINUTES = "activity_user_activetime_minutes";
|
||||
|
@ -110,6 +110,9 @@ public class CalendarEvents {
|
||||
}
|
||||
}
|
||||
return true;
|
||||
} catch (Exception e) {
|
||||
LOG.error("could not query calendar, permission denied?");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -70,7 +70,8 @@ import nodomain.freeyourgadget.gadgetbridge.util.GB;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_AUTOLIGHT;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_AUTOREMOVE_MESSAGE;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_FAKE_RING_DURATION;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_FIND_PHONE_ENABLED;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_FIND_PHONE;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_FIND_PHONE_DURATION;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_KEY_VIBRATION;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_OPERATING_SOUNDS;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_TIMEFORMAT;
|
||||
@ -381,7 +382,7 @@ public class CasioGBX100DeviceSupport extends CasioSupport implements SharedPref
|
||||
if (start) {
|
||||
SharedPreferences sharedPreferences = GBApplication.getDeviceSpecificSharedPrefs(getDevice().getAddress());
|
||||
|
||||
String findPhone = sharedPreferences.getString(PREF_FIND_PHONE_ENABLED, getContext().getString(R.string.p_off));
|
||||
String findPhone = sharedPreferences.getString(PREF_FIND_PHONE, getContext().getString(R.string.p_off));
|
||||
|
||||
if(findPhone.equals(getContext().getString(R.string.p_off)))
|
||||
return;
|
||||
@ -391,7 +392,7 @@ public class CasioGBX100DeviceSupport extends CasioSupport implements SharedPref
|
||||
evaluateGBDeviceEvent(findPhoneEvent);
|
||||
|
||||
if(!findPhone.equals(getContext().getString(R.string.p_on))) {
|
||||
String duration = sharedPreferences.getString(MakibesHR3Constants.PREF_FIND_PHONE_DURATION, "0");
|
||||
String duration = sharedPreferences.getString(PREF_FIND_PHONE_DURATION, "0");
|
||||
|
||||
try {
|
||||
int iDuration;
|
||||
@ -620,8 +621,8 @@ public class CasioGBX100DeviceSupport extends CasioSupport implements SharedPref
|
||||
new SetConfigurationOperation(this, CasioConstants.ConfigurationOption.OPTION_OPERATING_SOUNDS).perform();
|
||||
break;
|
||||
case PREF_FAKE_RING_DURATION:
|
||||
case PREF_FIND_PHONE_ENABLED:
|
||||
case MakibesHR3Constants.PREF_FIND_PHONE_DURATION:
|
||||
case PREF_FIND_PHONE:
|
||||
case PREF_FIND_PHONE_DURATION:
|
||||
// No action, we check the shared preferences when the device tries to ring the phone.
|
||||
break;
|
||||
default:
|
||||
|
@ -543,10 +543,10 @@ public class FitProDeviceSupport extends AbstractBTLEDeviceSupport {
|
||||
case DeviceSettingsPreferenceConst.PREF_LANGUAGE:
|
||||
setLanguage(builder);
|
||||
break;
|
||||
case DeviceSettingsPreferenceConst.PREF_LONGSIT_PERIOD:
|
||||
case DeviceSettingsPreferenceConst.PREF_LONGSIT_SWITCH:
|
||||
case DeviceSettingsPreferenceConst.PREF_LONGSIT_START:
|
||||
case DeviceSettingsPreferenceConst.PREF_LONGSIT_END:
|
||||
case DeviceSettingsPreferenceConst.PREF_INACTIVITY_THRESHOLD:
|
||||
case DeviceSettingsPreferenceConst.PREF_INACTIVITY_ENABLE:
|
||||
case DeviceSettingsPreferenceConst.PREF_INACTIVITY_START:
|
||||
case DeviceSettingsPreferenceConst.PREF_INACTIVITY_END:
|
||||
setLongSitReminder(builder);
|
||||
break;
|
||||
case DeviceSettingsPreferenceConst.PREF_ACTIVATE_DISPLAY_ON_LIFT:
|
||||
@ -1143,14 +1143,14 @@ public class FitProDeviceSupport extends AbstractBTLEDeviceSupport {
|
||||
|
||||
public FitProDeviceSupport setLongSitReminder(TransactionBuilder builder) {
|
||||
LOG.debug("FitPro set inactivity warning");
|
||||
boolean prefLongsitSwitch = GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()).getBoolean("pref_longsit_switch", false);
|
||||
boolean prefLongsitSwitch = GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()).getBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_ENABLE, false);
|
||||
LOG.info("Setting long sit warning to " + prefLongsitSwitch);
|
||||
|
||||
if (prefLongsitSwitch) {
|
||||
|
||||
String inactivity = GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()).getString("pref_longsit_period", "4");
|
||||
String start = GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()).getString("pref_longsit_start", "08:00");
|
||||
String end = GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()).getString("pref_longsit_end", "16:00");
|
||||
String inactivity = GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()).getString(DeviceSettingsPreferenceConst.PREF_INACTIVITY_THRESHOLD, "4");
|
||||
String start = GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()).getString(DeviceSettingsPreferenceConst.PREF_INACTIVITY_START, "08:00");
|
||||
String end = GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()).getString(DeviceSettingsPreferenceConst.PREF_INACTIVITY_END, "16:00");
|
||||
Calendar startCalendar = GregorianCalendar.getInstance();
|
||||
Calendar endCalendar = GregorianCalendar.getInstance();
|
||||
DateFormat df = new SimpleDateFormat("HH:mm");
|
||||
|
@ -147,9 +147,26 @@ import nodomain.freeyourgadget.gadgetbridge.util.Prefs;
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.StringUtils;
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.Version;
|
||||
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_ACTIVATE_DISPLAY_ON_LIFT;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_ALLOW_HIGH_MTU;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_BT_CONNECTED_ADVERTISEMENT;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_DATEFORMAT;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_DISPLAY_ON_LIFT_START;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_DISPLAY_ON_LIFT_END;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_DISCONNECT_NOTIFICATION;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_DISCONNECT_NOTIFICATION_START;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_DISCONNECT_NOTIFICATION_END;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB_START;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB_END;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB_LIFT_WRIST;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_INACTIVITY_ENABLE;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_INACTIVITY_START;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_INACTIVITY_END;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_INACTIVITY_THRESHOLD;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_INACTIVITY_DND;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_INACTIVITY_DND_START;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_INACTIVITY_DND_END;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_LANGUAGE;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_RESERVER_ALARMS_CALENDAR;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.PREF_RESERVER_REMINDERS_CALENDAR;
|
||||
@ -2208,14 +2225,14 @@ public class HuamiSupport extends AbstractBTLEDeviceSupport {
|
||||
case MiBandConst.PREF_MI2_GOAL_NOTIFICATION:
|
||||
setGoalNotification(builder);
|
||||
break;
|
||||
case HuamiConst.PREF_ACTIVATE_DISPLAY_ON_LIFT:
|
||||
case HuamiConst.PREF_DISPLAY_ON_LIFT_START:
|
||||
case HuamiConst.PREF_DISPLAY_ON_LIFT_END:
|
||||
case PREF_ACTIVATE_DISPLAY_ON_LIFT:
|
||||
case PREF_DISPLAY_ON_LIFT_START:
|
||||
case PREF_DISPLAY_ON_LIFT_END:
|
||||
setActivateDisplayOnLiftWrist(builder);
|
||||
break;
|
||||
case HuamiConst.PREF_DISCONNECT_NOTIFICATION:
|
||||
case HuamiConst.PREF_DISCONNECT_NOTIFICATION_START:
|
||||
case HuamiConst.PREF_DISCONNECT_NOTIFICATION_END:
|
||||
case PREF_DISCONNECT_NOTIFICATION:
|
||||
case PREF_DISCONNECT_NOTIFICATION_START:
|
||||
case PREF_DISCONNECT_NOTIFICATION_END:
|
||||
setDisconnectNotification(builder);
|
||||
break;
|
||||
case HuamiConst.PREF_DISPLAY_ITEMS:
|
||||
@ -2232,19 +2249,19 @@ public class HuamiSupport extends AbstractBTLEDeviceSupport {
|
||||
case ActivityUser.PREF_USER_STEPS_GOAL:
|
||||
setFitnessGoal(builder);
|
||||
break;
|
||||
case MiBandConst.PREF_DO_NOT_DISTURB:
|
||||
case MiBandConst.PREF_DO_NOT_DISTURB_START:
|
||||
case MiBandConst.PREF_DO_NOT_DISTURB_END:
|
||||
case MiBandConst.PREF_DO_NOT_DISTURB_LIFT_WRIST:
|
||||
case PREF_DO_NOT_DISTURB:
|
||||
case PREF_DO_NOT_DISTURB_START:
|
||||
case PREF_DO_NOT_DISTURB_END:
|
||||
case PREF_DO_NOT_DISTURB_LIFT_WRIST:
|
||||
setDoNotDisturb(builder);
|
||||
break;
|
||||
case MiBandConst.PREF_MI2_INACTIVITY_WARNINGS:
|
||||
case MiBandConst.PREF_MI2_INACTIVITY_WARNINGS_THRESHOLD:
|
||||
case MiBandConst.PREF_MI2_INACTIVITY_WARNINGS_START:
|
||||
case MiBandConst.PREF_MI2_INACTIVITY_WARNINGS_END:
|
||||
case MiBandConst.PREF_MI2_INACTIVITY_WARNINGS_DND:
|
||||
case MiBandConst.PREF_MI2_INACTIVITY_WARNINGS_DND_START:
|
||||
case MiBandConst.PREF_MI2_INACTIVITY_WARNINGS_DND_END:
|
||||
case PREF_INACTIVITY_ENABLE:
|
||||
case PREF_INACTIVITY_THRESHOLD:
|
||||
case PREF_INACTIVITY_START:
|
||||
case PREF_INACTIVITY_END:
|
||||
case PREF_INACTIVITY_DND:
|
||||
case PREF_INACTIVITY_DND_START:
|
||||
case PREF_INACTIVITY_DND_END:
|
||||
setInactivityWarnings(builder);
|
||||
break;
|
||||
case SettingsActivity.PREF_MEASUREMENT_SYSTEM:
|
||||
@ -2800,8 +2817,8 @@ public class HuamiSupport extends AbstractBTLEDeviceSupport {
|
||||
|
||||
|
||||
if (sounds != null) {
|
||||
final String[] soundOrder = new String[]{"button", "calls", "alarm", "notifications", "inactivity_warning", "sms", "goal"};
|
||||
byte[] command = new byte[]{0x3c, 0, 0, 0, 1, 0, 0, 2, 0, 0, 3, 0, 0, 4, 0, 0, 5, 0, 0, 7, 0, 0};
|
||||
final String[] soundOrder = new String[]{"button", "calls", "alarm", "notifications", "inactivity_warning", "sms", "email", "goal"};
|
||||
byte[] command = new byte[]{0x3c, 0, 0, 0, 1, 0, 0, 2, 0, 0, 3, 0, 0, 4, 0, 0, 5, 0, 0, 6, 0, 0, 7, 0, 0};
|
||||
int i = 3;
|
||||
for (String sound : soundOrder) {
|
||||
if (sounds.contains(sound)) {
|
||||
|
@ -32,9 +32,7 @@ import nodomain.freeyourgadget.gadgetbridge.service.btle.TransactionBuilder;
|
||||
import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.miband5.MiBand5Support;
|
||||
import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.operations.UpdateFirmwareOperation;
|
||||
import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.operations.UpdateFirmwareOperation2020;
|
||||
import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.operations.UpdateFirmwareOperationNew;
|
||||
|
||||
//import nodomain.freeyourgadget.gadgetbridge.devices.huami.amazfitneo.AmazfitBand5FWHelper;
|
||||
|
||||
public class AmazfitNeoSupport extends MiBand5Support {
|
||||
private static final Logger LOG = LoggerFactory.getLogger(AmazfitNeoSupport.class);
|
||||
|
@ -131,6 +131,7 @@ public class InitOperation2021 extends InitOperation {
|
||||
TransactionBuilder builder = createTransactionBuilder("Authenticated, now initialize phase 2");
|
||||
builder.add(new SetDeviceStateAction(getDevice(), GBDevice.State.INITIALIZING, getContext()));
|
||||
huamiSupport.enableFurtherNotifications(builder, true);
|
||||
huamiSupport.setCurrentTimeWithService(builder);
|
||||
huamiSupport.requestDeviceInfo(builder);
|
||||
huamiSupport.phase2Initialize(builder);
|
||||
huamiSupport.phase3Initialize(builder);
|
||||
|
@ -405,15 +405,15 @@ public class LefunDeviceSupport extends AbstractBTLEDeviceSupport {
|
||||
sendEnabledFeaturesSetting(features);
|
||||
break;
|
||||
}
|
||||
case DeviceSettingsPreferenceConst.PREF_LONGSIT_SWITCH: {
|
||||
boolean enabled = prefs.getBoolean(DeviceSettingsPreferenceConst.PREF_LONGSIT_SWITCH, false);
|
||||
case DeviceSettingsPreferenceConst.PREF_INACTIVITY_ENABLE: {
|
||||
boolean enabled = prefs.getBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_ENABLE, false);
|
||||
FeaturesCommand features = getCurrentEnabledFeatures();
|
||||
features.setFeature(FeaturesCommand.FEATURE_SEDENTARY_REMINDER, enabled);
|
||||
sendEnabledFeaturesSetting(features);
|
||||
break;
|
||||
}
|
||||
case DeviceSettingsPreferenceConst.PREF_LONGSIT_PERIOD: {
|
||||
String periodStr = prefs.getString(DeviceSettingsPreferenceConst.PREF_LONGSIT_PERIOD, "60");
|
||||
case DeviceSettingsPreferenceConst.PREF_INACTIVITY_THRESHOLD: {
|
||||
String periodStr = prefs.getString(DeviceSettingsPreferenceConst.PREF_INACTIVITY_THRESHOLD, "60");
|
||||
try {
|
||||
int period = Integer.parseInt(periodStr);
|
||||
sendSedentaryReminderIntervalSetting(period);
|
||||
@ -445,8 +445,8 @@ public class LefunDeviceSupport extends AbstractBTLEDeviceSupport {
|
||||
sendUnitsSetting(null);
|
||||
break;
|
||||
}
|
||||
case DeviceSettingsPreferenceConst.PREF_LEFUN_INTERFACE_LANGUAGE: {
|
||||
String value = prefs.getString(DeviceSettingsPreferenceConst.PREF_LEFUN_INTERFACE_LANGUAGE, "0");
|
||||
case DeviceSettingsPreferenceConst.PREF_LANGUAGE: {
|
||||
String value = prefs.getString(DeviceSettingsPreferenceConst.PREF_LANGUAGE, "0");
|
||||
int intValue = Integer.parseInt(value);
|
||||
sendLanguageSetting((byte) intValue);
|
||||
break;
|
||||
@ -523,7 +523,7 @@ public class LefunDeviceSupport extends AbstractBTLEDeviceSupport {
|
||||
SharedPreferences prefs = GBApplication.getDeviceSpecificSharedPrefs(getDevice().getAddress());
|
||||
boolean raiseToWakeEnabled = prefs.getBoolean(DeviceSettingsPreferenceConst.PREF_LIFTWRIST_NOSHED, true);
|
||||
boolean antilostEnabled = prefs.getBoolean(DeviceSettingsPreferenceConst.PREF_ANTILOST_ENABLED, true);
|
||||
boolean sedentaryEnabled = prefs.getBoolean(DeviceSettingsPreferenceConst.PREF_LONGSIT_SWITCH, false);
|
||||
boolean sedentaryEnabled = prefs.getBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_ENABLE, false);
|
||||
boolean hydrationEnabled = prefs.getBoolean(DeviceSettingsPreferenceConst.PREF_HYDRATION_SWITCH, false);
|
||||
|
||||
FeaturesCommand cmd = new FeaturesCommand();
|
||||
@ -693,7 +693,7 @@ public class LefunDeviceSupport extends AbstractBTLEDeviceSupport {
|
||||
prefs.edit()
|
||||
.putBoolean(DeviceSettingsPreferenceConst.PREF_LIFTWRIST_NOSHED,
|
||||
cmd.getFeature(FeaturesCommand.FEATURE_RAISE_TO_WAKE))
|
||||
.putBoolean(DeviceSettingsPreferenceConst.PREF_LONGSIT_SWITCH,
|
||||
.putBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_ENABLE,
|
||||
cmd.getFeature(FeaturesCommand.FEATURE_SEDENTARY_REMINDER))
|
||||
.putBoolean(DeviceSettingsPreferenceConst.PREF_HYDRATION_SWITCH,
|
||||
cmd.getFeature(FeaturesCommand.FEATURE_HYDRATION_REMINDER))
|
||||
@ -710,7 +710,7 @@ public class LefunDeviceSupport extends AbstractBTLEDeviceSupport {
|
||||
public void receiveSedentaryReminderIntervalSetting(int period) {
|
||||
SharedPreferences prefs = GBApplication.getDeviceSpecificSharedPrefs(getDevice().getAddress());
|
||||
prefs.edit()
|
||||
.putString(DeviceSettingsPreferenceConst.PREF_LONGSIT_PERIOD, String.valueOf(period))
|
||||
.putString(DeviceSettingsPreferenceConst.PREF_INACTIVITY_THRESHOLD, String.valueOf(period))
|
||||
.apply();
|
||||
}
|
||||
|
||||
|
@ -960,12 +960,12 @@ public class WatchXPlusDeviceSupport extends AbstractBTLEDeviceSupport {
|
||||
case DeviceSettingsPreferenceConst.PREF_POWER_MODE:
|
||||
setPowerMode();
|
||||
break;
|
||||
case WatchXPlusConstants.PREF_LANGUAGE:
|
||||
case DeviceSettingsPreferenceConst.PREF_LANGUAGE:
|
||||
setLanguageAndTimeFormat(builder);
|
||||
break;
|
||||
|
||||
case DeviceSettingsPreferenceConst.PREF_LONGSIT_PERIOD:
|
||||
case DeviceSettingsPreferenceConst.PREF_LONGSIT_SWITCH:
|
||||
case DeviceSettingsPreferenceConst.PREF_INACTIVITY_THRESHOLD:
|
||||
case DeviceSettingsPreferenceConst.PREF_INACTIVITY_ENABLE:
|
||||
setLongSitHours(builder);
|
||||
break;
|
||||
// calibrations
|
||||
@ -986,7 +986,7 @@ public class WatchXPlusDeviceSupport extends AbstractBTLEDeviceSupport {
|
||||
case DeviceSettingsPreferenceConst.PREF_TIMEFORMAT:
|
||||
setLanguageAndTimeFormat(builder);
|
||||
break;
|
||||
case WatchXPlusConstants.PREF_DO_NOT_DISTURB:
|
||||
case DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB_NOAUTO:
|
||||
setDNDHours(builder);
|
||||
break;
|
||||
}
|
||||
@ -1049,7 +1049,7 @@ public class WatchXPlusDeviceSupport extends AbstractBTLEDeviceSupport {
|
||||
Calendar end = new GregorianCalendar();
|
||||
boolean enable = WatchXPlusDeviceCoordinator.getLongSitHours(gbDevice.getAddress(), start, end);
|
||||
if (enable) {
|
||||
String periodString = GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()).getString(DeviceSettingsPreferenceConst.PREF_LONGSIT_PERIOD, "60");
|
||||
String periodString = GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()).getString(DeviceSettingsPreferenceConst.PREF_INACTIVITY_THRESHOLD, "60");
|
||||
int period = Integer.parseInt(periodString);
|
||||
|
||||
this.setLongSitHours(builder, enable,
|
||||
@ -2128,7 +2128,7 @@ public class WatchXPlusDeviceSupport extends AbstractBTLEDeviceSupport {
|
||||
// set time format
|
||||
private void setLanguageAndTimeFormat(TransactionBuilder transactionBuilder) {
|
||||
byte setLanguage, setTimeMode;
|
||||
String languageString = GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()).getString(WatchXPlusConstants.PREF_LANGUAGE, "1");
|
||||
String languageString = GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()).getString(DeviceSettingsPreferenceConst.PREF_LANGUAGE, "1");
|
||||
if (languageString == null || languageString.equals("1")) {
|
||||
setLanguage = 0x01;
|
||||
} else {
|
||||
|
@ -555,16 +555,16 @@ public class MakibesHR3DeviceSupport extends AbstractBTLEDeviceSupport implement
|
||||
|
||||
if (key.equals(DeviceSettingsPreferenceConst.PREF_TIMEFORMAT)) {
|
||||
this.setTimeMode(transactionBuilder, sharedPreferences);
|
||||
} else if (key.equals(MakibesHR3Constants.PREF_HEADS_UP_SCREEN)) {
|
||||
} else if (key.equals(DeviceSettingsPreferenceConst.PREF_ACTIVATE_DISPLAY_ON_LIFT)) {
|
||||
this.setHeadsUpScreen(transactionBuilder, sharedPreferences);
|
||||
} else if (key.equals(MakibesHR3Constants.PREF_LOST_REMINDER)) {
|
||||
} else if (key.equals(DeviceSettingsPreferenceConst.PREF_DISCONNECT_NOTIFICATION)) {
|
||||
this.setLostReminder(transactionBuilder, sharedPreferences);
|
||||
} else if (key.equals(MakibesHR3Constants.PREF_DO_NOT_DISTURB) ||
|
||||
key.equals(MakibesHR3Constants.PREF_DO_NOT_DISTURB_START) ||
|
||||
key.equals(MakibesHR3Constants.PREF_DO_NOT_DISTURB_END)) {
|
||||
} else if (key.equals(DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB_NOAUTO) ||
|
||||
key.equals(DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB_NOAUTO_START) ||
|
||||
key.equals(DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB_NOAUTO_END)) {
|
||||
this.setQuiteHours(transactionBuilder, sharedPreferences);
|
||||
} else if (key.equals(MakibesHR3Constants.PREF_FIND_PHONE) ||
|
||||
key.equals(MakibesHR3Constants.PREF_FIND_PHONE_DURATION)) {
|
||||
} else if (key.equals(DeviceSettingsPreferenceConst.PREF_FIND_PHONE) ||
|
||||
key.equals(DeviceSettingsPreferenceConst.PREF_FIND_PHONE_DURATION)) {
|
||||
// No action, we check the shared preferences when the device tries to ring the phone.
|
||||
} else {
|
||||
return;
|
||||
|
@ -548,7 +548,7 @@ public class TLW64Support extends AbstractBTLEDeviceSupport {
|
||||
(byte) 0x00 // unknown, sniffed by original app
|
||||
};
|
||||
|
||||
if (GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()).getBoolean(DeviceSettingsPreferenceConst.PREF_LONGSIT_SWITCH_NOSHED, false)) {
|
||||
if (GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()).getBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_ENABLE_NOSHED, false)) {
|
||||
deviceBytes[1] = (byte) 0x01;
|
||||
}
|
||||
|
||||
|
@ -169,9 +169,9 @@ public class ZeTimeDeviceSupport extends AbstractBTLEDeviceSupport {
|
||||
case ZeTimeConstants.PREF_HANDMOVE_DISPLAY:
|
||||
setDisplayOnMovement(builder);
|
||||
break;
|
||||
case ZeTimeConstants.PREF_DO_NOT_DISTURB:
|
||||
case ZeTimeConstants.PREF_DO_NOT_DISTURB_START:
|
||||
case ZeTimeConstants.PREF_DO_NOT_DISTURB_END:
|
||||
case DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB:
|
||||
case DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB_START:
|
||||
case DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB_END:
|
||||
setDoNotDisturb(builder);
|
||||
break;
|
||||
case ZeTimeConstants.PREF_CALORIES_TYPE:
|
||||
@ -183,18 +183,18 @@ public class ZeTimeDeviceSupport extends AbstractBTLEDeviceSupport {
|
||||
case ZeTimeConstants.PREF_DATE_FORMAT:
|
||||
setDateFormate(builder);
|
||||
break;
|
||||
case ZeTimeConstants.PREF_INACTIVITY_KEY:
|
||||
case ZeTimeConstants.PREF_INACTIVITY_ENABLE:
|
||||
case ZeTimeConstants.PREF_INACTIVITY_START:
|
||||
case ZeTimeConstants.PREF_INACTIVITY_END:
|
||||
case ZeTimeConstants.PREF_INACTIVITY_THRESHOLD:
|
||||
case ZeTimeConstants.PREF_INACTIVITY_MO:
|
||||
case ZeTimeConstants.PREF_INACTIVITY_TU:
|
||||
case ZeTimeConstants.PREF_INACTIVITY_WE:
|
||||
case ZeTimeConstants.PREF_INACTIVITY_TH:
|
||||
case ZeTimeConstants.PREF_INACTIVITY_FR:
|
||||
case ZeTimeConstants.PREF_INACTIVITY_SA:
|
||||
case ZeTimeConstants.PREF_INACTIVITY_SU:
|
||||
case DeviceSettingsPreferenceConst.PREF_INACTIVITY_KEY:
|
||||
case DeviceSettingsPreferenceConst.PREF_INACTIVITY_ENABLE:
|
||||
case DeviceSettingsPreferenceConst.PREF_INACTIVITY_START:
|
||||
case DeviceSettingsPreferenceConst.PREF_INACTIVITY_END:
|
||||
case DeviceSettingsPreferenceConst.PREF_INACTIVITY_THRESHOLD:
|
||||
case DeviceSettingsPreferenceConst.PREF_INACTIVITY_MO:
|
||||
case DeviceSettingsPreferenceConst.PREF_INACTIVITY_TU:
|
||||
case DeviceSettingsPreferenceConst.PREF_INACTIVITY_WE:
|
||||
case DeviceSettingsPreferenceConst.PREF_INACTIVITY_TH:
|
||||
case DeviceSettingsPreferenceConst.PREF_INACTIVITY_FR:
|
||||
case DeviceSettingsPreferenceConst.PREF_INACTIVITY_SA:
|
||||
case DeviceSettingsPreferenceConst.PREF_INACTIVITY_SU:
|
||||
setInactivityAlert(builder);
|
||||
break;
|
||||
case ZeTimeConstants.PREF_SMS_SIGNALING:
|
||||
@ -215,7 +215,7 @@ public class ZeTimeDeviceSupport extends AbstractBTLEDeviceSupport {
|
||||
case ZeTimeConstants.PREF_ZETIME_MIN_HEARTRATE:
|
||||
setHeartRateLimits(builder);
|
||||
break;
|
||||
case ZeTimeConstants.PREF_USER_FITNESS_GOAL:
|
||||
case DeviceSettingsPreferenceConst.PREF_USER_FITNESS_GOAL:
|
||||
case ZeTimeConstants.PREF_USER_SLEEP_GOAL:
|
||||
case ZeTimeConstants.PREF_USER_CALORIES_GOAL:
|
||||
case ZeTimeConstants.PREF_USER_DISTANCE_GOAL:
|
||||
@ -1713,10 +1713,10 @@ public class ZeTimeDeviceSupport extends AbstractBTLEDeviceSupport {
|
||||
|
||||
private void setDoNotDisturb(TransactionBuilder builder) {
|
||||
Prefs prefs = GBApplication.getPrefs();
|
||||
String scheduled = prefs.getString(ZeTimeConstants.PREF_DO_NOT_DISTURB, "off");
|
||||
String scheduled = prefs.getString(DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB, "off");
|
||||
String dndScheduled = getContext().getString(R.string.p_scheduled);
|
||||
String start = prefs.getString(ZeTimeConstants.PREF_DO_NOT_DISTURB_START, "22:00");
|
||||
String end = prefs.getString(ZeTimeConstants.PREF_DO_NOT_DISTURB_END, "07:00");
|
||||
String start = prefs.getString(DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB_START, "22:00");
|
||||
String end = prefs.getString(DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB_END, "07:00");
|
||||
DateFormat df_start = new SimpleDateFormat("HH:mm");
|
||||
DateFormat df_end = new SimpleDateFormat("HH:mm");
|
||||
Calendar calendar = GregorianCalendar.getInstance();
|
||||
@ -1817,8 +1817,8 @@ public class ZeTimeDeviceSupport extends AbstractBTLEDeviceSupport {
|
||||
|
||||
private void setInactivityAlert(TransactionBuilder builder) {
|
||||
Prefs prefs = GBApplication.getPrefs();
|
||||
boolean enabled = prefs.getBoolean(ZeTimeConstants.PREF_INACTIVITY_ENABLE, false);
|
||||
int threshold = prefs.getInt(ZeTimeConstants.PREF_INACTIVITY_THRESHOLD, 60);
|
||||
boolean enabled = prefs.getBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_ENABLE, false);
|
||||
int threshold = prefs.getInt(DeviceSettingsPreferenceConst.PREF_INACTIVITY_THRESHOLD, 60);
|
||||
|
||||
if (threshold > 0xff) {
|
||||
threshold = 0xff;
|
||||
@ -1843,21 +1843,21 @@ public class ZeTimeDeviceSupport extends AbstractBTLEDeviceSupport {
|
||||
};
|
||||
|
||||
if (enabled) {
|
||||
String start = prefs.getString(ZeTimeConstants.PREF_INACTIVITY_START, "06:00");
|
||||
String end = prefs.getString(ZeTimeConstants.PREF_INACTIVITY_END, "22:00");
|
||||
String start = prefs.getString(DeviceSettingsPreferenceConst.PREF_INACTIVITY_START, "06:00");
|
||||
String end = prefs.getString(DeviceSettingsPreferenceConst.PREF_INACTIVITY_END, "22:00");
|
||||
DateFormat df_start = new SimpleDateFormat("HH:mm");
|
||||
DateFormat df_end = new SimpleDateFormat("HH:mm");
|
||||
Calendar calendar = GregorianCalendar.getInstance();
|
||||
Calendar calendar_end = GregorianCalendar.getInstance();
|
||||
|
||||
int reps = (1 << 7); // set inactivity active: set bit 7
|
||||
reps |= (prefs.getBoolean(ZeTimeConstants.PREF_INACTIVITY_MO, false) ? 1 : 0);
|
||||
reps |= ((prefs.getBoolean(ZeTimeConstants.PREF_INACTIVITY_TU, false) ? 1 : 0) << 1);
|
||||
reps |= ((prefs.getBoolean(ZeTimeConstants.PREF_INACTIVITY_WE, false) ? 1 : 0) << 2);
|
||||
reps |= ((prefs.getBoolean(ZeTimeConstants.PREF_INACTIVITY_TH, false) ? 1 : 0) << 3);
|
||||
reps |= ((prefs.getBoolean(ZeTimeConstants.PREF_INACTIVITY_FR, false) ? 1 : 0) << 4);
|
||||
reps |= ((prefs.getBoolean(ZeTimeConstants.PREF_INACTIVITY_SA, false) ? 1 : 0) << 5);
|
||||
reps |= ((prefs.getBoolean(ZeTimeConstants.PREF_INACTIVITY_SU, false) ? 1 : 0) << 6);
|
||||
reps |= (prefs.getBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_MO, false) ? 1 : 0);
|
||||
reps |= ((prefs.getBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_TU, false) ? 1 : 0) << 1);
|
||||
reps |= ((prefs.getBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_WE, false) ? 1 : 0) << 2);
|
||||
reps |= ((prefs.getBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_TH, false) ? 1 : 0) << 3);
|
||||
reps |= ((prefs.getBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_FR, false) ? 1 : 0) << 4);
|
||||
reps |= ((prefs.getBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_SA, false) ? 1 : 0) << 5);
|
||||
reps |= ((prefs.getBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_SU, false) ? 1 : 0) << 6);
|
||||
|
||||
inactivity[5] = (byte) reps;
|
||||
|
||||
@ -2086,12 +2086,12 @@ public class ZeTimeDeviceSupport extends AbstractBTLEDeviceSupport {
|
||||
String endtime = String.format("%02d:%02d", msg[8], msg[9]);
|
||||
|
||||
if (0x1 == msg[5]) {
|
||||
prefs.putString(ZeTimeConstants.PREF_DO_NOT_DISTURB, "scheduled");
|
||||
prefs.putString(DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB, "scheduled");
|
||||
} else {
|
||||
prefs.putString(ZeTimeConstants.PREF_DO_NOT_DISTURB, "off");
|
||||
prefs.putString(DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB, "off");
|
||||
}
|
||||
prefs.putString(ZeTimeConstants.PREF_DO_NOT_DISTURB_START, starttime);
|
||||
prefs.putString(ZeTimeConstants.PREF_DO_NOT_DISTURB_END, endtime);
|
||||
prefs.putString(DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB_START, starttime);
|
||||
prefs.putString(DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB_END, endtime);
|
||||
prefs.apply();
|
||||
}
|
||||
|
||||
@ -2147,45 +2147,45 @@ public class ZeTimeDeviceSupport extends AbstractBTLEDeviceSupport {
|
||||
String starttime = String.format("%02d:%02d", msg[7], msg[8]);
|
||||
String endtime = String.format("%02d:%02d", msg[9], msg[10]);
|
||||
|
||||
prefs.putString(ZeTimeConstants.PREF_INACTIVITY_THRESHOLD, Integer.toString(msg[6]));
|
||||
prefs.putString(DeviceSettingsPreferenceConst.PREF_INACTIVITY_THRESHOLD, Integer.toString(msg[6]));
|
||||
if (0 != msg[5]) {
|
||||
prefs.putBoolean(ZeTimeConstants.PREF_INACTIVITY_ENABLE, true);
|
||||
prefs.putString(ZeTimeConstants.PREF_INACTIVITY_START, starttime);
|
||||
prefs.putString(ZeTimeConstants.PREF_INACTIVITY_END, endtime);
|
||||
prefs.putBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_ENABLE, true);
|
||||
prefs.putString(DeviceSettingsPreferenceConst.PREF_INACTIVITY_START, starttime);
|
||||
prefs.putString(DeviceSettingsPreferenceConst.PREF_INACTIVITY_END, endtime);
|
||||
if (0 != (msg[5] & (1 << 0))) {
|
||||
prefs.putBoolean(ZeTimeConstants.PREF_INACTIVITY_MO, true);
|
||||
prefs.putBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_MO, true);
|
||||
} else {
|
||||
prefs.putBoolean(ZeTimeConstants.PREF_INACTIVITY_MO, false);
|
||||
prefs.putBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_MO, false);
|
||||
}
|
||||
if (0 != (msg[5] & (1 << 1))) {
|
||||
prefs.putBoolean(ZeTimeConstants.PREF_INACTIVITY_TU, true);
|
||||
prefs.putBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_TU, true);
|
||||
} else {
|
||||
prefs.putBoolean(ZeTimeConstants.PREF_INACTIVITY_TU, false);
|
||||
prefs.putBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_TU, false);
|
||||
}
|
||||
if (0 != (msg[5] & (1 << 2))) {
|
||||
prefs.putBoolean(ZeTimeConstants.PREF_INACTIVITY_WE, true);
|
||||
prefs.putBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_WE, true);
|
||||
} else {
|
||||
prefs.putBoolean(ZeTimeConstants.PREF_INACTIVITY_WE, false);
|
||||
prefs.putBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_WE, false);
|
||||
}
|
||||
if (0 != (msg[5] & (1 << 3))) {
|
||||
prefs.putBoolean(ZeTimeConstants.PREF_INACTIVITY_TH, true);
|
||||
prefs.putBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_TH, true);
|
||||
} else {
|
||||
prefs.putBoolean(ZeTimeConstants.PREF_INACTIVITY_TH, false);
|
||||
prefs.putBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_TH, false);
|
||||
}
|
||||
if (0 != (msg[5] & (1 << 4))) {
|
||||
prefs.putBoolean(ZeTimeConstants.PREF_INACTIVITY_FR, true);
|
||||
prefs.putBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_FR, true);
|
||||
} else {
|
||||
prefs.putBoolean(ZeTimeConstants.PREF_INACTIVITY_FR, false);
|
||||
prefs.putBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_FR, false);
|
||||
}
|
||||
if (0 != (msg[5] & (1 << 5))) {
|
||||
prefs.putBoolean(ZeTimeConstants.PREF_INACTIVITY_SA, true);
|
||||
prefs.putBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_SA, true);
|
||||
} else {
|
||||
prefs.putBoolean(ZeTimeConstants.PREF_INACTIVITY_SA, false);
|
||||
prefs.putBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_SA, false);
|
||||
}
|
||||
if (0 != (msg[5] & (1 << 6))) {
|
||||
prefs.putBoolean(ZeTimeConstants.PREF_INACTIVITY_SU, true);
|
||||
prefs.putBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_SU, true);
|
||||
} else {
|
||||
prefs.putBoolean(ZeTimeConstants.PREF_INACTIVITY_SU, false);
|
||||
prefs.putBoolean(DeviceSettingsPreferenceConst.PREF_INACTIVITY_SU, false);
|
||||
}
|
||||
}
|
||||
prefs.apply();
|
||||
|
@ -1818,6 +1818,7 @@
|
||||
<item>@string/menuitem_notifications</item>
|
||||
<item>@string/mi2_prefs_inactivity_warnings</item>
|
||||
<item>@string/pref_title_notifications_sms</item>
|
||||
<item>@string/menuitem_email</item>
|
||||
<item>@string/menuitem_goal</item>
|
||||
</string-array>
|
||||
|
||||
@ -1828,6 +1829,7 @@
|
||||
<item>@string/p_menuitem_notifications</item>
|
||||
<item>@string/p_menuitem_inactivity_warning</item>
|
||||
<item>@string/p_menuitem_sms</item>
|
||||
<item>@string/p_menuitem_email</item>
|
||||
<item>@string/p_menuitem_goal</item>
|
||||
</string-array>
|
||||
|
||||
|
@ -994,6 +994,7 @@
|
||||
<string name="menuitem_temperature">Temperature</string>
|
||||
<string name="menuitem_barometer">Barometer</string>
|
||||
<string name="menuitem_flashlight">Flashlight</string>
|
||||
<string name='menuitem_email'>E-mail</string>
|
||||
<string name="watch9_time_minutes">Minutes:</string>
|
||||
<string name="watch9_time_hours">Hours:</string>
|
||||
<string name="watch9_time_seconds">Seconds:</string>
|
||||
|
@ -61,6 +61,7 @@
|
||||
<item name="p_menuitem_calls" type="string">calls</item>
|
||||
<item name="p_menuitem_inactivity_warning" type="string">inactivity_warning</item>
|
||||
<item name="p_menuitem_sms" type="string">sms</item>
|
||||
<item name="p_menuitem_email" type="string">email</item>
|
||||
|
||||
<item name="p_off" type="string">off</item>
|
||||
<item name="p_on" type="string">on</item>
|
||||
|
@ -40,7 +40,7 @@
|
||||
<EditTextPreference
|
||||
android:defaultValue="10000"
|
||||
android:inputType="number"
|
||||
android:key="mi_fitness_goal"
|
||||
android:key="fitness_goal"
|
||||
android:maxLength="5"
|
||||
android:title="@string/miband_prefs_fitness_goal" />
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_chair"
|
||||
android:key="screen_longsit"
|
||||
android:key="screen_inactivity"
|
||||
android:persistent="false"
|
||||
android:summary="@string/mi2_prefs_inactivity_warnings_summary"
|
||||
android:title="@string/mi2_prefs_inactivity_warnings">
|
||||
@ -12,21 +12,21 @@
|
||||
|
||||
<SwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:key="pref_longsit_switch"
|
||||
android:key="inactivity_warnings_enable"
|
||||
android:title="@string/mi2_prefs_inactivity_warnings" />
|
||||
<EditTextPreference
|
||||
android:defaultValue="60"
|
||||
android:key="pref_longsit_period"
|
||||
android:key="inactivity_warnings_threshold"
|
||||
android:summary="@string/mi2_prefs_inactivity_warnings_summary"
|
||||
android:title="@string/mi2_prefs_inactivity_warnings_threshold"/>
|
||||
<nodomain.freeyourgadget.gadgetbridge.util.XTimePreference
|
||||
android:defaultValue="06:00"
|
||||
android:key="pref_longsit_start"
|
||||
android:key="inactivity_warnings_start"
|
||||
android:title="@string/mi2_prefs_do_not_disturb_start" />
|
||||
|
||||
<nodomain.freeyourgadget.gadgetbridge.util.XTimePreference
|
||||
android:defaultValue="23:00"
|
||||
android:key="pref_longsit_end"
|
||||
android:key="inactivity_warnings_end"
|
||||
android:title="@string/mi2_prefs_do_not_disturb_end" />
|
||||
|
||||
</PreferenceScreen>
|
@ -2,7 +2,7 @@
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_chair"
|
||||
android:key="screen_longsit"
|
||||
android:key="screen_inactivity_extended"
|
||||
android:persistent="false"
|
||||
android:summary="@string/mi2_prefs_inactivity_warnings_summary"
|
||||
android:title="@string/mi2_prefs_inactivity_warnings">
|
||||
@ -12,26 +12,26 @@
|
||||
|
||||
<SwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:key="pref_longsit_switch"
|
||||
android:key="inactivity_warnings_enable"
|
||||
android:title="@string/mi2_prefs_inactivity_warnings" />
|
||||
|
||||
<ListPreference
|
||||
android:defaultValue="4"
|
||||
android:dependency="pref_longsit_switch"
|
||||
android:dependency="inactivity_warnings_enable"
|
||||
android:entries="@array/inactivity_minutes"
|
||||
android:entryValues="@array/inactivity_minutes_values"
|
||||
android:key="pref_longsit_period"
|
||||
android:key="inactivity_warnings_threshold"
|
||||
android:summary="@string/mi2_prefs_inactivity_warnings_summary"
|
||||
android:title="@string/mi2_prefs_inactivity_warnings_threshold" />
|
||||
|
||||
<nodomain.freeyourgadget.gadgetbridge.util.XTimePreference
|
||||
android:defaultValue="08:00"
|
||||
android:key="pref_longsit_start"
|
||||
android:key="inactivity_warnings_start"
|
||||
android:title="@string/mi2_prefs_do_not_disturb_start" />
|
||||
|
||||
<nodomain.freeyourgadget.gadgetbridge.util.XTimePreference
|
||||
android:defaultValue="16:00"
|
||||
android:key="pref_longsit_end"
|
||||
android:key="inactivity_warnings_end"
|
||||
android:title="@string/mi2_prefs_do_not_disturb_end" />
|
||||
</PreferenceScreen>
|
||||
</androidx.preference.PreferenceScreen>
|
@ -3,7 +3,7 @@
|
||||
<SwitchPreference
|
||||
android:icon="@drawable/ic_chair"
|
||||
android:defaultValue="false"
|
||||
android:key="screen_longsit_noshed"
|
||||
android:key="inactivity_warnings_enable_noshed"
|
||||
android:title="@string/mi2_prefs_inactivity_warnings"
|
||||
android:summary="@string/mi2_prefs_inactivity_warnings_summary"/>
|
||||
</androidx.preference.PreferenceScreen>
|
@ -5,7 +5,7 @@
|
||||
android:entries="@array/lefun_interface_language_names"
|
||||
android:entryValues="@array/lefun_interface_language_values"
|
||||
android:icon="@drawable/ic_language"
|
||||
android:key="pref_lefun_interface_language"
|
||||
android:key="language"
|
||||
android:summary="%s"
|
||||
android:title="@string/lefun_prefs_interface_language_title" />
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -12,7 +12,7 @@
|
||||
<EditTextPreference
|
||||
android:defaultValue="10000"
|
||||
android:inputType="number"
|
||||
android:key="mi_fitness_goal"
|
||||
android:key="fitness_goal"
|
||||
android:maxLength="5"
|
||||
android:title="@string/miband_prefs_fitness_goal" />
|
||||
|
||||
@ -36,7 +36,7 @@
|
||||
android:title="@string/prefs_title_heartrate_measurement_interval" />
|
||||
|
||||
<PreferenceScreen
|
||||
android:key="mi2_inactivity_warning_key"
|
||||
android:key="inactivity_warnings_key"
|
||||
android:summary="@string/mi2_prefs_inactivity_warnings_summary"
|
||||
android:title="@string/mi2_prefs_inactivity_warnings"
|
||||
android:persistent="false">
|
||||
@ -48,47 +48,47 @@
|
||||
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="mi2_inactivity_warnings"
|
||||
android:key="inactivity_warnings_enable"
|
||||
android:summary="@string/mi2_prefs_inactivity_warnings_summary"
|
||||
android:title="@string/mi2_prefs_inactivity_warnings" />
|
||||
|
||||
<EditTextPreference
|
||||
android:defaultValue="60"
|
||||
android:dependency="mi2_inactivity_warnings"
|
||||
android:dependency="inactivity_warnings_enable"
|
||||
android:inputType="numberSigned"
|
||||
android:key="mi2_inactivity_warnings_threshold"
|
||||
android:key="inactivity_warnings_threshold"
|
||||
android:maxLength="2"
|
||||
android:title="@string/mi2_prefs_inactivity_warnings_threshold" />
|
||||
|
||||
<nodomain.freeyourgadget.gadgetbridge.util.TimePreference
|
||||
android:defaultValue="06:00"
|
||||
android:dependency="mi2_inactivity_warnings"
|
||||
android:key="mi2_inactivity_warnings_start"
|
||||
android:dependency="inactivity_warnings_enable"
|
||||
android:key="inactivity_warnings_start"
|
||||
android:title="@string/mi2_prefs_do_not_disturb_start" />
|
||||
|
||||
<nodomain.freeyourgadget.gadgetbridge.util.TimePreference
|
||||
android:defaultValue="22:00"
|
||||
android:dependency="mi2_inactivity_warnings"
|
||||
android:key="mi2_inactivity_warnings_end"
|
||||
android:dependency="inactivity_warnings_enable"
|
||||
android:key="inactivity_warnings_end"
|
||||
android:title="@string/mi2_prefs_do_not_disturb_end" />
|
||||
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:dependency="mi2_inactivity_warnings"
|
||||
android:key="mi2_inactivity_warnings_dnd"
|
||||
android:dependency="inactivity_warnings_enable"
|
||||
android:key="inactivity_warnings_dnd"
|
||||
android:summary="@string/mi2_prefs_inactivity_warnings_dnd_summary"
|
||||
android:title="@string/mi2_prefs_do_not_disturb" />
|
||||
|
||||
<nodomain.freeyourgadget.gadgetbridge.util.TimePreference
|
||||
android:defaultValue="12:00"
|
||||
android:dependency="mi2_inactivity_warnings_dnd"
|
||||
android:key="mi2_inactivity_warnings_dnd_start"
|
||||
android:dependency="inactivity_warnings_dnd"
|
||||
android:key="inactivity_warnings_dnd_start"
|
||||
android:title="@string/mi2_prefs_do_not_disturb_start" />
|
||||
|
||||
<nodomain.freeyourgadget.gadgetbridge.util.TimePreference
|
||||
android:defaultValue="14:00"
|
||||
android:dependency="mi2_inactivity_warnings_dnd"
|
||||
android:key="mi2_inactivity_warnings_dnd_end"
|
||||
android:dependency="inactivity_warnings_dnd"
|
||||
android:key="inactivity_warnings_dnd_end"
|
||||
android:title="@string/mi2_prefs_do_not_disturb_end" />
|
||||
</PreferenceScreen>
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
<EditTextPreference
|
||||
android:defaultValue="10000"
|
||||
android:inputType="number"
|
||||
android:key="mi_fitness_goal"
|
||||
android:key="fitness_goal"
|
||||
android:maxLength="5"
|
||||
android:title="@string/miband_prefs_fitness_goal" />
|
||||
|
||||
@ -52,7 +52,7 @@
|
||||
android:title="@string/activity_prefs_activetime_minutes" />
|
||||
|
||||
<PreferenceScreen
|
||||
android:key="zetime_inactivity_warning_key"
|
||||
android:key="inactivity_warnings_key"
|
||||
android:summary="@string/mi2_prefs_inactivity_warnings_summary"
|
||||
android:title="@string/mi2_prefs_inactivity_warnings"
|
||||
android:persistent="false">
|
||||
@ -64,60 +64,60 @@
|
||||
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="zetime_inactivity_warnings"
|
||||
android:key="inactivity_warnings_enable"
|
||||
android:summary="@string/mi2_prefs_inactivity_warnings_summary"
|
||||
android:title="@string/mi2_prefs_inactivity_warnings" />
|
||||
|
||||
<EditTextPreference
|
||||
android:defaultValue="60"
|
||||
android:dependency="zetime_inactivity_warnings"
|
||||
android:dependency="inactivity_warnings_enable"
|
||||
android:inputType="numberSigned"
|
||||
android:key="zetime_inactivity_warnings_threshold"
|
||||
android:key="inactivity_warnings_threshold"
|
||||
android:maxLength="3"
|
||||
android:title="@string/mi2_prefs_inactivity_warnings_threshold" />
|
||||
|
||||
<nodomain.freeyourgadget.gadgetbridge.util.TimePreference
|
||||
android:defaultValue="06:00"
|
||||
android:dependency="zetime_inactivity_warnings"
|
||||
android:key="zetime_inactivity_warnings_start"
|
||||
android:dependency="inactivity_warnings_enable"
|
||||
android:key="inactivity_warnings_start"
|
||||
android:title="@string/mi2_prefs_do_not_disturb_start" />
|
||||
|
||||
<nodomain.freeyourgadget.gadgetbridge.util.TimePreference
|
||||
android:defaultValue="22:00"
|
||||
android:dependency="zetime_inactivity_warnings"
|
||||
android:key="zetime_inactivity_warnings_end"
|
||||
android:dependency="inactivity_warnings_enable"
|
||||
android:key="inactivity_warnings_end"
|
||||
android:title="@string/mi2_prefs_do_not_disturb_end" />
|
||||
|
||||
<!-- workaround for missing toolbar -->
|
||||
<PreferenceCategory android:title="@string/zetime_prefs_inactivity_repetitions"
|
||||
android:dependency="zetime_inactivity_warnings">
|
||||
android:dependency="inactivity_warnings_enable">
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="zetime_prefs_inactivity_repetitions_mo"
|
||||
android:key="inactivity_warnings_mo"
|
||||
android:title="@string/zetime_prefs_inactivity_mo" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="zetime_prefs_inactivity_repetitions_tu"
|
||||
android:key="inactivity_warnings_tu"
|
||||
android:title="@string/zetime_prefs_inactivity_tu" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="zetime_prefs_inactivity_repetitions_we"
|
||||
android:key="inactivity_warnings_we"
|
||||
android:title="@string/zetime_prefs_inactivity_we" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="zetime_prefs_inactivity_repetitions_th"
|
||||
android:key="inactivity_warnings_th"
|
||||
android:title="@string/zetime_prefs_inactivity_th" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="zetime_prefs_inactivity_repetitions_fr"
|
||||
android:key="inactivity_warnings_fr"
|
||||
android:title="@string/zetime_prefs_inactivity_fr" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="zetime_prefs_inactivity_repetitions_sa"
|
||||
android:key="inactivity_warnings_sa"
|
||||
android:title="@string/zetime_prefs_inactivity_sa" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="zetime_prefs_inactivity_repetitions_su"
|
||||
android:key="inactivity_warnings_su"
|
||||
android:title="@string/zetime_prefs_inactivity_su" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
@ -173,18 +173,18 @@
|
||||
android:defaultValue="@string/p_off"
|
||||
android:entries="@array/zetime_do_not_disturb"
|
||||
android:entryValues="@array/zetime_do_not_disturb_values"
|
||||
android:key="zetime_do_not_disturb"
|
||||
android:key="do_not_disturb"
|
||||
android:title="@string/mi2_prefs_do_not_disturb"
|
||||
android:summary="%s" />
|
||||
|
||||
<nodomain.freeyourgadget.gadgetbridge.util.TimePreference
|
||||
android:defaultValue="22:00"
|
||||
android:key="zetime_do_not_disturb_start"
|
||||
android:key="do_not_disturb_start"
|
||||
android:title="@string/mi2_prefs_do_not_disturb_start" />
|
||||
|
||||
<nodomain.freeyourgadget.gadgetbridge.util.TimePreference
|
||||
android:defaultValue="07:00"
|
||||
android:key="zetime_do_not_disturb_end"
|
||||
android:key="do_not_disturb_end"
|
||||
android:title="@string/mi2_prefs_do_not_disturb_end" />
|
||||
|
||||
</PreferenceScreen>
|
||||
|
@ -9,7 +9,7 @@ buildscript {
|
||||
}
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:7.0.4'
|
||||
classpath 'com.android.tools.build:gradle:7.1.3'
|
||||
|
||||
classpath 'gradle.plugin.com.github.spotbugs:spotbugs-gradle-plugin:2.0.0'
|
||||
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.17'
|
||||
|
@ -1,4 +1,5 @@
|
||||
Use your Pebble/Mi Band/Amazfit Bip/Hplus device without the vendor's closed source application and without the need to create an account and transmit any of your data to the vendor's servers.
|
||||
Use your smart watch, fitness tracker, and other bluetooth devices without the vendor's closed source application and without the need to create an account and transmit any of your data to the vendor's servers.
|
||||
For a full list of supported device, please refer to our Homepage or README.md in our git repository.
|
||||
|
||||
You can get notifications on your wrist and (depending on the device):
|
||||
|
||||
|
@ -1 +1 @@
|
||||
Use your Pebble/Bip/Miband/Hplus/[more] and keep your data private!
|
||||
Use your smart watch and other bluetooth devices and keep your data private!
|
||||
|
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
|
||||
|
Loading…
Reference in New Issue
Block a user