diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/oppo/OppoHeadphonesSettingsCustomizer.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/oppo/OppoHeadphonesSettingsCustomizer.java index 4fd2072c10..045d445a93 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/oppo/OppoHeadphonesSettingsCustomizer.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/oppo/OppoHeadphonesSettingsCustomizer.java @@ -18,9 +18,13 @@ package nodomain.freeyourgadget.gadgetbridge.devices.oppo; import android.os.Parcel; import android.util.Pair; +import android.content.Context; import androidx.preference.ListPreference; import androidx.preference.Preference; +import androidx.preference.MultiSelectListPreference; + +import com.google.android.material.dialog.MaterialAlertDialogBuilder; import java.util.ArrayList; import java.util.Collections; @@ -82,6 +86,22 @@ public class OppoHeadphonesSettingsCustomizer implements DeviceSpecificSettingsC @Override public void onPreferenceChange(final Preference preference, final DeviceSpecificSettingsHandler handler) { + if (OppoHeadphonesPreferences.ANC_TOUCH_CYCLE_MODES.equals(preference.getKey())) { + if (preference instanceof MultiSelectListPreference) { + final MultiSelectListPreference ancCycleModesPref = (MultiSelectListPreference) preference; + final Set selectedValues = ancCycleModesPref.getValues(); + + if (selectedValues == null || selectedValues.size() < 2) { + final Context context = preference.getContext(); + final String message = context.getString(nodomain.freeyourgadget.gadgetbridge.R.string.select_at_least_option, 2); + new MaterialAlertDialogBuilder(context) + .setTitle(nodomain.freeyourgadget.gadgetbridge.R.string.warning) + .setMessage(message) + .setPositiveButton(android.R.string.ok, null) + .show(); + } + } + } } @Override diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 659371a609..5918607fa8 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -4526,4 +4526,5 @@ Идентификатор устройства Ошибка при сохранении образцов: %1$s ккал/день + Пожалуйста выберите минимум %1$d варианта diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 76bdebd819..86f9fb92f9 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -5029,4 +5029,5 @@ Endurain Wanderer Upload GPX to Wanderer + Please select at least %1$d option