mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2026-07-31 07:44:24 +02:00
Sony WH-1000XM3: Disable unsupported preferences when Audio HD enabled
This commit is contained in:
+1
-1
@@ -145,8 +145,8 @@ public abstract class SonyHeadphonesCoordinator extends AbstractBLClassicDeviceC
|
|||||||
}
|
}
|
||||||
|
|
||||||
addSettingsUnderHeader(deviceSpecificSettings, device, R.xml.devicesettings_header_other, new LinkedHashMap<>() {{
|
addSettingsUnderHeader(deviceSpecificSettings, device, R.xml.devicesettings_header_other, new LinkedHashMap<>() {{
|
||||||
put(SonyHeadphonesCapabilities.AudioSettingsOnlyOnSbcCodec, R.xml.devicesettings_sony_warning_wh1000xm3);
|
|
||||||
put(SonyHeadphonesCapabilities.AudioLDAC, R.xml.devicesettings_sony_headphones_audio_hd);
|
put(SonyHeadphonesCapabilities.AudioLDAC, R.xml.devicesettings_sony_headphones_audio_hd);
|
||||||
|
put(SonyHeadphonesCapabilities.AudioSettingsOnlyOnSbcCodec, R.xml.devicesettings_sony_warning_wh1000xm3);
|
||||||
put(SonyHeadphonesCapabilities.EqualizerSimple, R.xml.devicesettings_sony_headphones_equalizer);
|
put(SonyHeadphonesCapabilities.EqualizerSimple, R.xml.devicesettings_sony_headphones_equalizer);
|
||||||
put(SonyHeadphonesCapabilities.EqualizerWithCustomBands, R.xml.devicesettings_sony_headphones_equalizer_with_custom_bands);
|
put(SonyHeadphonesCapabilities.EqualizerWithCustomBands, R.xml.devicesettings_sony_headphones_equalizer_with_custom_bands);
|
||||||
put(SonyHeadphonesCapabilities.SoundPosition, R.xml.devicesettings_sony_headphones_sound_position);
|
put(SonyHeadphonesCapabilities.SoundPosition, R.xml.devicesettings_sony_headphones_sound_position);
|
||||||
|
|||||||
+32
@@ -40,11 +40,13 @@ import android.app.ProgressDialog;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
|
import android.ranging.oob.DeviceHandle;
|
||||||
|
|
||||||
import androidx.preference.EditTextPreference;
|
import androidx.preference.EditTextPreference;
|
||||||
import androidx.preference.ListPreference;
|
import androidx.preference.ListPreference;
|
||||||
import androidx.preference.MultiSelectListPreference;
|
import androidx.preference.MultiSelectListPreference;
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
|
import androidx.preference.SwitchPreferenceCompat;
|
||||||
|
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||||
|
|
||||||
@@ -55,6 +57,7 @@ import java.util.Locale;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import nodomain.freeyourgadget.gadgetbridge.R;
|
import nodomain.freeyourgadget.gadgetbridge.R;
|
||||||
|
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer;
|
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsHandler;
|
import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsHandler;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.prefs.AmbientSoundControl;
|
import nodomain.freeyourgadget.gadgetbridge.devices.sony.headphones.prefs.AmbientSoundControl;
|
||||||
@@ -116,6 +119,35 @@ public class SonyHeadphonesSettingsCustomizer implements DeviceSpecificSettingsC
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Preference prefSonyWarningSbcCodec = handler.findPreference("pref_sony_warning_sbc_codec_1");
|
||||||
|
if (prefSonyWarningSbcCodec != null) {
|
||||||
|
final SwitchPreferenceCompat prefAudioHd = handler.findPreference(DeviceSettingsPreferenceConst.PREF_SONY_AUDIO_HD);
|
||||||
|
if (prefAudioHd != null) {
|
||||||
|
prefAudioHd.setOnPreferenceChangeListener((ignored, newValue) -> {
|
||||||
|
handleScbWarning((boolean) newValue, handler);
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
handleScbWarning(prefAudioHd.isChecked(), handler);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void handleScbWarning(final boolean hdEnabled, final DeviceSpecificSettingsHandler handler) {
|
||||||
|
final Preference prefSonyWarningSbcCodec = handler.findPreference("pref_sony_warning_sbc_codec_1");
|
||||||
|
if (prefSonyWarningSbcCodec != null) {
|
||||||
|
prefSonyWarningSbcCodec.setVisible(hdEnabled);
|
||||||
|
}
|
||||||
|
final Preference[] prefsToToggle = new Preference[]{
|
||||||
|
handler.findPreference(PREF_SONY_EQUALIZER),
|
||||||
|
handler.findPreference(PREF_SONY_SOUND_POSITION),
|
||||||
|
handler.findPreference(PREF_SONY_SURROUND_MODE)
|
||||||
|
};
|
||||||
|
for (Preference preference : prefsToToggle) {
|
||||||
|
if (preference != null) {
|
||||||
|
preference.setEnabled(!hdEnabled);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -3385,6 +3385,7 @@
|
|||||||
<string name="sony_equalizer_band_16000">16k</string>
|
<string name="sony_equalizer_band_16000">16k</string>
|
||||||
<string name="sony_equalizer_clear_bass">Clear Bass</string>
|
<string name="sony_equalizer_clear_bass">Clear Bass</string>
|
||||||
<string name="sony_audio_hd">Audio HD</string>
|
<string name="sony_audio_hd">Audio HD</string>
|
||||||
|
<string name="sony_audio_hd_summary">Enable higher quality audio codec (LDAC)</string>
|
||||||
<string name="sony_audio_upsampling">Audio Upsampling</string>
|
<string name="sony_audio_upsampling">Audio Upsampling</string>
|
||||||
<string name="sony_button_function_nc_ambient">NC/Ambient Button Function</string>
|
<string name="sony_button_function_nc_ambient">NC/Ambient Button Function</string>
|
||||||
<string name="sony_button_function_nc_ambient_switch_ambient_sound">Switch ambient sound</string>
|
<string name="sony_button_function_nc_ambient_switch_ambient_sound">Switch ambient sound</string>
|
||||||
|
|||||||
@@ -5,5 +5,6 @@
|
|||||||
android:icon="@drawable/ic_extension"
|
android:icon="@drawable/ic_extension"
|
||||||
android:key="pref_sony_audio_hd"
|
android:key="pref_sony_audio_hd"
|
||||||
android:layout="@layout/preference_checkbox"
|
android:layout="@layout/preference_checkbox"
|
||||||
|
android:summary="@string/sony_audio_hd_summary"
|
||||||
android:title="@string/sony_audio_hd" />
|
android:title="@string/sony_audio_hd" />
|
||||||
</androidx.preference.PreferenceScreen>
|
</androidx.preference.PreferenceScreen>
|
||||||
|
|||||||
Reference in New Issue
Block a user