diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/QHybridConfigActivity.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/QHybridConfigActivity.java index c63cb44002..e6cd409039 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/QHybridConfigActivity.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/QHybridConfigActivity.java @@ -284,30 +284,6 @@ public class QHybridConfigActivity extends AbstractGBActivity { LocalBroadcastManager.getInstance(QHybridConfigActivity.this).sendBroadcast(notificationIntent); } }); - SeekBar vibeBar = findViewById(R.id.vibrationStrengthBar); - vibeBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { - int start; - - @Override - public void onProgressChanged(SeekBar seekBar, int i, boolean b) { - } - - @Override - public void onStartTrackingTouch(SeekBar seekBar) { - start = seekBar.getProgress(); - } - - @Override - public void onStopTrackingTouch(SeekBar seekBar) { - int progress; - if ((progress = seekBar.getProgress()) == start) return; - String[] values = {"25", "50", "100"}; - device.addDeviceInfo(new GenericItem(QHybridSupport.ITEM_VIBRATION_STRENGTH, values[progress])); - Intent intent = new Intent(QHybridSupport.QHYBRID_COMMAND_UPDATE_SETTINGS); - intent.putExtra("EXTRA_SETTING", QHybridSupport.ITEM_VIBRATION_STRENGTH); - LocalBroadcastManager.getInstance(QHybridConfigActivity.this).sendBroadcast(intent); - } - }); if (device.getType() == DeviceType.FOSSILQHYBRID && device.isInitialized() && device.getFirmwareVersion().charAt(2) == '0') { updateSettings(); @@ -350,17 +326,6 @@ public class QHybridConfigActivity extends AbstractGBActivity { @Override public void run() { final String extendedVibrationSupport = getDeviceInfoDetails(QHybridSupport.ITEM_EXTENDED_VIBRATION_SUPPORT); - final String vibrationStrength = getDeviceInfoDetails(QHybridSupport.ITEM_VIBRATION_STRENGTH); - if ("true".equals(extendedVibrationSupport) && !vibrationStrength.isEmpty()) { - final int strengthProgress = (int) (Math.log(Double.parseDouble(vibrationStrength) / 25) / Math.log(2)); - - setSettingsEnabled(true); - SeekBar seekBar = findViewById(R.id.vibrationStrengthBar); - seekBar.setProgress(strengthProgress); - } else { - findViewById(R.id.vibrationStrengthBar).setEnabled(false); - findViewById(R.id.vibrationStrengthLayout).setAlpha(0.5f); - } CheckBox activityHandCheckbox = findViewById(R.id.checkBoxUserActivityHand); if (getDeviceInfoDetails(QHybridSupport.ITEM_HAS_ACTIVITY_HAND).equals("true")) { if (getDeviceInfoDetails(QHybridSupport.ITEM_USE_ACTIVITY_HAND).equals("true")) { @@ -369,18 +334,11 @@ public class QHybridConfigActivity extends AbstractGBActivity { activityHandCheckbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(@NonNull CompoundButton buttonView, boolean checked) { - if (!getDeviceInfoDetails(QHybridSupport.ITEM_STEP_GOAL).equals("1000000")) { new MaterialAlertDialogBuilder(QHybridConfigActivity.this) .setMessage(getString(R.string.qhybrid_prompt_million_steps)) .setPositiveButton("ok", null) .show(); buttonView.setChecked(false); - return; - } - device.addDeviceInfo(new GenericItem(QHybridSupport.ITEM_USE_ACTIVITY_HAND, String.valueOf(checked))); - Intent intent = new Intent(QHybridSupport.QHYBRID_COMMAND_UPDATE_SETTINGS); - intent.putExtra("EXTRA_SETTING", QHybridSupport.ITEM_USE_ACTIVITY_HAND); - LocalBroadcastManager.getInstance(QHybridConfigActivity.this).sendBroadcast(intent); } }); } else { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/QHybridCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/QHybridCoordinator.java index 415ad708a6..00a6637d01 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/QHybridCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/QHybridCoordinator.java @@ -266,6 +266,8 @@ public class QHybridCoordinator extends AbstractBLEDeviceCoordinator { final DeviceSpecificSettings deviceSpecificSettings = new DeviceSpecificSettings(); if (!isHybridHR(device)) { deviceSpecificSettings.addRootScreen(R.xml.devicesettings_fossilqhybrid_legacy); + deviceSpecificSettings.addRootScreen(R.xml.devicesettings_fossilhybridhr_vibration); +// deviceSpecificSettings.addRootScreen(R.xml.devicesettings_fossilhybridhr_calibration); // TODO return deviceSpecificSettings; } final List generic = deviceSpecificSettings.addRootScreen(DeviceSpecificSettingsScreen.GENERIC); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/QHybridSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/QHybridSupport.java index b3f75c0193..9107aa5aa4 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/QHybridSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/QHybridSupport.java @@ -123,9 +123,7 @@ public class QHybridSupport extends QHybridBaseSupport { public static final String QHYBRID_EVENT_MULTI_BUTTON_PRESS = "nodomain.freeyourgadget.gadgetbridge.Q_MULTI_BUTTON_PRESSED"; public static final String QHYBRID_EVENT_COMMUTE_MENU = "nodomain.freeyourgadget.gadgetbridge.Q_COMMUTE_MENU"; - public static final String ITEM_STEP_GOAL = "STEP_GOAL: "; public static final String ITEM_STEP_COUNT = "STEP_COUNT: "; - public static final String ITEM_VIBRATION_STRENGTH = "VIBRATION_STRENGTH: "; 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: "; @@ -259,24 +257,6 @@ public class QHybridSupport extends QHybridBaseSupport { break; } switch (newSetting) { - case ITEM_VIBRATION_STRENGTH: { - final ItemWithDetails itemVibrationStrength = gbDevice.getDeviceInfo(ITEM_VIBRATION_STRENGTH); - if (itemVibrationStrength == null) { - logger.error("itemVibrationStrength is null"); - break; - } - watchAdapter.setVibrationStrength(Short.parseShort(itemVibrationStrength.getDetails())); - break; - } - case ITEM_STEP_GOAL: { - final ItemWithDetails itemStepGoal = gbDevice.getDeviceInfo(ITEM_STEP_GOAL); - if (itemStepGoal == null) { - logger.error("itemStepGoal is null"); - break; - } - watchAdapter.setStepGoal(Integer.parseInt(itemStepGoal.getDetails())); - break; - } case ITEM_USE_ACTIVITY_HAND: { final ItemWithDetails itemUseActivityHand = gbDevice.getDeviceInfo(ITEM_USE_ACTIVITY_HAND); if (itemUseActivityHand == null) { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/adapter/fossil/FossilWatchAdapter.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/adapter/fossil/FossilWatchAdapter.java index 8f3de11438..6a60a0da72 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/adapter/fossil/FossilWatchAdapter.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/adapter/fossil/FossilWatchAdapter.java @@ -18,7 +18,6 @@ package nodomain.freeyourgadget.gadgetbridge.service.devices.qhybrid.adapter.fossil; import static nodomain.freeyourgadget.gadgetbridge.service.devices.qhybrid.QHybridSupport.ITEM_TIMEZONE_OFFSET; -import static nodomain.freeyourgadget.gadgetbridge.service.devices.qhybrid.QHybridSupport.ITEM_VIBRATION_STRENGTH; import static nodomain.freeyourgadget.gadgetbridge.service.devices.qhybrid.QHybridSupport.QHYBRID_EVENT_BUTTON_PRESS; import static nodomain.freeyourgadget.gadgetbridge.service.devices.qhybrid.QHybridSupport.QHYBRID_EVENT_MULTI_BUTTON_PRESS; @@ -31,7 +30,6 @@ import android.os.Handler; import android.os.Looper; import android.widget.Toast; -import org.apache.commons.lang3.StringUtils; import org.json.JSONArray; import org.json.JSONException; import org.slf4j.Logger; @@ -51,6 +49,7 @@ import java.util.concurrent.atomic.AtomicLong; import nodomain.freeyourgadget.gadgetbridge.BuildConfig; import nodomain.freeyourgadget.gadgetbridge.GBApplication; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst; import nodomain.freeyourgadget.gadgetbridge.database.DBHandler; import nodomain.freeyourgadget.gadgetbridge.database.DBHelper; import nodomain.freeyourgadget.gadgetbridge.devices.qhybrid.HybridHRActivitySampleProvider; @@ -92,6 +91,7 @@ import nodomain.freeyourgadget.gadgetbridge.service.devices.qhybrid.requests.mis import nodomain.freeyourgadget.gadgetbridge.util.AlarmUtils; import nodomain.freeyourgadget.gadgetbridge.util.FileUtils; import nodomain.freeyourgadget.gadgetbridge.util.GB; +import nodomain.freeyourgadget.gadgetbridge.util.Prefs; import nodomain.freeyourgadget.gadgetbridge.util.UriHelper; public class FossilWatchAdapter extends WatchAdapter { @@ -266,7 +266,6 @@ public class FossilWatchAdapter extends WatchAdapter { GBDevice device = getDeviceSupport().getDevice(); - device.addDeviceInfo(new GenericItem(ITEM_VIBRATION_STRENGTH, String.valueOf(vibrationStrength))); device.addDeviceInfo(new GenericItem(ITEM_TIMEZONE_OFFSET, String.valueOf(timezoneOffset))); queueWrite(new ConfigurationPutRequest(new ConfigurationPutRequest.ConfigItem[]{ @@ -404,16 +403,18 @@ public class FossilWatchAdapter extends WatchAdapter { }, false); } + private void setVibrationStrengthFromConfig() { + Prefs prefs = new Prefs(getDeviceSpecificPreferences()); + int vibrationStrengh = prefs.getInt(DeviceSettingsPreferenceConst.PREF_VIBRATION_STRENGH_PERCENTAGE, 2); + if (vibrationStrengh > 0) { + vibrationStrengh = (vibrationStrengh + 1) * 25; // Seems 0,50,75,100 are working... + } + setVibrationStrength((short) (vibrationStrengh)); + } + @Override public void setVibrationStrength(short strength) { - getDeviceSpecificPreferences() - .edit() - .putInt(CONFIG_ITEM_VIBRATION_STRENGTH, (byte) strength) - .apply(); - ConfigurationPutRequest.ConfigItem vibrationItem = new ConfigurationPutRequest.VibrationStrengthConfigItem((byte) strength); - - queueWrite( new ConfigurationPutRequest(new ConfigurationPutRequest.ConfigItem[]{vibrationItem}, this) { @Override @@ -631,6 +632,7 @@ public class FossilWatchAdapter extends WatchAdapter { @Override public void onSendConfiguration(String config) { setStepGoal(new ActivityUser().getStepsGoal()); + setVibrationStrengthFromConfig(); } @Override diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/adapter/misfit/MisfitWatchAdapter.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/adapter/misfit/MisfitWatchAdapter.java index a7bb30c25e..8854c3edbc 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/adapter/misfit/MisfitWatchAdapter.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/adapter/misfit/MisfitWatchAdapter.java @@ -18,8 +18,6 @@ package nodomain.freeyourgadget.gadgetbridge.service.devices.qhybrid.adapter.mis import static nodomain.freeyourgadget.gadgetbridge.service.devices.qhybrid.QHybridSupport.ITEM_ACTIVITY_POINT; import static nodomain.freeyourgadget.gadgetbridge.service.devices.qhybrid.QHybridSupport.ITEM_STEP_COUNT; -import static nodomain.freeyourgadget.gadgetbridge.service.devices.qhybrid.QHybridSupport.ITEM_STEP_GOAL; -import static nodomain.freeyourgadget.gadgetbridge.service.devices.qhybrid.QHybridSupport.ITEM_VIBRATION_STRENGTH; import static nodomain.freeyourgadget.gadgetbridge.service.devices.qhybrid.QHybridSupport.QHYBRID_EVENT_BUTTON_PRESS; import static nodomain.freeyourgadget.gadgetbridge.service.devices.qhybrid.QHybridSupport.QHYBRID_EVENT_FILE_UPLOADED; @@ -232,10 +230,10 @@ public class MisfitWatchAdapter extends WatchAdapter { request.handleResponse(characteristic, values); if (request instanceof GetStepGoalRequest) { - gbDevice.addDeviceInfo(new GenericItem(ITEM_STEP_GOAL, String.valueOf(((GetStepGoalRequest) request).stepGoal))); +// gbDevice.addDeviceInfo(new GenericItem(ITEM_STEP_GOAL, String.valueOf(((GetStepGoalRequest) request).stepGoal))); } else if (request instanceof GetVibrationStrengthRequest) { int strength = ((GetVibrationStrengthRequest) request).strength; - gbDevice.addDeviceInfo(new GenericItem(ITEM_VIBRATION_STRENGTH, String.valueOf(strength))); +// gbDevice.addDeviceInfo(new GenericItem(ITEM_VIBRATION_STRENGTH, String.valueOf(strength))); } else if (request instanceof GetCurrentStepCountRequest) { int steps = ((GetCurrentStepCountRequest) request).steps; logger.debug("get current steps: " + steps); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/requests/fossil/configuration/ConfigurationGetRequest.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/requests/fossil/configuration/ConfigurationGetRequest.java index 7b35d723b5..25f4481431 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/requests/fossil/configuration/ConfigurationGetRequest.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/requests/fossil/configuration/ConfigurationGetRequest.java @@ -35,9 +35,9 @@ public class ConfigurationGetRequest extends FileGetRequest { ConfigurationPutRequest.ConfigItem[] items = ConfigurationPutRequest.parsePayload(fileData); for(ConfigurationPutRequest.ConfigItem item : items){ if(item instanceof ConfigurationPutRequest.VibrationStrengthConfigItem){ - device.addDeviceInfo(new GenericItem(QHybridSupport.ITEM_VIBRATION_STRENGTH, String.valueOf(((ConfigurationPutRequest.VibrationStrengthConfigItem) item).getValue()))); +// device.addDeviceInfo(new GenericItem(QHybridSupport.ITEM_VIBRATION_STRENGTH, String.valueOf(((ConfigurationPutRequest.VibrationStrengthConfigItem) item).getValue()))); }else if(item instanceof ConfigurationPutRequest.DailyStepGoalConfigItem){ - device.addDeviceInfo(new GenericItem(QHybridSupport.ITEM_STEP_GOAL, String.valueOf(((ConfigurationPutRequest.DailyStepGoalConfigItem) item).getValue()))); +// device.addDeviceInfo(new GenericItem(QHybridSupport.ITEM_STEP_GOAL, String.valueOf(((ConfigurationPutRequest.DailyStepGoalConfigItem) item).getValue()))); }else if(item instanceof ConfigurationPutRequest.CurrentStepCountConfigItem){ device.addDeviceInfo(new GenericItem(QHybridSupport.ITEM_STEP_COUNT, String.valueOf(((ConfigurationPutRequest.CurrentStepCountConfigItem) item).getValue()))); }else if(item instanceof ConfigurationPutRequest.TimezoneOffsetConfigItem) { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/requests/fossil_hr/configuration/ConfigurationGetRequest.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/requests/fossil_hr/configuration/ConfigurationGetRequest.java index d9d49c1f15..1c806bf6ff 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/requests/fossil_hr/configuration/ConfigurationGetRequest.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/requests/fossil_hr/configuration/ConfigurationGetRequest.java @@ -49,9 +49,9 @@ public class ConfigurationGetRequest extends FileEncryptedLookupAndGetRequest im for(ConfigurationPutRequest.ConfigItem item : items){ if(item instanceof ConfigurationPutRequest.VibrationStrengthConfigItem){ - device.addDeviceInfo(new GenericItem(QHybridSupport.ITEM_VIBRATION_STRENGTH, String.valueOf(((ConfigurationPutRequest.VibrationStrengthConfigItem) item).getValue()))); +// device.addDeviceInfo(new GenericItem(QHybridSupport.ITEM_VIBRATION_STRENGTH, String.valueOf(((ConfigurationPutRequest.VibrationStrengthConfigItem) item).getValue()))); }else if(item instanceof ConfigurationPutRequest.DailyStepGoalConfigItem){ - device.addDeviceInfo(new GenericItem(QHybridSupport.ITEM_STEP_GOAL, String.valueOf(((ConfigurationPutRequest.DailyStepGoalConfigItem) item).getValue()))); +// device.addDeviceInfo(new GenericItem(QHybridSupport.ITEM_STEP_GOAL, String.valueOf(((ConfigurationPutRequest.DailyStepGoalConfigItem) item).getValue()))); }else if(item instanceof ConfigurationPutRequest.CurrentStepCountConfigItem){ device.addDeviceInfo(new GenericItem(QHybridSupport.ITEM_STEP_COUNT, String.valueOf(((ConfigurationPutRequest.CurrentStepCountConfigItem) item).getValue()))); }else if(item instanceof ConfigurationPutRequest.TimezoneOffsetConfigItem) { diff --git a/app/src/main/res/layout/activity_qhybrid_settings.xml b/app/src/main/res/layout/activity_qhybrid_settings.xml index 413eca8ef9..a73e3e6ea5 100644 --- a/app/src/main/res/layout/activity_qhybrid_settings.xml +++ b/app/src/main/res/layout/activity_qhybrid_settings.xml @@ -14,27 +14,6 @@ android:id="@+id/settingsLayout" android:focusableInTouchMode="true" > - - - - - - - - -