Merge remote-tracking branch 'github/pr/1292'
@ -41,7 +41,7 @@ vendor's servers.
|
||||
* Teclast H10, H30 (WIP)
|
||||
* XWatch (Affordable Chinese Casio-like smartwatches)
|
||||
* Vibratissimo (experimental)
|
||||
* ZeTime (WIP)
|
||||
* ZeTime (WIP) [Wiki](https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/MyKronoz-ZeTime)
|
||||
|
||||
|
||||
## Features
|
||||
|
@ -62,6 +62,10 @@
|
||||
android:name=".devices.miband.MiBandPreferencesActivity"
|
||||
android:label="@string/preferences_miband_settings"
|
||||
android:parentActivityName=".activities.SettingsActivity" />
|
||||
<activity
|
||||
android:name=".devices.zetime.ZeTimePreferenceActivity"
|
||||
android:label="@string/zetime_title_settings"
|
||||
android:parentActivityName=".activities.SettingsActivity" />
|
||||
<activity
|
||||
android:name=".activities.ActivitySummariesActivity"
|
||||
android:label="@string/activity_summaries"
|
||||
|
@ -55,6 +55,7 @@ import nodomain.freeyourgadget.gadgetbridge.database.PeriodicExporter;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceManager;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandPreferencesActivity;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.zetime.ZeTimePreferenceActivity;
|
||||
import nodomain.freeyourgadget.gadgetbridge.model.CannedMessagesSpec;
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.AndroidUtils;
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.FileUtils;
|
||||
@ -121,6 +122,15 @@ public class SettingsActivity extends AbstractSettingsActivity {
|
||||
}
|
||||
});
|
||||
|
||||
pref = findPreference("pref_key_zetime");
|
||||
pref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
Intent enableIntent = new Intent(SettingsActivity.this, ZeTimePreferenceActivity.class);
|
||||
startActivity(enableIntent);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
pref = findPreference("pref_key_blacklist");
|
||||
pref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
|
@ -96,6 +96,13 @@ public interface EventHandler {
|
||||
*/
|
||||
void onSendConfiguration(String config);
|
||||
|
||||
/**
|
||||
* Gets the given option from the device, sets the values in the preferences.
|
||||
* The config name is device specific.
|
||||
* @param config the device specific option to get from the device
|
||||
*/
|
||||
void onReadConfiguration(String config);
|
||||
|
||||
void onTestNewFunction();
|
||||
|
||||
void onSendWeather(WeatherSpec weatherSpec);
|
||||
|
@ -55,6 +55,9 @@ public class ZeTimeConstants {
|
||||
public static final byte CMD_SCREEN_ON_TIME = (byte) 0x13;
|
||||
public static final byte CMD_SNOOZE = (byte) 0x14;
|
||||
public static final byte CMD_DO_NOT_DISTURB = (byte) 0x15;
|
||||
public static final byte CMD_ANALOG_MODE = (byte) 0x17;
|
||||
public static final byte CMD_CONTROL_DEVICE = (byte) 0x1A;
|
||||
public static final byte CMD_DISPLAY_TIMEOUT = (byte) 0x25;
|
||||
public static final byte CMD_USER_INFO = (byte) 0x30;
|
||||
public static final byte CMD_USAGE_HABITS = (byte) 0x31;
|
||||
public static final byte CMD_USER_NAME = (byte) 0x32;
|
||||
@ -73,8 +76,11 @@ public class ZeTimeConstants {
|
||||
public static final byte CMD_GET_HEARTRATE_EXDATA = (byte) 0x61;
|
||||
public static final byte CMD_PUSH_EX_MSG = (byte) 0x76;
|
||||
public static final byte CMD_PUSH_WEATHER_DATA = (byte) 0x77;
|
||||
public static final byte CMD_SWITCH_SETTINGS = (byte) 0x90;
|
||||
public static final byte CMD_REMINDERS = (byte) 0x97;
|
||||
public static final byte CMD_PUSH_CALENDAR_DAY = (byte) 0x99;
|
||||
public static final byte CMD_MUSIC_CONTROL = (byte) 0xD0;
|
||||
public static final byte CMD_TEST_SIGNALING = (byte) 0xFA;
|
||||
// here are the action commands
|
||||
public static final byte CMD_REQUEST = (byte) 0x70;
|
||||
public static final byte CMD_SEND = (byte) 0x71;
|
||||
@ -105,4 +111,75 @@ public class ZeTimeConstants {
|
||||
public static final byte NOTIFICATION_UBER = (byte) 0x13;
|
||||
public static final byte NOTIFICATION_LINE = (byte) 0x14;
|
||||
public static final byte NOTIFICATION_SKYPE = (byte) 0x15;
|
||||
// reminders types
|
||||
public static final byte REMINDER_ALARM = (byte) 0x04;
|
||||
// signaling types
|
||||
public static final byte ANTI_LOSS_TYPE = (byte) 0x00;
|
||||
public static final byte CALL_TYPE = (byte) 0x02;
|
||||
public static final byte MISSED_CALL_TYPE = (byte) 0x03;
|
||||
public static final byte SMS_TYPE = (byte) 0x04;
|
||||
public static final byte SOCIAL_TYPE = (byte) 0x05;
|
||||
public static final byte EMAIL_TYPE = (byte) 0x06;
|
||||
public static final byte CALENDAR_TYPE = (byte) 0x07;
|
||||
public static final byte INACTIVITY_TYPE = (byte) 0x08;
|
||||
public static final byte LOW_POWER_TYPE = (byte) 0x09;
|
||||
// watch settings
|
||||
public static final String PREF_WRIST = "zetime_wrist";
|
||||
public static final byte WEAR_ON_LEFT_WRIST = (byte) 0x00;
|
||||
public static final byte WEAR_ON_RIGHT_WRIST = (byte) 0x01;
|
||||
|
||||
public static final String PREF_SCREENTIME = "zetime_screentime";
|
||||
public static final int MAX_SCREEN_ON_TIME = 0xffff;
|
||||
public static final int MIN_SCREEN_ON_TIME = 0x000a;
|
||||
|
||||
public static final String PREF_ZETIME_DONT_DEL_ACTDATA = "zetime_dont_del_actdata";
|
||||
|
||||
public static final String PREF_ZETIME_HEARTRATE_ALARM = "zetime_heartrate_alarm_enable";
|
||||
public static final String PREF_ZETIME_MAX_HEARTRATE = "alarm_max_heart_rate";
|
||||
public static final String PREF_ZETIME_MIN_HEARTRATE = "alarm_min_heart_rate";
|
||||
public static final String PREF_ZETIME_HEARTRATE_INTERVAL = "heartrate_measurement_interval";
|
||||
|
||||
public static final String PREF_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";
|
||||
public static final String PREF_CALORIES_TYPE = "zetime_calories_type";
|
||||
public static final String PREF_TIME_FORMAT = "zetime_time_format";
|
||||
public static final String PREF_DATE_FORMAT = "zetime_date_format";
|
||||
|
||||
public static final String PREF_ALARM_SIGNALING = "zetime_alarm_signaling";
|
||||
public static final String PREF_SMS_SIGNALING = "zetime_vibration_profile_sms";
|
||||
public static final String PREF_CALL_SIGNALING = "zetime_vibration_profile_incoming_call";
|
||||
public static final String PREF_MISSED_CALL_SIGNALING = "zetime_vibration_profile_missed_call";
|
||||
public static final String PREF_EMAIL_SIGNALING = "zetime_vibration_profile_generic_email";
|
||||
public static final String PREF_SOCIAL_SIGNALING = "zetime_vibration_profile_generic_social";
|
||||
public static final String PREF_CALENDAR_SIGNALING = "zetime_vibration_profile_calendar";
|
||||
public static final String PREF_INACTIVITY_SIGNALING = "zetime_vibration_profile_inactivity";
|
||||
public static final String PREF_LOW_POWER_SIGNALING = "zetime_vibration_profile_lowpower";
|
||||
public static final String PREF_ANTI_LOSS_SIGNALING = "zetime_vibration_profile_antiloss";
|
||||
|
||||
public static final String PREF_USER_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";
|
||||
public static final String PREF_USER_ACTIVETIME_GOAL = "activity_user_activetime_minutes";
|
||||
|
||||
public static final String PREF_SHOCK_STRENGTH = "zetime_shock_strength";
|
||||
|
||||
}
|
||||
|
@ -146,7 +146,7 @@ public class ZeTimeCoordinator extends AbstractDeviceCoordinator {
|
||||
|
||||
@Override
|
||||
public boolean supportsRealtimeData() {
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -0,0 +1,133 @@
|
||||
package nodomain.freeyourgadget.gadgetbridge.devices.zetime;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.preference.Preference;
|
||||
import android.widget.Toast;
|
||||
|
||||
import nodomain.freeyourgadget.gadgetbridge.GBApplication;
|
||||
import nodomain.freeyourgadget.gadgetbridge.R;
|
||||
import nodomain.freeyourgadget.gadgetbridge.activities.AbstractSettingsActivity;
|
||||
import nodomain.freeyourgadget.gadgetbridge.model.NotificationSpec;
|
||||
import nodomain.freeyourgadget.gadgetbridge.model.NotificationType;
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.GB;
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.Prefs;
|
||||
|
||||
public class ZeTimePreferenceActivity extends AbstractSettingsActivity {
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
addPreferencesFromResource(R.xml.zetime_preferences);
|
||||
addPreferencesFromResource(R.xml.preferences);
|
||||
|
||||
GBApplication.deviceService().onReadConfiguration("do_it");
|
||||
|
||||
//addTryListeners();
|
||||
|
||||
Prefs prefs = GBApplication.getPrefs();
|
||||
|
||||
final Preference heartrateMeasurementInterval = findPreference(ZeTimeConstants.PREF_ZETIME_HEARTRATE_INTERVAL);
|
||||
heartrateMeasurementInterval.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newVal) {
|
||||
GBApplication.deviceService().onSetHeartRateMeasurementInterval(Integer.parseInt((String) newVal));
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_SCREENTIME);
|
||||
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_WRIST);
|
||||
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_ANALOG_MODE);
|
||||
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_ACTIVITY_TRACKING);
|
||||
|
||||
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_TIME_FORMAT);
|
||||
|
||||
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);
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_CALL_SIGNALING);
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_MISSED_CALL_SIGNALING);
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_EMAIL_SIGNALING);
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_INACTIVITY_SIGNALING);
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_LOW_POWER_SIGNALING);
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_SOCIAL_SIGNALING);
|
||||
|
||||
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_ZETIME_HEARTRATE_ALARM);
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_ZETIME_MAX_HEARTRATE);
|
||||
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);
|
||||
addPreferenceHandlerFor(ZeTimeConstants.PREF_USER_ACTIVETIME_GOAL);
|
||||
}
|
||||
|
||||
private void addPreferenceHandlerFor(final String preferenceKey) {
|
||||
Preference pref = findPreference(preferenceKey);
|
||||
pref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||
@Override public boolean onPreferenceChange(Preference preference, Object newVal) {
|
||||
GBApplication.deviceService().onSendConfiguration(preferenceKey);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* delayed execution so that the preferences are applied first
|
||||
*/
|
||||
// private void invokeLater(Runnable runnable) {
|
||||
// getListView().post(runnable);
|
||||
// }
|
||||
|
||||
// private void addTryListeners() {
|
||||
// for (final NotificationType type : NotificationType.values()) {
|
||||
// String prefKey = "zetime_try_" + type.getGenericType();
|
||||
// final Preference tryPref = findPreference(prefKey);
|
||||
// if (tryPref != null) {
|
||||
// tryPref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||
// @Override
|
||||
// public boolean onPreferenceClick(Preference preference) {
|
||||
// tryVibration(type);
|
||||
// return true;
|
||||
// }
|
||||
// });
|
||||
// } else {
|
||||
// GB.toast(getBaseContext(), "Unable to find preference key: " + prefKey + ", trying the vibration won't work", Toast.LENGTH_LONG, GB.WARN);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// private void tryVibration(NotificationType type) {
|
||||
// NotificationSpec spec = new NotificationSpec();
|
||||
// spec.type = type;
|
||||
// GBApplication.deviceService().onNotification(spec);
|
||||
// }
|
||||
}
|
@ -379,6 +379,13 @@ public class GBDeviceService implements DeviceService {
|
||||
invokeService(intent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReadConfiguration(String config) {
|
||||
Intent intent = createIntent().setAction(ACTION_READ_CONFIGURATION)
|
||||
.putExtra(EXTRA_CONFIG, config);
|
||||
invokeService(intent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTestNewFunction() {
|
||||
Intent intent = createIntent().setAction(ACTION_TEST_NEW_FUNCTION);
|
||||
|
@ -41,6 +41,9 @@ public class ActivityUser {
|
||||
private int activityUserWeightKg;
|
||||
private int activityUserSleepDuration;
|
||||
private int activityUserStepsGoal;
|
||||
private int activityUserCaloriesBurnt;
|
||||
private int activityUserDistanceMeters;
|
||||
private int activityUserActiveTimeMinutes;
|
||||
|
||||
private static final String defaultUserName = "gadgetbridge-user";
|
||||
public static final int defaultUserGender = GENDER_FEMALE;
|
||||
@ -50,6 +53,9 @@ public class ActivityUser {
|
||||
public static final int defaultUserWeightKg = 70;
|
||||
public static final int defaultUserSleepDuration = 7;
|
||||
public static final int defaultUserStepsGoal = 8000;
|
||||
public static final int defaultUserCaloriesBurnt = 2000;
|
||||
public static final int defaultUserDistanceMeters = 5000;
|
||||
public static final int defaultUserActiveTimeMinutes = 60;
|
||||
|
||||
public static final String PREF_USER_NAME = "mi_user_alias";
|
||||
public static final String PREF_USER_YEAR_OF_BIRTH = "activity_user_year_of_birth";
|
||||
@ -58,6 +64,9 @@ public class ActivityUser {
|
||||
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_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";
|
||||
|
||||
public ActivityUser() {
|
||||
fetchPreferences();
|
||||
@ -127,6 +136,9 @@ public class ActivityUser {
|
||||
activityUserYearOfBirth = prefs.getInt(PREF_USER_YEAR_OF_BIRTH, defaultUserYearOfBirth);
|
||||
activityUserSleepDuration = prefs.getInt(PREF_USER_SLEEP_DURATION, defaultUserSleepDuration);
|
||||
activityUserStepsGoal = prefs.getInt(PREF_USER_STEPS_GOAL, defaultUserStepsGoal);
|
||||
activityUserCaloriesBurnt = prefs.getInt(PREF_USER_CALORIES_BURNT, defaultUserCaloriesBurnt);
|
||||
activityUserDistanceMeters = prefs.getInt(PREF_USER_DISTANCE_METERS, defaultUserDistanceMeters);
|
||||
activityUserActiveTimeMinutes = prefs.getInt(PREF_USER_ACTIVETIME_MINUTES, defaultUserActiveTimeMinutes);
|
||||
}
|
||||
|
||||
public Date getUserBirthday() {
|
||||
@ -134,4 +146,28 @@ public class ActivityUser {
|
||||
cal.set(GregorianCalendar.YEAR, getYearOfBirth());
|
||||
return cal.getTime();
|
||||
}
|
||||
|
||||
public int getCaloriesBurnt()
|
||||
{
|
||||
if (activityUserCaloriesBurnt < 0) {
|
||||
activityUserCaloriesBurnt = defaultUserCaloriesBurnt;
|
||||
}
|
||||
return activityUserCaloriesBurnt;
|
||||
}
|
||||
|
||||
public int getDistanceMeters()
|
||||
{
|
||||
if (activityUserDistanceMeters < 0) {
|
||||
activityUserDistanceMeters = defaultUserDistanceMeters;
|
||||
}
|
||||
return activityUserDistanceMeters;
|
||||
}
|
||||
|
||||
public int getActiveTimeMinutes()
|
||||
{
|
||||
if (activityUserActiveTimeMinutes < 0) {
|
||||
activityUserActiveTimeMinutes = defaultUserActiveTimeMinutes;
|
||||
}
|
||||
return activityUserActiveTimeMinutes;
|
||||
}
|
||||
}
|
||||
|
@ -61,6 +61,7 @@ public interface DeviceService extends EventHandler {
|
||||
String ACTION_ADD_CALENDAREVENT = PREFIX + ".action.add_calendarevent";
|
||||
String ACTION_DELETE_CALENDAREVENT = PREFIX + ".action.delete_calendarevent";
|
||||
String ACTION_SEND_CONFIGURATION = PREFIX + ".action.send_configuration";
|
||||
String ACTION_READ_CONFIGURATION = PREFIX + ".action.read_configuration";
|
||||
String ACTION_SEND_WEATHER = PREFIX + ".action.send_weather";
|
||||
String ACTION_TEST_NEW_FUNCTION = PREFIX + ".action.test_new_function";
|
||||
String ACTION_SET_FM_FREQUENCY = PREFIX + ".action.set_fm_frequency";
|
||||
|
@ -46,7 +46,7 @@ public enum DeviceType {
|
||||
NO1F1(50, R.drawable.ic_device_hplus, R.drawable.ic_device_hplus_disabled, R.string.devicetype_no1_f1),
|
||||
TECLASTH30(60, R.drawable.ic_device_h30_h10, R.drawable.ic_device_h30_h10_disabled, R.string.devicetype_teclast_h30),
|
||||
XWATCH(70, R.drawable.ic_device_default, R.drawable.ic_device_default_disabled, R.string.devicetype_xwatch),
|
||||
ZETIME(80, R.drawable.ic_device_default, R.drawable.ic_device_default_disabled, R.string.devicetype_mykronoz_zetime),
|
||||
ZETIME(80, R.drawable.ic_device_zetime, R.drawable.ic_device_zetime_disabled, R.string.devicetype_mykronoz_zetime),
|
||||
ID115(90, R.drawable.ic_device_h30_h10, R.drawable.ic_device_h30_h10_disabled, R.string.devicetype_id115),
|
||||
WATCH9(100, R.drawable.ic_device_default, R.drawable.ic_device_default_disabled, R.string.devicetype_watch9),
|
||||
ROIDMI(110, R.drawable.ic_device_roidmi, R.drawable.ic_device_roidmi_disabled, R.string.devicetype_roidmi),
|
||||
|
@ -601,7 +601,7 @@ public class Weather {
|
||||
}
|
||||
}
|
||||
|
||||
public static byte mapToZeTimeCondition(int openWeatherMapCondition) {
|
||||
public static byte mapToZeTimeConditionOld(int openWeatherMapCondition) {
|
||||
/* deducted values:
|
||||
0 = partly cloudy
|
||||
1 = cloudy
|
||||
@ -710,4 +710,174 @@ public class Weather {
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
|
||||
public static byte mapToZeTimeCondition(int openWeatherMapCondition) {
|
||||
/* deducted values:
|
||||
0 = tornado
|
||||
1 = typhoon
|
||||
2 = hurricane
|
||||
3 = thunderstorm
|
||||
4 = rain and snow
|
||||
5 = unavailable
|
||||
6 = freezing rain
|
||||
7 = drizzle
|
||||
8 = showers
|
||||
9 = snow flurries
|
||||
10 = blowing snow
|
||||
11 = snow
|
||||
12 = sleet
|
||||
13 = foggy
|
||||
14 = windy
|
||||
15 = cloudy
|
||||
16 = partly cloudy (night)
|
||||
17 = partly cloudy (day)
|
||||
18 = clear night
|
||||
19 = sunny
|
||||
20 = thundershower
|
||||
21 = hot
|
||||
22 = scattered thunders
|
||||
23 = snow showers
|
||||
24 = heavy snow
|
||||
*/
|
||||
switch (openWeatherMapCondition) {
|
||||
//Group 2xx: Thunderstorm
|
||||
case 210: //light thunderstorm:: //11d
|
||||
return 22;
|
||||
|
||||
//Group 2xx: Thunderstorm
|
||||
case 200: //thunderstorm with light rain: //11d
|
||||
case 201: //thunderstorm with rain: //11d
|
||||
case 202: //thunderstorm with heavy rain: //11d
|
||||
case 230: //thunderstorm with light drizzle: //11d
|
||||
case 231: //thunderstorm with drizzle: //11d
|
||||
case 232: //thunderstorm with heavy drizzle: //11d
|
||||
return 20;
|
||||
|
||||
//Group 2xx: Thunderstorm
|
||||
case 211: //thunderstorm: //11d
|
||||
case 212: //heavy thunderstorm: //11d
|
||||
case 221: //ragged thunderstorm: //11d
|
||||
return 3;
|
||||
|
||||
//Group 7xx: Atmosphere
|
||||
case 781: //tornado: //[[file:50d.png]]
|
||||
//Group 90x: Extreme
|
||||
case 900: //tornado
|
||||
return 0;
|
||||
|
||||
//Group 90x: Extreme
|
||||
case 901: //tropical storm
|
||||
return 1;
|
||||
|
||||
// Group 7xx: Atmosphere
|
||||
case 771: //squalls: //[[file:50d.png]]
|
||||
//Group 9xx: Additional
|
||||
case 960: //storm
|
||||
case 961: //violent storm
|
||||
case 902: //hurricane
|
||||
case 962: //hurricane
|
||||
return 2;
|
||||
|
||||
//Group 3xx: Drizzle
|
||||
case 300: //light intensity drizzle: //09d
|
||||
case 301: //drizzle: //09d
|
||||
case 302: //heavy intensity drizzle: //09d
|
||||
case 310: //light intensity drizzle rain: //09d
|
||||
case 311: //drizzle rain: //09d
|
||||
case 312: //heavy intensity drizzle rain: //09d
|
||||
case 313: //shower rain and drizzle: //09d
|
||||
case 314: //heavy shower rain and drizzle: //09d
|
||||
case 321: //shower drizzle: //09d
|
||||
return 7;
|
||||
|
||||
//Group 5xx: Rain
|
||||
case 500: //light rain: //10d
|
||||
case 501: //moderate rain: //10d
|
||||
case 502: //heavy intensity rain: //10d
|
||||
case 503: //very heavy rain: //10d
|
||||
case 504: //extreme rain: //10d
|
||||
case 520: //light intensity shower rain: //09d
|
||||
case 521: //shower rain: //09d
|
||||
case 522: //heavy intensity shower rain: //09d
|
||||
case 531: //ragged shower rain: //09d
|
||||
//Group 90x: Extreme
|
||||
case 906: //hail
|
||||
return 8;
|
||||
|
||||
//Group 5xx: Rain
|
||||
case 511: //freezing rain: //13d
|
||||
return 6;
|
||||
|
||||
//Group 6xx: Snow
|
||||
case 620: //light shower snow: //[[file:13d.png]]
|
||||
case 621: //shower snow: //[[file:13d.png]]
|
||||
case 622: //heavy shower snow: //[[file:13d.png]]
|
||||
return 23;
|
||||
|
||||
//Group 6xx: Snow
|
||||
case 615: //light rain and snow: //[[file:13d.png]]
|
||||
case 616: //rain and snow: //[[file:13d.png]]
|
||||
return 4;
|
||||
|
||||
//Group 6xx: Snow
|
||||
case 611: //sleet: //[[file:13d.png]]
|
||||
case 612: //shower sleet: //[[file:13d.png]]
|
||||
return 12;
|
||||
|
||||
//Group 6xx: Snow
|
||||
case 600: //light snow: //[[file:13d.png]]
|
||||
case 601: //snow: //[[file:13d.png]]
|
||||
return 11;
|
||||
//Group 6xx: Snow
|
||||
case 602: //heavy snow: //[[file:13d.png]]
|
||||
return 24;
|
||||
|
||||
//Group 7xx: Atmosphere
|
||||
case 701: //mist: //[[file:50d.png]]
|
||||
case 711: //smoke: //[[file:50d.png]]
|
||||
case 721: //haze: //[[file:50d.png]]
|
||||
case 731: //sandcase dust whirls: //[[file:50d.png]]
|
||||
case 741: //fog: //[[file:50d.png]]
|
||||
case 751: //sand: //[[file:50d.png]]
|
||||
case 761: //dust: //[[file:50d.png]]
|
||||
case 762: //volcanic ash: //[[file:50d.png]]
|
||||
return 13;
|
||||
|
||||
//Group 800: Clear
|
||||
case 800: //clear sky: //[[file:01d.png]] [[file:01n.png]]
|
||||
return 19;
|
||||
|
||||
//Group 90x: Extreme
|
||||
case 904: //hot
|
||||
return 21;
|
||||
|
||||
//Group 80x: Clouds
|
||||
case 801: //few clouds: //[[file:02d.png]] [[file:02n.png]]
|
||||
case 802: //scattered clouds: //[[file:03d.png]] [[file:03d.png]]
|
||||
case 803: //broken clouds: //[[file:04d.png]] [[file:03d.png]]
|
||||
return 17;
|
||||
|
||||
//Group 80x: Clouds
|
||||
case 804: //overcast clouds: //[[file:04d.png]] [[file:04d.png]]
|
||||
return 15;
|
||||
|
||||
//Group 9xx: Additional
|
||||
case 905: //windy
|
||||
case 951: //calm
|
||||
case 952: //light breeze
|
||||
case 953: //gentle breeze
|
||||
case 954: //moderate breeze
|
||||
case 955: //fresh breeze
|
||||
case 956: //strong breeze
|
||||
case 957: //high windcase near gale
|
||||
case 958: //gale
|
||||
case 959: //severe gale
|
||||
return 14;
|
||||
|
||||
default:
|
||||
//Group 90x: Extreme
|
||||
case 903: //cold
|
||||
return 5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -100,6 +100,7 @@ import static nodomain.freeyourgadget.gadgetbridge.model.DeviceService.ACTION_RE
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.DeviceService.ACTION_REQUEST_SCREENSHOT;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.DeviceService.ACTION_RESET;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.DeviceService.ACTION_SEND_CONFIGURATION;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.DeviceService.ACTION_READ_CONFIGURATION;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.DeviceService.ACTION_SEND_WEATHER;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.DeviceService.ACTION_SETCANNEDMESSAGES;
|
||||
import static nodomain.freeyourgadget.gadgetbridge.model.DeviceService.ACTION_SETMUSICINFO;
|
||||
@ -576,6 +577,11 @@ public class DeviceCommunicationService extends Service implements SharedPrefere
|
||||
mDeviceSupport.onSendConfiguration(config);
|
||||
break;
|
||||
}
|
||||
case ACTION_READ_CONFIGURATION: {
|
||||
String config = intent.getStringExtra(EXTRA_CONFIG);
|
||||
mDeviceSupport.onReadConfiguration(config);
|
||||
break;
|
||||
}
|
||||
case ACTION_TEST_NEW_FUNCTION: {
|
||||
mDeviceSupport.onTestNewFunction();
|
||||
break;
|
||||
|
@ -359,6 +359,14 @@ public class ServiceDeviceSupport implements DeviceSupport {
|
||||
delegate.onSendConfiguration(config);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReadConfiguration(String config) {
|
||||
if (checkBusy("read configuration: " + config)) {
|
||||
return;
|
||||
}
|
||||
delegate.onReadConfiguration(config);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTestNewFunction() {
|
||||
if (checkBusy("test new function event")) {
|
||||
|
@ -767,6 +767,11 @@ public class CasioGB6900DeviceSupport extends AbstractBTLEDeviceSupport {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReadConfiguration(String config) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTestNewFunction() {
|
||||
|
||||
|
@ -643,6 +643,11 @@ public class HPlusSupport extends AbstractBTLEDeviceSupport {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReadConfiguration(String config) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTestNewFunction() {
|
||||
LOG.info("Test New Function");
|
||||
|
@ -1550,6 +1550,11 @@ public class HuamiSupport extends AbstractBTLEDeviceSupport {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReadConfiguration(String config) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTestNewFunction() {
|
||||
try {
|
||||
|
@ -248,6 +248,11 @@ public class ID115Support extends AbstractBTLEDeviceSupport {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReadConfiguration(String config) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTestNewFunction() {
|
||||
|
||||
|
@ -450,6 +450,11 @@ public class TeclastH30Support extends AbstractBTLEDeviceSupport {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReadConfiguration(String config) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTestNewFunction() {
|
||||
|
||||
|
@ -124,4 +124,9 @@ public class LiveviewSupport extends AbstractSerialDeviceSupport {
|
||||
public void onTestNewFunction() {
|
||||
//nothing to do ATM
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReadConfiguration(String config) {
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1255,6 +1255,11 @@ public class MiBandSupport extends AbstractBTLEDeviceSupport {
|
||||
// nothing yet
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReadConfiguration(String config) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTestNewFunction() {
|
||||
try {
|
||||
|
@ -374,6 +374,11 @@ public class No1F1Support extends AbstractBTLEDeviceSupport {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReadConfiguration(String config) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTestNewFunction() {
|
||||
|
||||
|
@ -238,6 +238,11 @@ public class PebbleSupport extends AbstractSerialDeviceSupport {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReadConfiguration(String config) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTestNewFunction() {
|
||||
if (reconnect()) {
|
||||
|
@ -124,6 +124,11 @@ public class RoidmiSupport extends AbstractSerialDeviceSupport {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReadConfiguration(String config) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected GBDeviceIoThread createDeviceIOThread() {
|
||||
return new RoidmiIoThread(getDevice(), getContext(), (RoidmiProtocol) getDeviceProtocol(), RoidmiSupport.this, getBluetoothAdapter());
|
||||
|
@ -284,6 +284,11 @@ public class VibratissimoSupport extends AbstractBTLEDeviceSupport {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReadConfiguration(String config) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTestNewFunction() {
|
||||
|
||||
|
@ -507,6 +507,11 @@ public class Watch9DeviceSupport extends AbstractBTLEDeviceSupport {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReadConfiguration(String config) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTestNewFunction() {
|
||||
|
||||
|
@ -371,6 +371,11 @@ public class XWatchSupport extends AbstractBTLEDeviceSupport {
|
||||
// nothing yet
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReadConfiguration(String config) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTestNewFunction() {
|
||||
//Not supported
|
||||
|
BIN
app/src/main/res/drawable-hdpi/ic_device_zetime.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
app/src/main/res/drawable-hdpi/ic_device_zetime_disabled.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
app/src/main/res/drawable-mdpi/ic_device_zetime.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
app/src/main/res/drawable-mdpi/ic_device_zetime_disabled.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
app/src/main/res/drawable-xhdpi/ic_device_zetime.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
app/src/main/res/drawable-xhdpi/ic_device_zetime_disabled.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
app/src/main/res/drawable-xxhdpi/ic_device_zetime.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
app/src/main/res/drawable-xxhdpi/ic_device_zetime_disabled.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
@ -645,4 +645,14 @@
|
||||
<string name="save_configuration">Konfiguration speichern</string>
|
||||
<string name="appwidget_not_connected">Nicht verbunden, Alarm nicht eingestellt.</string>
|
||||
<string name="prefs_disconnect_notification">Benachichtigung beim Verbindung trennen</string>
|
||||
</resources>
|
||||
|
||||
<string name="activity_prefs_calories_burnt">Tägliches Ziel: verbrannte Kalorien</string>
|
||||
<string name="activity_prefs_distance_meters">Tägliches Ziel: zurückgelegte Strecke in Meter</string>
|
||||
<string name="activity_prefs_activetime_minutes">Tägliches Ziel: aktive Zeit in Minuten</string>
|
||||
|
||||
<!-- ZeTime Preferences -->
|
||||
<string name="zetime_title_settings">ZeTime Einstellungen</string>
|
||||
<string name="zetime_title_screentime">Bildschirm-An-Dauer in Sekunden</string>
|
||||
<string name="activity_prefs_alarm_max_heart_rate">Max Puls Alarm</string>
|
||||
<string name="activity_prefs_alarm_min_heart_rate">Min Puls Alarm</string>
|
||||
</resources>
|
||||
|
@ -159,6 +159,15 @@
|
||||
<item>@string/p_scheduled</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="zetime_do_not_disturb">
|
||||
<item>@string/mi2_dnd_off</item>
|
||||
<item>@string/mi2_dnd_scheduled</item>
|
||||
</string-array>
|
||||
<string-array name="zetime_do_not_disturb_values">
|
||||
<item>@string/p_off</item>
|
||||
<item>@string/p_scheduled</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="activate_display_on_lift">
|
||||
<item>@string/off</item>
|
||||
<item>@string/on</item>
|
||||
@ -406,6 +415,26 @@
|
||||
<item>3600</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="prefs_zetime_heartrate_measurement_interval">
|
||||
<item name="0">@string/off</item>
|
||||
<item name="300">@string/interval_five_minutes</item>
|
||||
<item name="600">@string/interval_ten_minutes</item>
|
||||
<item name="900">@string/interval_fifteen_minutes</item>
|
||||
<item name="1800">@string/interval_thirty_minutes</item>
|
||||
<item name="2700">@string/interval_forty_five_minutes</item>
|
||||
<item name="3600">@string/interval_one_hour</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="prefs_zetime_heartrate_measurement_interval_values">
|
||||
<item>0</item>
|
||||
<item>300</item>
|
||||
<item>600</item>
|
||||
<item>900</item>
|
||||
<item>1800</item>
|
||||
<item>2700</item>
|
||||
<item>3600</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="notifications_timeout">
|
||||
<item>@string/no_limit</item>
|
||||
<item>@string/seconds_5</item>
|
||||
@ -440,4 +469,62 @@
|
||||
<item>@string/filter_submode_all</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Note: ZeTime preferences -->
|
||||
<string-array name="zetime_analog_mode">
|
||||
<item name="0">@string/zetime_analog_mode_hands</item>
|
||||
<item name="1">@string/zetime_analog_mode_handsandsteps</item>
|
||||
</string-array>
|
||||
<string-array name="zetime_analog_mode_values">
|
||||
<item>0</item>
|
||||
<item>1</item>
|
||||
</string-array>
|
||||
<string-array name="zetime_calories_type">
|
||||
<item name="0">@string/zetime_calories_type_active</item>
|
||||
<item name="1">@string/zetime_calories_type_all</item>
|
||||
</string-array>
|
||||
<string-array name="zetime_calories_type_values">
|
||||
<item>0</item>
|
||||
<item>1</item>
|
||||
</string-array>
|
||||
<string-array name="zetime_time_format">
|
||||
<item name="1">@string/zetime_time_format_24h</item>
|
||||
<item name="2">@string/zetime_time_format_12h</item>
|
||||
</string-array>
|
||||
<string-array name="zetime_time_format_values">
|
||||
<item>1</item>
|
||||
<item>2</item>
|
||||
</string-array>
|
||||
<string-array name="zetime_date_format">
|
||||
<item name="1">@string/zetime_date_format_1</item>
|
||||
<item name="2">@string/zetime_date_format_2</item>
|
||||
<item name="3">@string/zetime_date_format_3</item>
|
||||
</string-array>
|
||||
<string-array name="zetime_date_format_values">
|
||||
<item>1</item>
|
||||
<item>2</item>
|
||||
<item>3</item>
|
||||
</string-array>
|
||||
<string-array name="zetime_signaling_types">
|
||||
<item name="2">@string/zetime_signaling_vibrate_once</item>
|
||||
<item name="4">@string/zetime_signaling_vibrate_twice</item>
|
||||
<item name="7">@string/zetime_signaling_vibrate</item>
|
||||
<item name="9">@string/zetime_signaling_beep_once</item>
|
||||
<item name="10">@string/zetime_signaling_beep_twice</item>
|
||||
<item name="11">@string/zetime_signaling_beep</item>
|
||||
<item name="12">@string/zetime_signaling_vibrate_beep_once</item>
|
||||
<item name="13">@string/zetime_signaling_vibrate_beep</item>
|
||||
<item name="14">@string/zetime_signaling_none</item>
|
||||
</string-array>
|
||||
<string-array name="zetime_signaling_types_values">
|
||||
<item>2</item>
|
||||
<item>4</item>
|
||||
<item>7</item>
|
||||
<item>9</item>
|
||||
<item>10</item>
|
||||
<item>11</item>
|
||||
<item>12</item>
|
||||
<item>13</item>
|
||||
<item>14</item>
|
||||
</string-array>
|
||||
|
||||
</resources>
|
||||
|
@ -172,6 +172,52 @@
|
||||
<!-- ID115 Preferences -->
|
||||
<string name="preferences_id115_settings">ID115 settings</string>
|
||||
<string name="prefs_screen_orientation">Screen orientation</string>
|
||||
|
||||
<!-- ZeTime Preferences -->
|
||||
<string name="zetime_title_settings">ZeTime settings</string>
|
||||
<string name="zetime_title_heartrate">Heart rate settings</string>
|
||||
<string name="zetime_title_screentime">Screen on duration in seconds</string>
|
||||
<string name="zetime_title_heart_rate_alarm">Heart rate alarm</string>
|
||||
<string name="zetime_title_heart_rate_alarm_summary">The watch will warn you when your heart rate exceeds the limits.</string>
|
||||
<string name="zetime_heart_rate_alarm_enable">Enable the heart rate alarm</string>
|
||||
<string name="activity_prefs_alarm_max_heart_rate">Max heart rate</string>
|
||||
<string name="activity_prefs_alarm_min_heart_rate">Min heart rate</string>
|
||||
<string name="zetime_analog_mode">Analog mode</string>
|
||||
<string name="zetime_analog_mode_hands">Only hands</string>
|
||||
<string name="zetime_analog_mode_handsandsteps">Hands and steps</string>
|
||||
<string name="zetime_activity_tracking">Activity tracking</string>
|
||||
<string name="zetime_activity_tracking_summary">Switching the activity tracking on, will count your steps and so on.</string>
|
||||
<string name="zetime_handmove_display">Hand movement</string>
|
||||
<string name="zetime_handmove_display_summary">Rotate your wrist to activate or deactivate the display.</string>
|
||||
<string name="zetime_calories_type">Calories type</string>
|
||||
<string name="zetime_calories_type_active">Only active burnt calories</string>
|
||||
<string name="zetime_calories_type_all">Active and inactive burnt calories</string>
|
||||
<string name="zetime_time_format">Time format</string>
|
||||
<string name="zetime_time_format_24h">24h</string>
|
||||
<string name="zetime_time_format_12h">12h</string>
|
||||
<string name="zetime_date_format">Date format</string>
|
||||
<string name="zetime_date_format_1">YY/MM/DD</string>
|
||||
<string name="zetime_date_format_2">DD/MM/YY</string>
|
||||
<string name="zetime_date_format_3">MM/DD/YY</string>
|
||||
<string name="zetime_prefs_inactivity_repetitions">Repetitions</string>
|
||||
<string name="zetime_prefs_inactivity_mo">Monday</string>
|
||||
<string name="zetime_prefs_inactivity_tu">Tuesday</string>
|
||||
<string name="zetime_prefs_inactivity_we">Wednesday</string>
|
||||
<string name="zetime_prefs_inactivity_th">Thursday</string>
|
||||
<string name="zetime_prefs_inactivity_fr">Friday</string>
|
||||
<string name="zetime_prefs_inactivity_sa">Saturday</string>
|
||||
<string name="zetime_prefs_inactivity_su">Sunday</string>
|
||||
<string name="zetime_title_alarm_signaling">Set type of signaling for the alarm</string>
|
||||
<string name="zetime_signaling_none">Silent</string>
|
||||
<string name="zetime_signaling_vibrate">Continuous vibration</string>
|
||||
<string name="zetime_signaling_beep">Continuous beeping</string>
|
||||
<string name="zetime_signaling_vibrate_beep">Continuous vibration and beeping</string>
|
||||
<string name="zetime_signaling_vibrate_once">Vibrate once</string>
|
||||
<string name="zetime_signaling_vibrate_twice">Vibrate twice</string>
|
||||
<string name="zetime_signaling_beep_once">Beep once</string>
|
||||
<string name="zetime_signaling_beep_twice">Beep twice</string>
|
||||
<string name="zetime_signaling_vibrate_beep_once">Vibrate and beep once</string>
|
||||
|
||||
<!-- Auto export preferences -->
|
||||
<string name="pref_header_auto_export">Auto export</string>
|
||||
<string name="pref_title_auto_export_enabled">Auto export enabled</string>
|
||||
@ -264,14 +310,22 @@
|
||||
<string name="pref_screen_notification_profile_generic">Generic notification</string>
|
||||
<string name="pref_screen_notification_profile_email">E-mail notification</string>
|
||||
<string name="pref_screen_notification_profile_incoming_call">Incoming call notification</string>
|
||||
<string name="pref_screen_notification_profile_missed_call">Missed call notification</string>
|
||||
<string name="pref_screen_notification_profile_generic_chat">Chat</string>
|
||||
<string name="pref_screen_notification_profile_generic_navigation">Navigation</string>
|
||||
<string name="pref_screen_notification_profile_generic_social">Social network</string>
|
||||
<string name="pref_screen_notification_profile_calendar">Calendar notification</string>
|
||||
<string name="pref_screen_notification_profile_inactivity">Inactivity notification</string>
|
||||
<string name="pref_screen_notification_profile_low_power">Low power warning</string>
|
||||
<string name="pref_screen_notification_profile_anti_loss">Anti-loss warning</string>
|
||||
|
||||
<string name="prefs_title_heartrate_measurement_interval">Whole day HR measurement</string>
|
||||
<string name="interval_one_minute">once a minute</string>
|
||||
<string name="interval_five_minutes">every 5 minutes</string>
|
||||
<string name="interval_ten_minutes">every 10 minutes</string>
|
||||
<string name="interval_fifteen_minutes">every 15 minutes</string>
|
||||
<string name="interval_thirty_minutes">every 30 minutes</string>
|
||||
<string name="interval_forty_five_minutes">every 45 minutes</string>
|
||||
<string name="interval_one_hour">once an hour</string>
|
||||
<string name="stats_title">Speed zones</string>
|
||||
<string name="stats_x_axis_label">Total minutes</string>
|
||||
@ -449,6 +503,11 @@
|
||||
<string name="updatefirmwareoperation_firmware_not_sent">Firmware not sent</string>
|
||||
<string name="charts_legend_heartrate">Heart rate</string>
|
||||
<string name="live_activity_heart_rate">Heart rate</string>
|
||||
|
||||
<string name="activity_prefs_calories_burnt">Daily target: calories burnt</string>
|
||||
<string name="activity_prefs_distance_meters">Daily target: distance in meters</string>
|
||||
<string name="activity_prefs_activetime_minutes">Daily target: active time in minutes</string>
|
||||
|
||||
<string name="pref_title_pebble_health_store_raw">Store raw record in the database</string>
|
||||
<string name="pref_summary_pebble_health_store_raw">Stores the data \"as is\", increasing the database usage to allow for later interpretation.</string>
|
||||
<string name="action_db_management">Database management</string>
|
||||
@ -616,4 +675,4 @@
|
||||
<string name="mode_configuration">Mode Configuration</string>
|
||||
<string name="save_configuration">Save Configuration</string>
|
||||
<string name="appwidget_not_connected">Not connected, alarm not set.</string>
|
||||
</resources>
|
||||
</resources>
|
||||
|
@ -135,6 +135,27 @@
|
||||
android:key="activity_user_sleep_duration"
|
||||
android:maxLength="2"
|
||||
android:title="@string/activity_prefs_sleep_duration" />
|
||||
|
||||
<EditTextPreference
|
||||
android:defaultValue="2000"
|
||||
android:inputType="number"
|
||||
android:key="activity_user_calories_burnt"
|
||||
android:maxLength="4"
|
||||
android:title="@string/activity_prefs_calories_burnt" />
|
||||
|
||||
<EditTextPreference
|
||||
android:defaultValue="5"
|
||||
android:inputType="number"
|
||||
android:key="activity_user_distance_meters"
|
||||
android:maxLength="5"
|
||||
android:title="@string/activity_prefs_distance_meters" />
|
||||
|
||||
<EditTextPreference
|
||||
android:defaultValue="60"
|
||||
android:inputType="number"
|
||||
android:key="activity_user_activetime_minutes"
|
||||
android:maxLength="3"
|
||||
android:title="@string/activity_prefs_activetime_minutes" />
|
||||
</PreferenceScreen>
|
||||
<PreferenceScreen
|
||||
android:key="pref_charts"
|
||||
@ -732,6 +753,10 @@
|
||||
android:summary="%s" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
<Preference
|
||||
android:icon="@drawable/ic_device_zetime"
|
||||
android:key="pref_key_zetime"
|
||||
android:title="@string/zetime_title_settings"/>
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
|
453
app/src/main/res/xml/zetime_preferences.xml
Normal file
@ -0,0 +1,453 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<PreferenceCategory
|
||||
android:key="pref_category_zetime_general"
|
||||
android:title="@string/pref_header_general">
|
||||
|
||||
<ListPreference
|
||||
android:defaultValue="left"
|
||||
android:entries="@array/wearside"
|
||||
android:entryValues="@array/wearside_values"
|
||||
android:key="zetime_wrist"
|
||||
android:title="@string/miband_prefs_wearside"
|
||||
android:summary="%s" />
|
||||
<EditTextPreference
|
||||
android:inputType="number"
|
||||
android:maxLength="5"
|
||||
android:defaultValue="30"
|
||||
android:key="zetime_screentime"
|
||||
android:title="@string/zetime_title_screentime"/>
|
||||
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="zetime_activity_tracking"
|
||||
android:title="@string/zetime_activity_tracking"
|
||||
android:summary="@string/zetime_activity_tracking_summary" />
|
||||
|
||||
<PreferenceScreen
|
||||
android:key="zetime_inactivity_warning_key"
|
||||
android:summary="@string/mi2_prefs_inactivity_warnings_summary"
|
||||
android:title="@string/mi2_prefs_inactivity_warnings"
|
||||
android:persistent="false">
|
||||
|
||||
<!-- workaround for missing toolbar -->
|
||||
<PreferenceCategory
|
||||
android:title="@string/mi2_prefs_inactivity_warnings"
|
||||
/>
|
||||
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="zetime_inactivity_warnings"
|
||||
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:inputType="numberSigned"
|
||||
android:key="zetime_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: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: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">
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="zetime_prefs_inactivity_repetitions_mo"
|
||||
android:title="@string/zetime_prefs_inactivity_mo" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="zetime_prefs_inactivity_repetitions_tu"
|
||||
android:title="@string/zetime_prefs_inactivity_tu" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="zetime_prefs_inactivity_repetitions_we"
|
||||
android:title="@string/zetime_prefs_inactivity_we" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="zetime_prefs_inactivity_repetitions_th"
|
||||
android:title="@string/zetime_prefs_inactivity_th" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="zetime_prefs_inactivity_repetitions_fr"
|
||||
android:title="@string/zetime_prefs_inactivity_fr" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="zetime_prefs_inactivity_repetitions_sa"
|
||||
android:title="@string/zetime_prefs_inactivity_sa" />
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="zetime_prefs_inactivity_repetitions_su"
|
||||
android:title="@string/zetime_prefs_inactivity_su" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
|
||||
<ListPreference
|
||||
android:defaultValue="0"
|
||||
android:entries="@array/zetime_calories_type"
|
||||
android:entryValues="@array/zetime_calories_type_values"
|
||||
android:key="zetime_calories_type"
|
||||
android:title="@string/zetime_calories_type"
|
||||
android:summary="%s" />
|
||||
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="zetime_handmove_display"
|
||||
android:title="@string/zetime_handmove_display"
|
||||
android:summary="@string/zetime_handmove_display_summary" />
|
||||
|
||||
<ListPreference
|
||||
android:defaultValue="0"
|
||||
android:entries="@array/zetime_analog_mode"
|
||||
android:entryValues="@array/zetime_analog_mode_values"
|
||||
android:key="zetime_analog_mode"
|
||||
android:title="@string/zetime_analog_mode"
|
||||
android:summary="%s" />
|
||||
|
||||
<ListPreference
|
||||
android:defaultValue="1"
|
||||
android:entries="@array/zetime_time_format"
|
||||
android:entryValues="@array/zetime_time_format_values"
|
||||
android:key="zetime_time_format"
|
||||
android:title="@string/zetime_time_format"
|
||||
android:summary="%s" />
|
||||
|
||||
<ListPreference
|
||||
android:defaultValue="2"
|
||||
android:entries="@array/zetime_date_format"
|
||||
android:entryValues="@array/zetime_date_format_values"
|
||||
android:key="zetime_date_format"
|
||||
android:title="@string/zetime_date_format"
|
||||
android:summary="%s" />
|
||||
|
||||
<CheckBoxPreference
|
||||
android:key="zetime_dont_del_actdata"
|
||||
android:title="@string/pref_title_keep_data_on_device"
|
||||
android:summary="@string/pref_summary_keep_data_on_device"
|
||||
android:defaultValue="true" />
|
||||
|
||||
<PreferenceScreen
|
||||
android:key="zetime_do_not_disturb_key"
|
||||
android:title="@string/mi2_prefs_do_not_disturb"
|
||||
android:persistent="false"
|
||||
android:summary="@string/mi2_prefs_do_not_disturb_summary">
|
||||
|
||||
<!-- workaround for missing toolbar -->
|
||||
<PreferenceCategory
|
||||
android:title="@string/mi2_prefs_do_not_disturb"
|
||||
/>
|
||||
|
||||
<ListPreference
|
||||
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: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: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:title="@string/mi2_prefs_do_not_disturb_end" />
|
||||
|
||||
</PreferenceScreen>
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory
|
||||
android:key="pref_category_zetime_heartrate"
|
||||
android:title="@string/zetime_title_heartrate">
|
||||
<ListPreference
|
||||
android:defaultValue="0"
|
||||
android:entries="@array/prefs_zetime_heartrate_measurement_interval"
|
||||
android:entryValues="@array/prefs_zetime_heartrate_measurement_interval_values"
|
||||
android:key="heartrate_measurement_interval"
|
||||
android:summary="%s"
|
||||
android:title="@string/prefs_title_heartrate_measurement_interval" />
|
||||
<PreferenceScreen
|
||||
android:key="zetime_heartrate_alarm_key"
|
||||
android:summary="@string/zetime_title_heart_rate_alarm_summary"
|
||||
android:title="@string/zetime_title_heart_rate_alarm"
|
||||
android:persistent="false">
|
||||
|
||||
<!-- workaround for missing toolbar -->
|
||||
<PreferenceCategory
|
||||
android:title="@string/zetime_title_heart_rate_alarm"
|
||||
/>
|
||||
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="zetime_heartrate_alarm_enable"
|
||||
android:summary="@string/zetime_title_heart_rate_alarm_summary"
|
||||
android:title="@string/zetime_heart_rate_alarm_enable" />
|
||||
|
||||
<EditTextPreference
|
||||
android:inputType="number"
|
||||
android:dependency="zetime_heartrate_alarm_enable"
|
||||
android:key="alarm_max_heart_rate"
|
||||
android:maxLength="3"
|
||||
android:defaultValue="180"
|
||||
android:title="@string/activity_prefs_alarm_max_heart_rate" />
|
||||
|
||||
<EditTextPreference
|
||||
android:inputType="number"
|
||||
android:dependency="zetime_heartrate_alarm_enable"
|
||||
android:key="alarm_min_heart_rate"
|
||||
android:maxLength="3"
|
||||
android:defaultValue="60"
|
||||
android:title="@string/activity_prefs_alarm_min_heart_rate" />
|
||||
</PreferenceScreen>
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
android:key="pref_category_miband_notification"
|
||||
android:title="@string/pref_header_vibration_settings">
|
||||
|
||||
<PreferenceScreen
|
||||
android:key="vibration_profile_key"
|
||||
android:title="@string/pref_screen_notification_profile_sms"
|
||||
android:persistent="false">
|
||||
|
||||
<!-- workaround for missing toolbar -->
|
||||
<PreferenceCategory
|
||||
android:title="@string/pref_screen_notification_profile_sms"
|
||||
/>
|
||||
|
||||
<ListPreference
|
||||
android:defaultValue="2"
|
||||
android:entries="@array/zetime_signaling_types"
|
||||
android:entryValues="@array/zetime_signaling_types_values"
|
||||
android:key="zetime_vibration_profile_sms"
|
||||
android:title="@string/miband_prefs_vibration"
|
||||
android:summary="%s" />
|
||||
|
||||
<Preference
|
||||
android:key="zetime_try_generic_sms"
|
||||
android:persistent="false"
|
||||
android:title="@string/vibration_try"/>
|
||||
</PreferenceScreen>
|
||||
|
||||
<PreferenceScreen
|
||||
android:key="vibration_profile_key"
|
||||
android:title="@string/pref_screen_notification_profile_incoming_call"
|
||||
android:persistent="false">
|
||||
|
||||
<!-- workaround for missing toolbar -->
|
||||
<PreferenceCategory
|
||||
android:title="@string/pref_screen_notification_profile_incoming_call"
|
||||
/>
|
||||
|
||||
<ListPreference
|
||||
android:defaultValue="13"
|
||||
android:entries="@array/zetime_signaling_types"
|
||||
android:entryValues="@array/zetime_signaling_types_values"
|
||||
android:key="zetime_vibration_profile_incoming_call"
|
||||
android:title="@string/miband_prefs_vibration"
|
||||
android:summary="%s" />
|
||||
</PreferenceScreen>
|
||||
|
||||
<PreferenceScreen
|
||||
android:key="vibration_profile_key"
|
||||
android:title="@string/pref_screen_notification_profile_missed_call"
|
||||
android:persistent="false">
|
||||
|
||||
<!-- workaround for missing toolbar -->
|
||||
<PreferenceCategory
|
||||
android:title="@string/pref_screen_notification_profile_missed_call"
|
||||
/>
|
||||
|
||||
<ListPreference
|
||||
android:defaultValue="12"
|
||||
android:entries="@array/zetime_signaling_types"
|
||||
android:entryValues="@array/zetime_signaling_types_values"
|
||||
android:key="zetime_vibration_profile_missed_call"
|
||||
android:title="@string/miband_prefs_vibration"
|
||||
android:summary="%s" />
|
||||
</PreferenceScreen>
|
||||
|
||||
<PreferenceScreen
|
||||
android:key="vibration_profile_key"
|
||||
android:title="@string/pref_screen_notification_profile_email"
|
||||
android:persistent="false">
|
||||
|
||||
<!-- workaround for missing toolbar -->
|
||||
<PreferenceCategory
|
||||
android:title="@string/pref_screen_notification_profile_email"
|
||||
/>
|
||||
|
||||
<ListPreference
|
||||
android:defaultValue="12"
|
||||
android:entries="@array/zetime_signaling_types"
|
||||
android:entryValues="@array/zetime_signaling_types_values"
|
||||
android:key="zetime_vibration_profile_generic_email"
|
||||
android:title="@string/miband_prefs_vibration"
|
||||
android:summary="%s" />
|
||||
|
||||
<Preference
|
||||
android:key="zetime_try_generic_email"
|
||||
android:persistent="false"
|
||||
android:title="@string/vibration_try"/>
|
||||
</PreferenceScreen>
|
||||
|
||||
<PreferenceScreen
|
||||
android:key="vibration_profile_key"
|
||||
android:title="@string/pref_screen_notification_profile_generic_social"
|
||||
android:persistent="false">
|
||||
|
||||
<!-- workaround for missing toolbar -->
|
||||
<PreferenceCategory
|
||||
android:title="@string/pref_screen_notification_profile_generic_social"
|
||||
/>
|
||||
|
||||
<ListPreference
|
||||
android:defaultValue="12"
|
||||
android:entries="@array/zetime_signaling_types"
|
||||
android:entryValues="@array/zetime_signaling_types_values"
|
||||
android:key="zetime_vibration_profile_generic_social"
|
||||
android:title="@string/miband_prefs_vibration"
|
||||
android:summary="%s" />
|
||||
|
||||
<Preference
|
||||
android:key="zetime_try_generic_social"
|
||||
android:persistent="false"
|
||||
android:title="@string/vibration_try"/>
|
||||
</PreferenceScreen>
|
||||
|
||||
<PreferenceScreen
|
||||
android:key="vibration_profile_key"
|
||||
android:title="@string/pref_screen_notification_profile_alarm_clock"
|
||||
android:persistent="false">
|
||||
|
||||
<!-- workaround for missing toolbar -->
|
||||
<PreferenceCategory
|
||||
android:title="@string/pref_screen_notification_profile_alarm_clock"
|
||||
/>
|
||||
|
||||
<ListPreference
|
||||
android:defaultValue="11"
|
||||
android:entries="@array/zetime_signaling_types"
|
||||
android:entryValues="@array/zetime_signaling_types_values"
|
||||
android:key="zetime_alarm_signaling"
|
||||
android:title="@string/miband_prefs_vibration"
|
||||
android:summary="%s" />
|
||||
|
||||
<Preference
|
||||
android:key="zetime_try_generic_alarm_clock"
|
||||
android:persistent="false"
|
||||
android:title="@string/vibration_try"/>
|
||||
</PreferenceScreen>
|
||||
|
||||
<PreferenceScreen
|
||||
android:key="vibration_profile_key"
|
||||
android:title="@string/pref_screen_notification_profile_calendar"
|
||||
android:persistent="false">
|
||||
|
||||
<!-- workaround for missing toolbar -->
|
||||
<PreferenceCategory
|
||||
android:title="@string/pref_screen_notification_profile_calendar"
|
||||
/>
|
||||
|
||||
<ListPreference
|
||||
android:defaultValue="12"
|
||||
android:entries="@array/zetime_signaling_types"
|
||||
android:entryValues="@array/zetime_signaling_types_values"
|
||||
android:key="zetime_vibration_profile_calendar"
|
||||
android:title="@string/miband_prefs_vibration"
|
||||
android:summary="%s" />
|
||||
|
||||
<Preference
|
||||
android:key="zetime_try_calendar"
|
||||
android:persistent="false"
|
||||
android:title="@string/vibration_try"/>
|
||||
</PreferenceScreen>
|
||||
|
||||
<PreferenceScreen
|
||||
android:key="vibration_profile_key"
|
||||
android:title="@string/pref_screen_notification_profile_inactivity"
|
||||
android:persistent="false">
|
||||
|
||||
<!-- workaround for missing toolbar -->
|
||||
<PreferenceCategory
|
||||
android:title="@string/pref_screen_notification_profile_inactivity"
|
||||
/>
|
||||
|
||||
<ListPreference
|
||||
android:defaultValue="12"
|
||||
android:entries="@array/zetime_signaling_types"
|
||||
android:entryValues="@array/zetime_signaling_types_values"
|
||||
android:key="zetime_vibration_profile_inactivity"
|
||||
android:title="@string/miband_prefs_vibration"
|
||||
android:summary="%s" />
|
||||
|
||||
<Preference
|
||||
android:key="zetime_try_inactivity"
|
||||
android:persistent="false"
|
||||
android:title="@string/vibration_try"/>
|
||||
</PreferenceScreen>
|
||||
|
||||
<PreferenceScreen
|
||||
android:key="vibration_profile_key"
|
||||
android:title="@string/pref_screen_notification_profile_low_power"
|
||||
android:persistent="false">
|
||||
|
||||
<!-- workaround for missing toolbar -->
|
||||
<PreferenceCategory
|
||||
android:title="@string/pref_screen_notification_profile_low_power"
|
||||
/>
|
||||
|
||||
<ListPreference
|
||||
android:defaultValue="4"
|
||||
android:entries="@array/zetime_signaling_types"
|
||||
android:entryValues="@array/zetime_signaling_types_values"
|
||||
android:key="zetime_vibration_profile_lowpower"
|
||||
android:title="@string/miband_prefs_vibration"
|
||||
android:summary="%s" />
|
||||
|
||||
<Preference
|
||||
android:key="zetime_try_lowpower"
|
||||
android:persistent="false"
|
||||
android:title="@string/vibration_try"/>
|
||||
</PreferenceScreen>
|
||||
|
||||
<PreferenceScreen
|
||||
android:key="vibration_profile_key"
|
||||
android:title="@string/pref_screen_notification_profile_anti_loss"
|
||||
android:persistent="false">
|
||||
|
||||
<!-- workaround for missing toolbar -->
|
||||
<PreferenceCategory
|
||||
android:title="@string/pref_screen_notification_profile_anti_loss"
|
||||
/>
|
||||
|
||||
<ListPreference
|
||||
android:defaultValue="13"
|
||||
android:entries="@array/zetime_signaling_types"
|
||||
android:entryValues="@array/zetime_signaling_types_values"
|
||||
android:key="zetime_vibration_profile_antiloss"
|
||||
android:title="@string/miband_prefs_vibration"
|
||||
android:summary="%s" />
|
||||
|
||||
<Preference
|
||||
android:key="zetime_try_antiloss"
|
||||
android:persistent="false"
|
||||
android:title="@string/vibration_try"/>
|
||||
</PreferenceScreen>
|
||||
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
@ -179,6 +179,11 @@ class TestDeviceSupport extends AbstractDeviceSupport {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReadConfiguration(String config) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTestNewFunction() {
|
||||
|
||||
|