mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2026-07-31 07:44:24 +02:00
Fossil Q: Move subdial notifications to preferences
This commit is contained in:
committed by
Arjan Schrijver
parent
3b437df4ab
commit
a149a48e95
-29
@@ -325,34 +325,6 @@ public class QHybridConfigActivity extends AbstractGBActivity {
|
||||
runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
final String extendedVibrationSupport = getDeviceInfoDetails(QHybridSupport.ITEM_EXTENDED_VIBRATION_SUPPORT);
|
||||
CheckBox activityHandCheckbox = findViewById(R.id.checkBoxUserActivityHand);
|
||||
if (getDeviceInfoDetails(QHybridSupport.ITEM_HAS_ACTIVITY_HAND).equals("true")) {
|
||||
if (getDeviceInfoDetails(QHybridSupport.ITEM_USE_ACTIVITY_HAND).equals("true")) {
|
||||
activityHandCheckbox.setChecked(true);
|
||||
}
|
||||
activityHandCheckbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(@NonNull CompoundButton buttonView, boolean checked) {
|
||||
new MaterialAlertDialogBuilder(QHybridConfigActivity.this)
|
||||
.setMessage(getString(R.string.qhybrid_prompt_million_steps))
|
||||
.setPositiveButton("ok", null)
|
||||
.show();
|
||||
buttonView.setChecked(false);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
// activityHandCheckbox.setEnabled(false);
|
||||
activityHandCheckbox.setAlpha(0.2f);
|
||||
activityHandCheckbox.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
GB.toast("nah.", Toast.LENGTH_SHORT, GB.INFO);
|
||||
((CheckBox) v).setChecked(false);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
ItemWithDetails item = device.getDeviceInfo(FossilWatchAdapter.ITEM_BUTTONS);
|
||||
String buttonJson = null;
|
||||
if(item != null) {
|
||||
@@ -468,7 +440,6 @@ public class QHybridConfigActivity extends AbstractGBActivity {
|
||||
super.onResume();
|
||||
refreshList();
|
||||
ContextCompat.registerReceiver(this, buttonReceiver, new IntentFilter(QHybridSupport.QHYBRID_EVENT_BUTTON_PRESS), ContextCompat.RECEIVER_NOT_EXPORTED);
|
||||
LocalBroadcastManager.getInstance(this).registerReceiver(settingsReceiver, new IntentFilter(QHybridSupport.QHYBRID_EVENT_SETTINGS_UPDATED));
|
||||
LocalBroadcastManager.getInstance(this).registerReceiver(fileReceiver, new IntentFilter(QHybridSupport.QHYBRID_EVENT_FILE_UPLOADED));
|
||||
}
|
||||
|
||||
|
||||
+1
@@ -267,6 +267,7 @@ public class QHybridCoordinator extends AbstractBLEDeviceCoordinator {
|
||||
// Q Hybrid watches, without eInk screen
|
||||
if (!isHybridHR(device)) {
|
||||
deviceSpecificSettings.addRootScreen(R.xml.devicesettings_fossilqhybrid_legacy);
|
||||
deviceSpecificSettings.addRootScreen(R.xml.devicesettings_qhybrid);
|
||||
deviceSpecificSettings.addRootScreen(R.xml.devicesettings_fossilhybridhr_vibration);
|
||||
// deviceSpecificSettings.addRootScreen(R.xml.devicesettings_fossilhybridhr_calibration); // TODO
|
||||
final List<Integer> developer = deviceSpecificSettings.addRootScreen(DeviceSpecificSettingsScreen.DEVELOPER);
|
||||
|
||||
+3
-1
@@ -21,6 +21,8 @@ public class QHybridSettingsCustomizer implements DeviceSpecificSettingsCustomiz
|
||||
|
||||
@Override
|
||||
public void customizeSettings(final DeviceSpecificSettingsHandler handler, final Prefs prefs, final String rootKey) {
|
||||
handler.addPreferenceHandlerFor("use_activity_hand_as_notification_counter");
|
||||
|
||||
final Preference pref = handler.findPreference("pref_key_qhybrid_legacy");
|
||||
if (pref != null) {
|
||||
pref.setOnPreferenceClickListener(preference -> {
|
||||
@@ -37,7 +39,7 @@ public class QHybridSettingsCustomizer implements DeviceSpecificSettingsCustomiz
|
||||
return Collections.emptySet();
|
||||
}
|
||||
|
||||
public static final Creator<QHybridSettingsCustomizer> CREATOR = new Creator<QHybridSettingsCustomizer>() {
|
||||
public static final Creator<QHybridSettingsCustomizer> CREATOR = new Creator<>() {
|
||||
@Override
|
||||
public QHybridSettingsCustomizer createFromParcel(final Parcel in) {
|
||||
return new QHybridSettingsCustomizer();
|
||||
|
||||
+2
-28
@@ -43,6 +43,7 @@ import java.io.FileOutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.Objects;
|
||||
import java.util.UUID;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
@@ -94,7 +95,6 @@ public class QHybridSupport extends QHybridBaseSupport {
|
||||
public static final String QHYBRID_COMMAND_UPDATE = "qhybrid_command_update";
|
||||
public static final String QHYBRID_COMMAND_UPDATE_TIMEZONE = "qhybrid_command_update_timezone";
|
||||
public static final String QHYBRID_COMMAND_NOTIFICATION = "qhybrid_command_notification";
|
||||
public static final String QHYBRID_COMMAND_UPDATE_SETTINGS = "nodomain.freeyourgadget.gadgetbridge.Q_UPDATE_SETTINGS";
|
||||
public static final String QHYBRID_COMMAND_OVERWRITE_BUTTONS = "nodomain.freeyourgadget.gadgetbridge.Q_OVERWRITE_BUTTONS";
|
||||
public static final String QHYBRID_COMMAND_UPDATE_WIDGETS = "nodomain.freeyourgadget.gadgetbridge.Q_UPDATE_WIDGETS";
|
||||
public static final String QHYBRID_COMMAND_SET_MENU_MESSAGE = "nodomain.freeyourgadget.gadgetbridge.Q_SET_MENU_MESSAGE";
|
||||
@@ -115,7 +115,6 @@ public class QHybridSupport extends QHybridBaseSupport {
|
||||
|
||||
private static final String QHYBRID_ACTION_SET_ACTIVITY_HAND = "nodomain.freeyourgadget.gadgetbridge.Q_SET_ACTIVITY_HAND";
|
||||
|
||||
public static final String QHYBRID_EVENT_SETTINGS_UPDATED = "nodomain.freeyourgadget.gadgetbridge.Q_SETTINGS_UPDATED";
|
||||
public static final String QHYBRID_EVENT_FILE_UPLOADED = "nodomain.freeyourgadget.gadgetbridge.Q_FILE_UPLOADED";
|
||||
public static final String QHYBRID_COMMAND_NOTIFICATION_CONFIG_CHANGED = "nodomain.freeyourgadget.gadgetbridge.Q_NOTIFICATION_CONFIG_CHANGED";
|
||||
|
||||
@@ -127,7 +126,6 @@ public class QHybridSupport extends QHybridBaseSupport {
|
||||
public static final String ITEM_ACTIVITY_POINT = "ACTIVITY_POINT: ";
|
||||
public static final String ITEM_EXTENDED_VIBRATION_SUPPORT = "EXTENDED_VIBRATION: ";
|
||||
public static final String ITEM_HAS_ACTIVITY_HAND = "HAS_ACTIVITY_HAND: ";
|
||||
public static final String ITEM_USE_ACTIVITY_HAND = "USE_ACTIVITY_HAND: ";
|
||||
public static final String ITEM_LAST_HEARTBEAT = "LAST_HEARTBEAT: ";
|
||||
public static final String ITEM_TIMEZONE_OFFSET = "TIMEZONE_OFFSET_COUNT: ";
|
||||
public static final String ITEM_HEART_RATE_MEASUREMENT_MODE = "HEART_RATE_MEASUREMENT_MODE: ";
|
||||
@@ -163,7 +161,6 @@ public class QHybridSupport extends QHybridBaseSupport {
|
||||
commandFilter.addAction(QHYBRID_COMMAND_UPDATE);
|
||||
commandFilter.addAction(QHYBRID_COMMAND_UPDATE_TIMEZONE);
|
||||
commandFilter.addAction(QHYBRID_COMMAND_NOTIFICATION);
|
||||
commandFilter.addAction(QHYBRID_COMMAND_UPDATE_SETTINGS);
|
||||
commandFilter.addAction(QHYBRID_COMMAND_OVERWRITE_BUTTONS);
|
||||
commandFilter.addAction(QHYBRID_COMMAND_NOTIFICATION_CONFIG_CHANGED);
|
||||
commandFilter.addAction(QHYBRID_COMMAND_UPDATE_WIDGETS);
|
||||
@@ -250,28 +247,6 @@ public class QHybridSupport extends QHybridBaseSupport {
|
||||
loadTimezoneOffset();
|
||||
break;
|
||||
}
|
||||
case QHYBRID_COMMAND_UPDATE_SETTINGS: {
|
||||
String newSetting = intent.getStringExtra("EXTRA_SETTING");
|
||||
if (newSetting == null) {
|
||||
logger.error("newSetting is null");
|
||||
break;
|
||||
}
|
||||
switch (newSetting) {
|
||||
case ITEM_USE_ACTIVITY_HAND: {
|
||||
final ItemWithDetails itemUseActivityHand = gbDevice.getDeviceInfo(ITEM_USE_ACTIVITY_HAND);
|
||||
if (itemUseActivityHand == null) {
|
||||
logger.error("itemUseActivityHand is null");
|
||||
break;
|
||||
}
|
||||
QHybridSupport.this.useActivityHand = itemUseActivityHand.getDetails().equals("true");
|
||||
GBApplication.getPrefs().getPreferences().edit().putBoolean("QHYBRID_USE_ACTIVITY_HAND", useActivityHand).apply();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
LocalBroadcastManager.getInstance(getContext()).sendBroadcast(new Intent(QHYBRID_EVENT_SETTINGS_UPDATED));
|
||||
break;
|
||||
}
|
||||
case QHYBRID_COMMAND_OVERWRITE_BUTTONS: {
|
||||
String buttonConfig = intent.getStringExtra(FossilWatchAdapter.ITEM_BUTTONS);
|
||||
watchAdapter.overwriteButtons(buttonConfig);
|
||||
@@ -519,8 +494,7 @@ public class QHybridSupport extends QHybridBaseSupport {
|
||||
protected TransactionBuilder initializeDevice(TransactionBuilder builder) {
|
||||
builder.setDeviceState(GBDevice.State.INITIALIZING);
|
||||
|
||||
this.useActivityHand = GBApplication.getPrefs().getBoolean("QHYBRID_USE_ACTIVITY_HAND", false);
|
||||
getDevice().addDeviceInfo(new GenericItem(ITEM_USE_ACTIVITY_HAND, String.valueOf(this.useActivityHand)));
|
||||
this.useActivityHand = GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()).getBoolean("use_activity_hand_as_notification_counter", false);
|
||||
|
||||
if (GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()).getBoolean(DeviceSettingsPreferenceConst.PREF_USE_CUSTOM_DEVICEICON, true)) {
|
||||
getDevice().setNotificationIconConnected(R.drawable.ic_notification_qhybrid);
|
||||
|
||||
+11
@@ -266,6 +266,10 @@ public class FossilWatchAdapter extends WatchAdapter {
|
||||
SharedPreferences preferences = getDeviceSpecificPreferences();
|
||||
|
||||
int stepGoal = new ActivityUser().getStepsGoal();
|
||||
if (preferences.getBoolean("use_activity_hand_as_notification_counter", false)) {
|
||||
stepGoal = 1000000;
|
||||
}
|
||||
|
||||
byte vibrationStrength = (byte) preferences.getInt(CONFIG_ITEM_VIBRATION_STRENGTH, 100);
|
||||
int timezoneOffset = preferences.getInt(CONFIG_ITEM_TIMEZONE_OFFSET, 0);
|
||||
|
||||
@@ -670,6 +674,13 @@ public class FossilWatchAdapter extends WatchAdapter {
|
||||
setStepGoal(new ActivityUser().getStepsGoal());
|
||||
break;
|
||||
}
|
||||
case "use_activity_hand_as_notification_counter":
|
||||
if (getDeviceSpecificPreferences().getBoolean("use_activity_hand_as_notification_counter", false)) {
|
||||
setStepGoal(1000000);
|
||||
} else {
|
||||
setStepGoal(new ActivityUser().getStepsGoal());
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -56,13 +56,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/qhybrid_overwrite_buttons" />
|
||||
|
||||
|
||||
<CheckBox
|
||||
android:id="@+id/checkBoxUserActivityHand"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/qhybrid_use_activity_hand_as_notification_counter" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
@@ -2524,18 +2524,14 @@
|
||||
<string name="quick_alarm_description">Alarm from widget</string>
|
||||
<string name="icon_placeholder" translatable="false">Icon</string>
|
||||
<string name="watch_not_connected">Watch not connected</string>
|
||||
<string name="qhybrid_vibration_strength">vibration strength:</string>
|
||||
<string name="qhybrid_goal_in_steps">Goal in steps</string>
|
||||
<string name="qhybrid_time_shift">time shift</string>
|
||||
<string name="qhybrid_second_timezone_offset_relative_to_utc">second timezone offset relative to UTC</string>
|
||||
<string name="qhybrid_overwrite_buttons">overwrite buttons</string>
|
||||
<string name="qhybrid_use_activity_hand_as_notification_counter">use activity hand as notification counter</string>
|
||||
<string name="qhybrid_prompt_million_steps">Please set the step count to a million to activate that.</string>
|
||||
<string name="qhybrid_time_shift">Time shift</string>
|
||||
<string name="qhybrid_second_timezone_offset_relative_to_utc">Second timezone offset relative to UTC</string>
|
||||
<string name="qhybrid_use_activity_hand_as_notification_counter">Use activity hand as notification counter</string>
|
||||
<string name="qhybrid_buttons_overwrite_success">Buttons overwritten</string>
|
||||
<string name="qhybrid_buttons_overwrite_error">Error overwriting buttons</string>
|
||||
<string name="qhybrid_offset_timezone">offset timezone by</string>
|
||||
<string name="qhybrid_changes_delay_prompt">change might take some seconds…</string>
|
||||
<string name="qhybrid_offset_time_by">offset time by</string>
|
||||
<string name="qhybrid_offset_timezone">Offset timezone by</string>
|
||||
<string name="qhybrid_changes_delay_prompt">Change might take some seconds…</string>
|
||||
<string name="qhybrid_offset_time_by">Offset time by</string>
|
||||
<string name="kind_waypoints">Waypoints</string>
|
||||
<string name="kind_segments">Segments</string>
|
||||
<string name="waypoint_count">%d waypoints</string>
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
android:defaultValue="false"
|
||||
android:key="use_activity_hand_as_notification_counter"
|
||||
android:layout="@layout/preference_checkbox"
|
||||
android:title="@string/qhybrid_use_activity_hand_as_notification_counter"
|
||||
android:icon="@drawable/ic_timer" />
|
||||
|
||||
</androidx.preference.PreferenceScreen>
|
||||
Reference in New Issue
Block a user