mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-09-27 08:47:03 +02:00
Soundcore: Refactored UI
This commit is contained in:
parent
25cecaabe7
commit
545603f58c
@ -34,6 +34,7 @@ public enum DeviceSpecificSettingsScreen {
|
||||
DATE_TIME("pref_screen_date_time", R.xml.devicesettings_root_date_time),
|
||||
WORKOUT("pref_screen_workout", R.xml.devicesettings_root_workout),
|
||||
HEALTH("pref_screen_health", R.xml.devicesettings_root_health),
|
||||
TOUCH_OPTIONS("pref_screen_touch_options", R.xml.devicesettings_root_touch_options),
|
||||
;
|
||||
|
||||
private final String key;
|
||||
|
@ -2,24 +2,19 @@ package nodomain.freeyourgadget.gadgetbridge.devices.soundcore;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import nodomain.freeyourgadget.gadgetbridge.GBException;
|
||||
import nodomain.freeyourgadget.gadgetbridge.R;
|
||||
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings;
|
||||
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsScreen;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractDeviceCoordinator;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.SonyHeadphonesCapabilities;
|
||||
import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession;
|
||||
import nodomain.freeyourgadget.gadgetbridge.entities.Device;
|
||||
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
|
||||
import nodomain.freeyourgadget.gadgetbridge.model.BatteryConfig;
|
||||
import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport;
|
||||
import nodomain.freeyourgadget.gadgetbridge.service.devices.soundcore.SoundcoreLiberty3ProDeviceSupport;
|
||||
import nodomain.freeyourgadget.gadgetbridge.service.devices.unknown.UnknownDeviceSupport;
|
||||
|
||||
public class SoundcoreLiberty3ProCoordinator extends AbstractDeviceCoordinator {
|
||||
@Override
|
||||
@ -71,10 +66,12 @@ public class SoundcoreLiberty3ProCoordinator extends AbstractDeviceCoordinator {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getSupportedDeviceSpecificSettings(final GBDevice device) {
|
||||
final List<Integer> settings = new ArrayList<>();
|
||||
settings.add(R.xml.devicesettings_soundcore_headphones);
|
||||
return ArrayUtils.toPrimitive(settings.toArray(new Integer[0]));
|
||||
public DeviceSpecificSettings getDeviceSpecificSettings(final GBDevice device) {
|
||||
final DeviceSpecificSettings deviceSpecificSettings = new DeviceSpecificSettings();
|
||||
deviceSpecificSettings.addRootScreen(DeviceSpecificSettingsScreen.TOUCH_OPTIONS);
|
||||
deviceSpecificSettings.addSubScreen(DeviceSpecificSettingsScreen.TOUCH_OPTIONS, R.xml.devicesettings_soundcore_touch_options);
|
||||
deviceSpecificSettings.addRootScreen(R.xml.devicesettings_soundcore_headphones);
|
||||
return deviceSpecificSettings;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
|
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_screen_touch_options"
|
||||
android:persistent="false"
|
||||
android:title="@string/prefs_galaxy_touch_options">
|
||||
</PreferenceScreen>
|
||||
</androidx.preference.PreferenceScreen>
|
@ -15,6 +15,7 @@
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
android:defaultValue="true"
|
||||
android:disableDependentsState="true"
|
||||
android:icon="@drawable/ic_hearing"
|
||||
android:key="pref_adaptive_noise_cancelling"
|
||||
android:layout="@layout/preference_checkbox"
|
||||
@ -23,6 +24,7 @@
|
||||
|
||||
<!-- [0, 2], low moderate and high -->
|
||||
<SeekBarPreference
|
||||
android:dependency="pref_adaptive_noise_cancelling"
|
||||
android:defaultValue="0"
|
||||
android:icon="@drawable/ic_hearing"
|
||||
android:key="pref_sony_ambient_sound_level"
|
||||
@ -52,127 +54,6 @@
|
||||
android:key="pref_key_header_soundcore_other"
|
||||
android:title="@string/pref_header_other">
|
||||
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="prefs_soundcore_touch_options"
|
||||
android:persistent="false"
|
||||
android:title="@string/prefs_galaxy_touch_options">
|
||||
|
||||
<ListPreference
|
||||
android:defaultValue="nc_as_off"
|
||||
android:entries="@array/sony_ambient_sound_control_button_mode_names"
|
||||
android:entryValues="@array/sony_ambient_sound_control_button_mode_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_sony_ambient_sound_control_button_mode"
|
||||
android:summary="%s"
|
||||
android:title="@string/sony_ambient_sound_control_button_modes" />
|
||||
|
||||
<PreferenceCategory android:title="@string/single_tap">
|
||||
<SwitchPreferenceCompat
|
||||
android:defaultValue="false"
|
||||
android:disableDependentsState="true"
|
||||
android:icon="@drawable/ic_lock_open"
|
||||
android:key="pref_soundcore_control_single_tap_disabled"
|
||||
android:layout="@layout/preference_checkbox"
|
||||
android:summary="@string/prefs_touch_lock_summary"
|
||||
android:title="@string/prefs_touch_lock" />
|
||||
<ListPreference
|
||||
android:dependency="pref_soundcore_control_single_tap_disabled"
|
||||
android:entries="@array/soundcore_button_function_names"
|
||||
android:entryValues="@array/soundcore_button_function_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_soundcore_control_single_tap_action_left"
|
||||
android:summary="%s"
|
||||
android:title="@string/prefs_left" />
|
||||
<ListPreference
|
||||
android:dependency="pref_soundcore_control_single_tap_disabled"
|
||||
android:entries="@array/soundcore_button_function_names"
|
||||
android:entryValues="@array/soundcore_button_function_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_soundcore_control_single_tap_action_right"
|
||||
android:summary="%s"
|
||||
android:title="@string/prefs_right" />
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/double_tap">
|
||||
<SwitchPreferenceCompat
|
||||
android:defaultValue="false"
|
||||
android:disableDependentsState="true"
|
||||
android:icon="@drawable/ic_lock_open"
|
||||
android:key="pref_soundcore_control_double_tap_disabled"
|
||||
android:layout="@layout/preference_checkbox"
|
||||
android:summary="@string/prefs_touch_lock_summary"
|
||||
android:title="@string/prefs_touch_lock" />
|
||||
<ListPreference
|
||||
android:dependency="pref_soundcore_control_double_tap_disabled"
|
||||
android:entries="@array/soundcore_button_function_names"
|
||||
android:entryValues="@array/soundcore_button_function_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_soundcore_control_double_tap_action_left"
|
||||
android:summary="%s"
|
||||
android:title="@string/prefs_left" />
|
||||
<ListPreference
|
||||
android:dependency="pref_soundcore_control_double_tap_disabled"
|
||||
android:entries="@array/soundcore_button_function_names"
|
||||
android:entryValues="@array/soundcore_button_function_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_soundcore_control_double_tap_action_right"
|
||||
android:summary="%s"
|
||||
android:title="@string/prefs_right" />
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/triple_tap">
|
||||
<SwitchPreferenceCompat
|
||||
android:defaultValue="false"
|
||||
android:disableDependentsState="true"
|
||||
android:icon="@drawable/ic_lock_open"
|
||||
android:key="pref_soundcore_control_triple_tap_disabled"
|
||||
android:layout="@layout/preference_checkbox"
|
||||
android:summary="@string/prefs_touch_lock_summary"
|
||||
android:title="@string/prefs_touch_lock" />
|
||||
<ListPreference
|
||||
android:dependency="pref_soundcore_control_triple_tap_disabled"
|
||||
android:entries="@array/soundcore_button_function_names"
|
||||
android:entryValues="@array/soundcore_button_function_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_soundcore_control_triple_tap_action_left"
|
||||
android:summary="%s"
|
||||
android:title="@string/prefs_left" />
|
||||
<ListPreference
|
||||
android:dependency="pref_soundcore_control_triple_tap_disabled"
|
||||
android:entries="@array/soundcore_button_function_names"
|
||||
android:entryValues="@array/soundcore_button_function_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_soundcore_control_triple_tap_action_right"
|
||||
android:summary="%s"
|
||||
android:title="@string/prefs_right" />
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/long_press">
|
||||
<SwitchPreferenceCompat
|
||||
android:defaultValue="false"
|
||||
android:disableDependentsState="true"
|
||||
android:icon="@drawable/ic_lock_open"
|
||||
android:key="pref_soundcore_control_long_press_disabled"
|
||||
android:layout="@layout/preference_checkbox"
|
||||
android:summary="@string/prefs_touch_lock_summary"
|
||||
android:title="@string/prefs_touch_lock" />
|
||||
<ListPreference
|
||||
android:dependency="pref_soundcore_control_long_press_disabled"
|
||||
android:entries="@array/soundcore_button_function_names"
|
||||
android:entryValues="@array/soundcore_button_function_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_soundcore_control_long_press_action_left"
|
||||
android:summary="%s"
|
||||
android:title="@string/prefs_left" />
|
||||
<ListPreference
|
||||
android:dependency="pref_soundcore_control_long_press_disabled"
|
||||
android:entries="@array/soundcore_button_function_names"
|
||||
android:entryValues="@array/soundcore_button_function_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_soundcore_control_long_press_action_right"
|
||||
android:summary="%s"
|
||||
android:title="@string/prefs_right" />
|
||||
</PreferenceCategory>
|
||||
|
||||
</PreferenceScreen>
|
||||
<SwitchPreferenceCompat
|
||||
android:defaultValue="false"
|
||||
android:layout="@layout/preference_checkbox"
|
||||
|
116
app/src/main/res/xml/devicesettings_soundcore_touch_options.xml
Normal file
116
app/src/main/res/xml/devicesettings_soundcore_touch_options.xml
Normal file
@ -0,0 +1,116 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<ListPreference
|
||||
android:defaultValue="nc_as_off"
|
||||
android:entries="@array/sony_ambient_sound_control_button_mode_names"
|
||||
android:entryValues="@array/sony_ambient_sound_control_button_mode_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_sony_ambient_sound_control_button_mode"
|
||||
android:summary="%s"
|
||||
android:title="@string/sony_ambient_sound_control_button_modes" />
|
||||
|
||||
<PreferenceCategory android:title="@string/single_tap">
|
||||
<SwitchPreferenceCompat
|
||||
android:defaultValue="false"
|
||||
android:disableDependentsState="true"
|
||||
android:icon="@drawable/ic_lock_open"
|
||||
android:key="pref_soundcore_control_single_tap_disabled"
|
||||
android:layout="@layout/preference_checkbox"
|
||||
android:summary="@string/prefs_touch_lock_summary"
|
||||
android:title="@string/prefs_touch_lock" />
|
||||
<ListPreference
|
||||
android:dependency="pref_soundcore_control_single_tap_disabled"
|
||||
android:entries="@array/soundcore_button_function_names"
|
||||
android:entryValues="@array/soundcore_button_function_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_soundcore_control_single_tap_action_left"
|
||||
android:summary="%s"
|
||||
android:title="@string/prefs_left" />
|
||||
<ListPreference
|
||||
android:dependency="pref_soundcore_control_single_tap_disabled"
|
||||
android:entries="@array/soundcore_button_function_names"
|
||||
android:entryValues="@array/soundcore_button_function_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_soundcore_control_single_tap_action_right"
|
||||
android:summary="%s"
|
||||
android:title="@string/prefs_right" />
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/double_tap">
|
||||
<SwitchPreferenceCompat
|
||||
android:defaultValue="false"
|
||||
android:disableDependentsState="true"
|
||||
android:icon="@drawable/ic_lock_open"
|
||||
android:key="pref_soundcore_control_double_tap_disabled"
|
||||
android:layout="@layout/preference_checkbox"
|
||||
android:summary="@string/prefs_touch_lock_summary"
|
||||
android:title="@string/prefs_touch_lock" />
|
||||
<ListPreference
|
||||
android:dependency="pref_soundcore_control_double_tap_disabled"
|
||||
android:entries="@array/soundcore_button_function_names"
|
||||
android:entryValues="@array/soundcore_button_function_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_soundcore_control_double_tap_action_left"
|
||||
android:summary="%s"
|
||||
android:title="@string/prefs_left" />
|
||||
<ListPreference
|
||||
android:dependency="pref_soundcore_control_double_tap_disabled"
|
||||
android:entries="@array/soundcore_button_function_names"
|
||||
android:entryValues="@array/soundcore_button_function_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_soundcore_control_double_tap_action_right"
|
||||
android:summary="%s"
|
||||
android:title="@string/prefs_right" />
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/triple_tap">
|
||||
<SwitchPreferenceCompat
|
||||
android:defaultValue="false"
|
||||
android:disableDependentsState="true"
|
||||
android:icon="@drawable/ic_lock_open"
|
||||
android:key="pref_soundcore_control_triple_tap_disabled"
|
||||
android:layout="@layout/preference_checkbox"
|
||||
android:summary="@string/prefs_touch_lock_summary"
|
||||
android:title="@string/prefs_touch_lock" />
|
||||
<ListPreference
|
||||
android:dependency="pref_soundcore_control_triple_tap_disabled"
|
||||
android:entries="@array/soundcore_button_function_names"
|
||||
android:entryValues="@array/soundcore_button_function_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_soundcore_control_triple_tap_action_left"
|
||||
android:summary="%s"
|
||||
android:title="@string/prefs_left" />
|
||||
<ListPreference
|
||||
android:dependency="pref_soundcore_control_triple_tap_disabled"
|
||||
android:entries="@array/soundcore_button_function_names"
|
||||
android:entryValues="@array/soundcore_button_function_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_soundcore_control_triple_tap_action_right"
|
||||
android:summary="%s"
|
||||
android:title="@string/prefs_right" />
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/long_press">
|
||||
<SwitchPreferenceCompat
|
||||
android:defaultValue="false"
|
||||
android:disableDependentsState="true"
|
||||
android:icon="@drawable/ic_lock_open"
|
||||
android:key="pref_soundcore_control_long_press_disabled"
|
||||
android:layout="@layout/preference_checkbox"
|
||||
android:summary="@string/prefs_touch_lock_summary"
|
||||
android:title="@string/prefs_touch_lock" />
|
||||
<ListPreference
|
||||
android:dependency="pref_soundcore_control_long_press_disabled"
|
||||
android:entries="@array/soundcore_button_function_names"
|
||||
android:entryValues="@array/soundcore_button_function_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_soundcore_control_long_press_action_left"
|
||||
android:summary="%s"
|
||||
android:title="@string/prefs_left" />
|
||||
<ListPreference
|
||||
android:dependency="pref_soundcore_control_long_press_disabled"
|
||||
android:entries="@array/soundcore_button_function_names"
|
||||
android:entryValues="@array/soundcore_button_function_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_soundcore_control_long_press_action_right"
|
||||
android:summary="%s"
|
||||
android:title="@string/prefs_right" />
|
||||
</PreferenceCategory>
|
||||
</androidx.preference.PreferenceScreen>
|
Loading…
Reference in New Issue
Block a user