mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-09-01 12:05:37 +02:00
Settings search (wip)
This commit is contained in:
parent
834c773dec
commit
eb4e65985c
@ -24,6 +24,7 @@ vendor's servers.
|
||||
* Gadgetbridge is licensed under the AGPLv3
|
||||
* Files in app/src/main/java/net/osmand/ and app/src/main/aidl/net/osmand/ are licensed under the GPLv3 by OsmAnd BV
|
||||
* Files in app/src/main/java/org/bouncycastle are licensed under the MIT license by The Legion of the Bouncy Castle Inc.
|
||||
* File app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/SearchPreferenceHighlighter.java is licensed under the MIT license by ByteHamster
|
||||
|
||||
## Download
|
||||
|
||||
|
@ -246,6 +246,7 @@ dependencies {
|
||||
implementation 'com.github.wax911.android-emojify:gson:1.9.3'
|
||||
implementation 'com.google.protobuf:protobuf-javalite:4.27.3'
|
||||
implementation 'com.android.volley:volley:1.2.1'
|
||||
implementation 'com.github.ByteHamster:SearchPreference:v2.5.1'
|
||||
|
||||
// Bouncy Castle is included directly in GB, to avoid pulling the entire dependency
|
||||
// It's included in the org.bouncycastle.shaded package, to fix conflicts with roboelectric
|
||||
|
@ -39,15 +39,15 @@ import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceFragmentCompat;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import nodomain.freeyourgadget.gadgetbridge.GBApplication;
|
||||
import nodomain.freeyourgadget.gadgetbridge.R;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceManager;
|
||||
|
||||
public class AboutUserPreferencesActivity extends AbstractSettingsActivityV2 {
|
||||
@Override
|
||||
protected String fragmentTag() {
|
||||
return AboutUserPreferencesFragment.FRAGMENT_TAG;
|
||||
}
|
||||
private static final Logger LOG = LoggerFactory.getLogger(AboutUserPreferencesActivity.class);
|
||||
|
||||
@Override
|
||||
protected PreferenceFragmentCompat newFragment() {
|
||||
@ -55,8 +55,6 @@ public class AboutUserPreferencesActivity extends AbstractSettingsActivityV2 {
|
||||
}
|
||||
|
||||
public static class AboutUserPreferencesFragment extends AbstractPreferenceFragment {
|
||||
static final String FRAGMENT_TAG = "ABOUT_USER_PREFERENCES_FRAGMENT";
|
||||
|
||||
@Override
|
||||
public void onCreatePreferences(final Bundle savedInstanceState, final String rootKey) {
|
||||
setPreferencesFromResource(R.xml.about_user, rootKey);
|
||||
|
@ -19,8 +19,15 @@ package nodomain.freeyourgadget.gadgetbridge.activities;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.XmlRes;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.core.view.MenuProvider;
|
||||
import androidx.fragment.app.DialogFragment;
|
||||
import androidx.preference.EditTextPreference;
|
||||
import androidx.preference.ListPreference;
|
||||
@ -33,6 +40,8 @@ import androidx.preference.PreferenceScreen;
|
||||
import androidx.preference.SeekBarPreference;
|
||||
import androidx.preference.SwitchPreferenceCompat;
|
||||
|
||||
import com.bytehamster.lib.preferencesearch.SearchConfiguration;
|
||||
import com.bytehamster.lib.preferencesearch.SearchPreference;
|
||||
import com.mobeta.android.dslv.DragSortListPreference;
|
||||
import com.mobeta.android.dslv.DragSortListPreferenceFragment;
|
||||
|
||||
@ -54,11 +63,59 @@ import nodomain.freeyourgadget.gadgetbridge.util.dialogs.MaterialEditTextPrefere
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.dialogs.MaterialListPreferenceDialogFragment;
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.dialogs.MaterialMultiSelectListPreferenceDialogFragment;
|
||||
|
||||
public abstract class AbstractPreferenceFragment extends PreferenceFragmentCompat {
|
||||
protected static final Logger LOG = LoggerFactory.getLogger(AbstractPreferenceFragment.class);
|
||||
public abstract class AbstractPreferenceFragment extends PreferenceFragmentCompat implements MenuProvider {
|
||||
private static final Logger LOG = LoggerFactory.getLogger(AbstractPreferenceFragment.class);
|
||||
|
||||
public static final String FRAGMENT_TAG = "preference_fragment";
|
||||
|
||||
private final SharedPreferencesChangeHandler sharedPreferencesChangeHandler = new SharedPreferencesChangeHandler();
|
||||
|
||||
private SearchConfiguration mSearchConfiguration;
|
||||
|
||||
@Override
|
||||
public void onCreate(@Nullable final Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
requireActivity().addMenuProvider(this);
|
||||
|
||||
ensureSearchConfiguration();
|
||||
}
|
||||
|
||||
private SearchConfiguration ensureSearchConfiguration() {
|
||||
if (mSearchConfiguration == null) {
|
||||
final SearchPreference searchPreference = findPreference("searchPreference");
|
||||
if (searchPreference != null) {
|
||||
mSearchConfiguration = searchPreference.getSearchConfiguration();
|
||||
mSearchConfiguration.setActivity((AppCompatActivity) requireActivity());
|
||||
mSearchConfiguration.setHistoryId(requireActivity().getClass().getName());
|
||||
mSearchConfiguration.setBreadcrumbsEnabled(true);
|
||||
}
|
||||
}
|
||||
|
||||
return mSearchConfiguration;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreateMenu(@NonNull final Menu menu, @NonNull final MenuInflater inflater) {
|
||||
if (mSearchConfiguration != null) {
|
||||
inflater.inflate(R.menu.menu_preferences, menu);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onMenuItemSelected(@NonNull final MenuItem item) {
|
||||
final int itemId = item.getItemId();
|
||||
if (itemId == R.id.preferences_search) {
|
||||
final SearchPreference searchPreference = findPreference("searchPreference");
|
||||
if (searchPreference != null) {
|
||||
mSearchConfiguration.showSearchFragment();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
@ -142,6 +199,29 @@ public abstract class AbstractPreferenceFragment extends PreferenceFragmentCompa
|
||||
}
|
||||
}
|
||||
|
||||
protected void index(@XmlRes final int preferencesResId) {
|
||||
index(preferencesResId, 0);
|
||||
}
|
||||
|
||||
protected void index(final Preference preference) {
|
||||
ensureSearchConfiguration();
|
||||
|
||||
if (mSearchConfiguration != null) {
|
||||
mSearchConfiguration.indexItem(preference);
|
||||
}
|
||||
}
|
||||
|
||||
protected void index(@XmlRes final int preferencesResId, final int breadcrumb) {
|
||||
ensureSearchConfiguration();
|
||||
|
||||
if (mSearchConfiguration != null) {
|
||||
final SearchConfiguration.SearchIndexItem indexItem = mSearchConfiguration.index(preferencesResId);
|
||||
if (breadcrumb != 0) {
|
||||
indexItem.addBreadcrumb(breadcrumb);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Reload the preferences in the current screen. This is needed when the user enters or exists a PreferenceScreen,
|
||||
* otherwise the settings won't be reloaded by the {@link SharedPreferencesChangeHandler}, as the preferences return
|
||||
|
@ -16,41 +16,67 @@
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
package nodomain.freeyourgadget.gadgetbridge.activities;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.MenuItem;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.ActionBar;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceFragmentCompat;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
import nodomain.freeyourgadget.gadgetbridge.R;
|
||||
import com.bytehamster.lib.preferencesearch.SearchPreferenceResult;
|
||||
import com.bytehamster.lib.preferencesearch.SearchPreferenceResultListener;
|
||||
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.SearchPreferenceHighlighter;
|
||||
|
||||
public abstract class AbstractSettingsActivityV2 extends AbstractGBActivity implements
|
||||
PreferenceFragmentCompat.OnPreferenceStartScreenCallback {
|
||||
PreferenceFragmentCompat.OnPreferenceStartScreenCallback,
|
||||
SearchPreferenceResultListener {
|
||||
|
||||
public static final String EXTRA_PREF_SCREEN = "preferenceScreen";
|
||||
public static final String EXTRA_PREF_HIGHLIGHT = "preferenceToHighlight";
|
||||
|
||||
protected abstract String fragmentTag();
|
||||
protected abstract PreferenceFragmentCompat newFragment();
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_device_settings);
|
||||
if (savedInstanceState == null) {
|
||||
Fragment fragment = getSupportFragmentManager().findFragmentByTag(fragmentTag());
|
||||
PreferenceFragmentCompat fragment = (PreferenceFragmentCompat) getSupportFragmentManager().findFragmentByTag(AbstractPreferenceFragment.FRAGMENT_TAG);
|
||||
if (fragment == null) {
|
||||
fragment = newFragment();
|
||||
}
|
||||
final String prefScreen = getIntent().getStringExtra(EXTRA_PREF_SCREEN);
|
||||
if (prefScreen != null) {
|
||||
final Bundle args;
|
||||
if (fragment.getArguments() != null) {
|
||||
args = fragment.getArguments();
|
||||
} else {
|
||||
args = new Bundle();
|
||||
fragment.setArguments(args);
|
||||
}
|
||||
args.putString(PreferenceFragmentCompat.ARG_PREFERENCE_ROOT, prefScreen);
|
||||
}
|
||||
|
||||
getSupportFragmentManager()
|
||||
.beginTransaction()
|
||||
.replace(R.id.settings_container, fragment, fragmentTag())
|
||||
.replace(android.R.id.content, fragment, AbstractPreferenceFragment.FRAGMENT_TAG)
|
||||
.commit();
|
||||
|
||||
final String highlightKey = getIntent().getStringExtra(EXTRA_PREF_HIGHLIGHT);
|
||||
if (highlightKey != null) {
|
||||
SearchPreferenceHighlighter.highlight(fragment, highlightKey);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceStartScreen(final PreferenceFragmentCompat caller, final PreferenceScreen preferenceScreen) {
|
||||
public boolean onPreferenceStartScreen(@NonNull final PreferenceFragmentCompat caller,
|
||||
@NonNull final PreferenceScreen preferenceScreen) {
|
||||
final PreferenceFragmentCompat fragment = newFragment();
|
||||
final Bundle args;
|
||||
if (fragment.getArguments() != null) {
|
||||
@ -63,7 +89,7 @@ public abstract class AbstractSettingsActivityV2 extends AbstractGBActivity impl
|
||||
|
||||
getSupportFragmentManager()
|
||||
.beginTransaction()
|
||||
.replace(R.id.settings_container, fragment, preferenceScreen.getKey())
|
||||
.replace(android.R.id.content, fragment, preferenceScreen.getKey())
|
||||
.addToBackStack(preferenceScreen.getKey())
|
||||
.commit();
|
||||
|
||||
@ -83,6 +109,57 @@ public abstract class AbstractSettingsActivityV2 extends AbstractGBActivity impl
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSearchResultClicked(final SearchPreferenceResult result) {
|
||||
//result.closeSearchPage(this);
|
||||
//// FIXME not sure why we need this, but the search fragment stays in the back stack otherwise
|
||||
//getSupportFragmentManager().popBackStack(SearchPreferenceFragment.TAG, FragmentManager.POP_BACK_STACK_INCLUSIVE);
|
||||
|
||||
final FragmentManager fragmentManager = getSupportFragmentManager();
|
||||
final Fragment currentFragment = fragmentManager.findFragmentByTag(AbstractPreferenceFragment.FRAGMENT_TAG);
|
||||
if (currentFragment == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(currentFragment instanceof PreferenceFragmentCompat)) {
|
||||
return;
|
||||
}
|
||||
|
||||
final PreferenceFragmentCompat currentPreferenceFragment = (PreferenceFragmentCompat) currentFragment;
|
||||
final String currentScreen = currentPreferenceFragment.getPreferenceScreen().getKey();
|
||||
|
||||
if (result.getScreen() != null && !result.getScreen().equals(currentScreen)) {
|
||||
final PreferenceFragmentCompat newFragmentForScreen = newFragment();
|
||||
final Bundle args;
|
||||
if (newFragmentForScreen.getArguments() != null) {
|
||||
args = newFragmentForScreen.getArguments();
|
||||
} else {
|
||||
args = new Bundle();
|
||||
}
|
||||
args.putString(PreferenceFragmentCompat.ARG_PREFERENCE_ROOT, result.getScreen());
|
||||
newFragmentForScreen.setArguments(args);
|
||||
|
||||
fragmentManager.beginTransaction()
|
||||
.replace(android.R.id.content, newFragmentForScreen)
|
||||
.addToBackStack(null)
|
||||
.commit();
|
||||
result.highlight(newFragmentForScreen);
|
||||
} else {
|
||||
final Preference preference = currentPreferenceFragment.findPreference(result.getKey());
|
||||
if (preference != null) {
|
||||
result.highlight(currentPreferenceFragment);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void openActivityAndHighlight(final Class<? extends AbstractSettingsActivityV2> clazz,
|
||||
final SearchPreferenceResult result) {
|
||||
final Intent intent = new Intent(this, clazz);
|
||||
intent.putExtra(EXTRA_PREF_SCREEN, result.getScreen());
|
||||
intent.putExtra(EXTRA_PREF_HIGHLIGHT, result.getKey());
|
||||
startActivity(intent);
|
||||
}
|
||||
|
||||
public void setActionBarTitle(final CharSequence title) {
|
||||
final ActionBar actionBar = getSupportActionBar();
|
||||
if (actionBar != null) {
|
||||
|
@ -34,19 +34,17 @@ import nodomain.freeyourgadget.gadgetbridge.R;
|
||||
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
|
||||
|
||||
public class DashboardPreferencesActivity extends AbstractSettingsActivityV2 {
|
||||
@Override
|
||||
protected String fragmentTag() {
|
||||
return DashboardPreferencesFragment.FRAGMENT_TAG;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected PreferenceFragmentCompat newFragment() {
|
||||
return new DashboardPreferencesFragment();
|
||||
}
|
||||
|
||||
public static class DashboardPreferencesFragment extends AbstractPreferenceFragment {
|
||||
static final String FRAGMENT_TAG = "DASHBOARD_PREFERENCES_FRAGMENT";
|
||||
@Override
|
||||
protected void onCreate(final Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
}
|
||||
|
||||
public static class DashboardPreferencesFragment extends AbstractPreferenceFragment {
|
||||
@Override
|
||||
public void onCreatePreferences(final Bundle savedInstanceState, final String rootKey) {
|
||||
setPreferencesFromResource(R.xml.dashboard_preferences, rootKey);
|
||||
|
@ -38,11 +38,6 @@ public class NotificationManagementActivity extends AbstractSettingsActivityV2 {
|
||||
private static final int RINGTONE_REQUEST_CODE = 4712;
|
||||
private static final String DEFAULT_RINGTONE_URI = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE).toString();
|
||||
|
||||
@Override
|
||||
protected String fragmentTag() {
|
||||
return NotificationPreferencesFragment.FRAGMENT_TAG;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected PreferenceFragmentCompat newFragment() {
|
||||
return new NotificationPreferencesFragment();
|
||||
@ -51,8 +46,6 @@ public class NotificationManagementActivity extends AbstractSettingsActivityV2 {
|
||||
public static class NotificationPreferencesFragment extends AbstractPreferenceFragment {
|
||||
private static final Logger LOG = LoggerFactory.getLogger(NotificationPreferencesFragment.class);
|
||||
|
||||
static final String FRAGMENT_TAG = "NOTIFICATION_PREFERENCES_FRAGMENT";
|
||||
|
||||
@Override
|
||||
protected void onSharedPreferenceChanged(final Preference preference) {
|
||||
if (GBPrefs.PING_TONE.equals(preference.getKey())) {
|
||||
|
@ -34,6 +34,7 @@ import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.provider.DocumentsContract;
|
||||
import android.text.InputType;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ArrayAdapter;
|
||||
@ -48,6 +49,7 @@ import androidx.preference.ListPreference;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceFragmentCompat;
|
||||
|
||||
import com.bytehamster.lib.preferencesearch.SearchPreferenceResult;
|
||||
import com.google.android.material.color.DynamicColors;
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
|
||||
@ -77,21 +79,33 @@ import nodomain.freeyourgadget.gadgetbridge.util.Prefs;
|
||||
public class SettingsActivity extends AbstractSettingsActivityV2 {
|
||||
public static final String PREF_MEASUREMENT_SYSTEM = "measurement_system";
|
||||
|
||||
@Override
|
||||
protected String fragmentTag() {
|
||||
return SettingsFragment.FRAGMENT_TAG;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected PreferenceFragmentCompat newFragment() {
|
||||
return new SettingsFragment();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSearchResultClicked(final SearchPreferenceResult result) {
|
||||
if (result.getResourceFile() == R.xml.about_user) {
|
||||
openActivityAndHighlight(AboutUserPreferencesActivity.class, result);
|
||||
} else if (result.getResourceFile() == R.xml.notifications_preferences) {
|
||||
openActivityAndHighlight(NotificationManagementActivity.class, result);
|
||||
} else if (result.getResourceFile() == R.xml.dashboard_preferences) {
|
||||
openActivityAndHighlight(DashboardPreferencesActivity.class, result);
|
||||
} else if (result.getResourceFile() == R.xml.charts_preferences) {
|
||||
openActivityAndHighlight(ChartsPreferencesActivity.class, result);
|
||||
} else if (result.getResourceFile() == R.xml.sleepasandroid_preferences) {
|
||||
openActivityAndHighlight(SleepAsAndroidPreferencesActivity.class, result);
|
||||
} else if (result.getResourceFile() == R.xml.discovery_pairing_preferences) {
|
||||
openActivityAndHighlight(DiscoveryPairingPreferenceActivity.class, result);
|
||||
} else {
|
||||
super.onSearchResultClicked(result);
|
||||
}
|
||||
}
|
||||
|
||||
public static class SettingsFragment extends AbstractPreferenceFragment {
|
||||
private static final Logger LOG = LoggerFactory.getLogger(SettingsActivity.class);
|
||||
|
||||
static final String FRAGMENT_TAG = "SETTINGS_FRAGMENT";
|
||||
|
||||
private static final int EXPORT_LOCATION_FILE_REQUEST_CODE = 4711;
|
||||
private EditText fitnessAppEditText = null;
|
||||
private int fitnessAppSelectionListSpinnerFirstRun = 0;
|
||||
@ -99,6 +113,13 @@ public class SettingsActivity extends AbstractSettingsActivityV2 {
|
||||
@Override
|
||||
public void onCreatePreferences(final Bundle savedInstanceState, final String rootKey) {
|
||||
setPreferencesFromResource(R.xml.preferences, rootKey);
|
||||
index(R.xml.preferences);
|
||||
index(R.xml.about_user, R.string.activity_prefs_about_you);
|
||||
index(R.xml.notifications_preferences, R.string.title_activity_notification_management);
|
||||
index(R.xml.dashboard_preferences, R.string.bottom_nav_dashboard);
|
||||
index(R.xml.charts_preferences, R.string.activity_prefs_charts);
|
||||
index(R.xml.sleepasandroid_preferences, R.string.sleepasandroid_settings);
|
||||
index(R.xml.discovery_pairing_preferences, R.string.activity_prefs_discovery_pairing);
|
||||
|
||||
setInputTypeFor("rtl_max_line_length", InputType.TYPE_CLASS_NUMBER);
|
||||
setInputTypeFor("location_latitude", InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED);
|
||||
@ -486,7 +507,8 @@ public class SettingsActivity extends AbstractSettingsActivityV2 {
|
||||
editor.putString("opentracks_packagename", fitnessAppEditText.getText().toString());
|
||||
editor.apply();
|
||||
})
|
||||
.setNegativeButton(R.string.Cancel, (dialog, which) -> {})
|
||||
.setNegativeButton(R.string.Cancel, (dialog, which) -> {
|
||||
})
|
||||
.show();
|
||||
return false;
|
||||
});
|
||||
@ -585,4 +607,13 @@ public class SettingsActivity extends AbstractSettingsActivityV2 {
|
||||
LocalBroadcastManager.getInstance(requireContext()).sendBroadcast(intent);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
if (item.getItemId() == android.R.id.home) {
|
||||
onBackPressed();
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
}
|
||||
|
@ -22,19 +22,12 @@ import nodomain.freeyourgadget.gadgetbridge.util.GB;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.SleepAsAndroidFeature;
|
||||
|
||||
public class SleepAsAndroidPreferencesActivity extends AbstractSettingsActivityV2 {
|
||||
@Override
|
||||
protected String fragmentTag() {
|
||||
return SleepAsAndroidPreferencesFragment.FRAGMENT_TAG;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected PreferenceFragmentCompat newFragment() {
|
||||
return new SleepAsAndroidPreferencesFragment();
|
||||
}
|
||||
|
||||
public static class SleepAsAndroidPreferencesFragment extends AbstractPreferenceFragment {
|
||||
static final String FRAGMENT_TAG = "SLEEPASANDROID_PREFERENCES_FRAGMENT";
|
||||
|
||||
@Override
|
||||
public void onCreatePreferences(@Nullable Bundle savedInstanceState, @Nullable String rootKey) {
|
||||
setPreferencesFromResource(R.xml.sleepasandroid_preferences, rootKey);
|
||||
|
@ -39,11 +39,6 @@ import nodomain.freeyourgadget.gadgetbridge.util.preferences.DevicePrefs;
|
||||
public class ChartsPreferencesActivity extends AbstractSettingsActivityV2 {
|
||||
private GBDevice device;
|
||||
|
||||
@Override
|
||||
protected String fragmentTag() {
|
||||
return ChartsPreferencesFragment.FRAGMENT_TAG;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected PreferenceFragmentCompat newFragment() {
|
||||
return ChartsPreferencesFragment.newInstance(device);
|
||||
@ -57,8 +52,6 @@ public class ChartsPreferencesActivity extends AbstractSettingsActivityV2 {
|
||||
}
|
||||
|
||||
public static class ChartsPreferencesFragment extends AbstractPreferenceFragment {
|
||||
static final String FRAGMENT_TAG = "CHARTS_PREFERENCES_FRAGMENT";
|
||||
|
||||
private GBDevice device;
|
||||
|
||||
static ChartsPreferencesFragment newInstance(final GBDevice device) {
|
||||
|
@ -16,9 +16,14 @@
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
package nodomain.freeyourgadget.gadgetbridge.activities.devicesettings;
|
||||
|
||||
import android.content.Intent;
|
||||
|
||||
import androidx.preference.PreferenceFragmentCompat;
|
||||
|
||||
import com.bytehamster.lib.preferencesearch.SearchPreferenceResult;
|
||||
|
||||
import nodomain.freeyourgadget.gadgetbridge.activities.AbstractSettingsActivityV2;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
|
||||
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
|
||||
|
||||
public class DeviceSettingsActivity extends AbstractSettingsActivityV2 {
|
||||
@ -30,11 +35,6 @@ public class DeviceSettingsActivity extends AbstractSettingsActivityV2 {
|
||||
APPLICATION_SETTINGS
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String fragmentTag() {
|
||||
return DeviceSpecificSettingsFragment.FRAGMENT_TAG;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected PreferenceFragmentCompat newFragment() {
|
||||
final GBDevice device = getIntent().getParcelableExtra(GBDevice.EXTRA_DEVICE);
|
||||
@ -42,4 +42,20 @@ public class DeviceSettingsActivity extends AbstractSettingsActivityV2 {
|
||||
|
||||
return DeviceSpecificSettingsFragment.newInstance(device, menu_entry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSearchResultClicked(final SearchPreferenceResult result) {
|
||||
final GBDevice device = getIntent().getParcelableExtra(GBDevice.EXTRA_DEVICE);
|
||||
DeviceCoordinator coordinator = device.getDeviceCoordinator();
|
||||
DeviceSpecificSettings deviceSpecificSettings = coordinator.getDeviceSpecificSettings(device);
|
||||
|
||||
String rootScreenForSubScreen = deviceSpecificSettings.getRootScreenForSubScreen(result.getResourceFile());
|
||||
|
||||
if (rootScreenForSubScreen != null) {
|
||||
final Intent intent = getIntent(); // FIXME new Intent(this, DeviceSettingsActivity.class);
|
||||
intent.putExtra(EXTRA_PREF_SCREEN, rootScreenForSubScreen);
|
||||
intent.putExtra(EXTRA_PREF_HIGHLIGHT, result.getKey());
|
||||
startActivity(intent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -29,6 +29,8 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
import nodomain.freeyourgadget.gadgetbridge.R;
|
||||
|
||||
/**
|
||||
* A class that contains the device-specific settings screens for a device. All the integers in this
|
||||
* class correspond to xml resources for preferences.
|
||||
@ -115,6 +117,25 @@ public class DeviceSpecificSettings implements Parcelable {
|
||||
Objects.requireNonNull(subScreens.get(e.getKey())).add(screen);
|
||||
}
|
||||
}
|
||||
|
||||
// Ensure search is always at the start
|
||||
final int searchIndex = rootScreens.indexOf(R.xml.devicesettings_search);
|
||||
if (searchIndex >= 0) {
|
||||
rootScreens.remove(searchIndex);
|
||||
rootScreens.add(0, R.xml.devicesettings_search);
|
||||
}
|
||||
}
|
||||
|
||||
public String getRootScreenForSubScreen(final int subScreen) {
|
||||
for (final Map.Entry<String, List<Integer>> e : subScreens.entrySet()) {
|
||||
for (final Integer ss : e.getValue()) {
|
||||
if (ss == subScreen) {
|
||||
return e.getKey();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<Integer> getRootScreens() {
|
||||
|
@ -50,6 +50,8 @@ import androidx.preference.PreferenceCategory;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
import androidx.preference.SwitchPreferenceCompat;
|
||||
|
||||
import com.bytehamster.lib.preferencesearch.SearchPreferenceResult;
|
||||
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@ -89,8 +91,6 @@ public class DeviceSpecificSettingsFragment extends AbstractPreferenceFragment i
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(DeviceSpecificSettingsFragment.class);
|
||||
|
||||
static final String FRAGMENT_TAG = "DEVICE_SPECIFIC_SETTINGS_FRAGMENT";
|
||||
|
||||
private DeviceSpecificSettingsCustomizer deviceSpecificSettingsCustomizer;
|
||||
|
||||
private GBDevice device;
|
||||
@ -149,6 +149,22 @@ public class DeviceSpecificSettingsFragment extends AbstractPreferenceFragment i
|
||||
addPreferencesFromResource(setting);
|
||||
}
|
||||
}
|
||||
|
||||
for (final Integer rootId : deviceSpecificSettings.getRootScreens()) {
|
||||
index(rootId);
|
||||
DeviceSpecificSettingsScreen rootScreen = DeviceSpecificSettingsScreen.fromXml(rootId);
|
||||
|
||||
if (rootScreen != null) {
|
||||
if (deviceSpecificSettings.getScreen(rootScreen.getKey()) != null) {
|
||||
for (final Integer screen : deviceSpecificSettings.getScreen(rootScreen.getKey())) {
|
||||
index(screen);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
getBatterySettings().forEach(this::index);
|
||||
} else {
|
||||
// First attempt to find a known screen for this key
|
||||
final List<Integer> screenSettings = deviceSpecificSettings.getScreen(rootKey);
|
||||
@ -197,16 +213,19 @@ public class DeviceSpecificSettingsFragment extends AbstractPreferenceFragment i
|
||||
|
||||
private void addDynamicSettings(final String rootKey) {
|
||||
if (rootKey.equals(DeviceSpecificSettingsScreen.BATTERY.getKey())) {
|
||||
addBatterySettings();
|
||||
final PreferenceScreen batteryScreen = getPreferenceScreen();
|
||||
if (batteryScreen == null) {
|
||||
return;
|
||||
}
|
||||
getBatterySettings().forEach(batteryScreen::addPreference);
|
||||
}
|
||||
}
|
||||
|
||||
private void addBatterySettings() {
|
||||
private List<Preference> getBatterySettings() {
|
||||
final List<Preference> preferences = new ArrayList<>();
|
||||
|
||||
final DeviceCoordinator coordinator = device.getDeviceCoordinator();
|
||||
final PreferenceScreen batteryScreen = getPreferenceScreen();
|
||||
if (batteryScreen == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
final BatteryConfig[] batteryConfigs = coordinator.getBatteryConfig(device);
|
||||
for (final BatteryConfig batteryConfig : batteryConfigs) {
|
||||
if (batteryConfigs.length > 1 || coordinator.addBatteryPollingSettings()) {
|
||||
@ -218,7 +237,7 @@ public class DeviceSpecificSettingsFragment extends AbstractPreferenceFragment i
|
||||
} else {
|
||||
prefHeader.setTitle(requireContext().getString(R.string.battery_i, batteryConfig.getBatteryIndex()));
|
||||
}
|
||||
batteryScreen.addPreference(prefHeader);
|
||||
preferences.add(prefHeader);
|
||||
}
|
||||
|
||||
final SwitchPreferenceCompat showInNotification = new SwitchPreferenceCompat(requireContext());
|
||||
@ -227,7 +246,7 @@ public class DeviceSpecificSettingsFragment extends AbstractPreferenceFragment i
|
||||
showInNotification.setTitle(R.string.show_in_notification);
|
||||
showInNotification.setIconSpaceReserved(false);
|
||||
showInNotification.setDefaultValue(true);
|
||||
batteryScreen.addPreference(showInNotification);
|
||||
preferences.add(showInNotification);
|
||||
|
||||
final SwitchPreferenceCompat notifyLowEnabled = new SwitchPreferenceCompat(requireContext());
|
||||
notifyLowEnabled.setLayoutResource(R.layout.preference_checkbox);
|
||||
@ -235,7 +254,7 @@ public class DeviceSpecificSettingsFragment extends AbstractPreferenceFragment i
|
||||
notifyLowEnabled.setTitle(R.string.battery_low_notify_enabled);
|
||||
notifyLowEnabled.setDefaultValue(true);
|
||||
notifyLowEnabled.setIconSpaceReserved(false);
|
||||
batteryScreen.addPreference(notifyLowEnabled);
|
||||
preferences.add(notifyLowEnabled);
|
||||
|
||||
final EditTextPreference notifyLowThreshold = new EditTextPreference(requireContext());
|
||||
notifyLowThreshold.setKey(PREF_BATTERY_NOTIFY_LOW_THRESHOLD + batteryConfig.getBatteryIndex());
|
||||
@ -252,7 +271,7 @@ public class DeviceSpecificSettingsFragment extends AbstractPreferenceFragment i
|
||||
R.string.battery_percentage_str
|
||||
));
|
||||
|
||||
batteryScreen.addPreference(notifyLowThreshold);
|
||||
preferences.add(notifyLowThreshold);
|
||||
|
||||
final SwitchPreferenceCompat notifyFullEnabled = new SwitchPreferenceCompat(requireContext());
|
||||
notifyFullEnabled.setLayoutResource(R.layout.preference_checkbox);
|
||||
@ -260,7 +279,7 @@ public class DeviceSpecificSettingsFragment extends AbstractPreferenceFragment i
|
||||
notifyFullEnabled.setTitle(R.string.battery_full_notify_enabled);
|
||||
notifyFullEnabled.setDefaultValue(true);
|
||||
notifyFullEnabled.setIconSpaceReserved(false);
|
||||
batteryScreen.addPreference(notifyFullEnabled);
|
||||
preferences.add(notifyFullEnabled);
|
||||
|
||||
final EditTextPreference notifyFullThreshold = new EditTextPreference(requireContext());
|
||||
notifyFullThreshold.setKey(PREF_BATTERY_NOTIFY_FULL_THRESHOLD + batteryConfig.getBatteryIndex());
|
||||
@ -276,7 +295,7 @@ public class DeviceSpecificSettingsFragment extends AbstractPreferenceFragment i
|
||||
requireContext().getString(R.string.default_percentage, batteryConfig.getDefaultFullThreshold()),
|
||||
R.string.battery_percentage_str
|
||||
));
|
||||
batteryScreen.addPreference(notifyFullThreshold);
|
||||
preferences.add(notifyFullThreshold);
|
||||
}
|
||||
|
||||
if (coordinator.addBatteryPollingSettings()) {
|
||||
@ -285,7 +304,7 @@ public class DeviceSpecificSettingsFragment extends AbstractPreferenceFragment i
|
||||
prefHeader.setIconSpaceReserved(false);
|
||||
prefHeader.setTitle(R.string.pref_battery_polling_configuration);
|
||||
prefHeader.setSummary(R.string.pref_battery_polling_summary);
|
||||
batteryScreen.addPreference(prefHeader);
|
||||
preferences.add(prefHeader);
|
||||
|
||||
final SwitchPreferenceCompat pollingToggle = new SwitchPreferenceCompat(requireContext());
|
||||
pollingToggle.setLayoutResource(R.layout.preference_checkbox);
|
||||
@ -293,7 +312,7 @@ public class DeviceSpecificSettingsFragment extends AbstractPreferenceFragment i
|
||||
pollingToggle.setTitle(R.string.pref_battery_polling_enable);
|
||||
pollingToggle.setDefaultValue(true);
|
||||
pollingToggle.setIconSpaceReserved(false);
|
||||
batteryScreen.addPreference(pollingToggle);
|
||||
preferences.add(pollingToggle);
|
||||
|
||||
final EditTextPreference pollingInterval = new EditTextPreference(requireContext());
|
||||
pollingInterval.setKey(PREF_BATTERY_POLLING_INTERVAL);
|
||||
@ -310,8 +329,10 @@ public class DeviceSpecificSettingsFragment extends AbstractPreferenceFragment i
|
||||
getString(R.string.interval_fifteen_minutes),
|
||||
R.string.pref_battery_polling_interval_format
|
||||
));
|
||||
batteryScreen.addPreference(pollingInterval);
|
||||
preferences.add(pollingInterval);
|
||||
}
|
||||
|
||||
return preferences;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -56,4 +56,14 @@ public enum DeviceSpecificSettingsScreen {
|
||||
public int getXml() {
|
||||
return xml;
|
||||
}
|
||||
|
||||
public static DeviceSpecificSettingsScreen fromXml(final int xml) {
|
||||
for (final DeviceSpecificSettingsScreen screen : DeviceSpecificSettingsScreen.values()) {
|
||||
if (screen.xml == xml) {
|
||||
return screen;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@ -28,19 +28,12 @@ import nodomain.freeyourgadget.gadgetbridge.activities.AbstractSettingsActivityV
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.GB;
|
||||
|
||||
public class DiscoveryPairingPreferenceActivity extends AbstractSettingsActivityV2 {
|
||||
@Override
|
||||
protected String fragmentTag() {
|
||||
return DiscoveryPairingPreferenceFragment.FRAGMENT_TAG;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected PreferenceFragmentCompat newFragment() {
|
||||
return new DiscoveryPairingPreferenceFragment();
|
||||
}
|
||||
|
||||
public static class DiscoveryPairingPreferenceFragment extends AbstractPreferenceFragment {
|
||||
static final String FRAGMENT_TAG = "DISCOVERY_PAIRING_PREFERENCES_FRAGMENT";
|
||||
|
||||
@Override
|
||||
public void onCreatePreferences(final Bundle savedInstanceState, final String rootKey) {
|
||||
setPreferencesFromResource(R.xml.discovery_pairing_preferences, rootKey);
|
||||
|
@ -41,11 +41,6 @@ public class LoyaltyCardsSettingsActivity extends AbstractSettingsActivityV2 imp
|
||||
|
||||
private GBDevice device;
|
||||
|
||||
@Override
|
||||
protected String fragmentTag() {
|
||||
return LoyaltyCardsSettingsFragment.FRAGMENT_TAG;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected PreferenceFragmentCompat newFragment() {
|
||||
return LoyaltyCardsSettingsFragment.newInstance(device);
|
||||
|
@ -61,8 +61,6 @@ import nodomain.freeyourgadget.gadgetbridge.util.StringUtils;
|
||||
public class LoyaltyCardsSettingsFragment extends AbstractPreferenceFragment {
|
||||
private static final Logger LOG = LoggerFactory.getLogger(LoyaltyCardsSettingsFragment.class);
|
||||
|
||||
static final String FRAGMENT_TAG = "LOYALTY_CARDS_SETTINGS_FRAGMENT";
|
||||
|
||||
private GBDevice device;
|
||||
|
||||
private void setSettingsFileSuffix(final String settingsFileSuffix) {
|
||||
|
@ -140,6 +140,8 @@ public abstract class GarminCoordinator extends AbstractBLEDeviceCoordinator {
|
||||
public DeviceSpecificSettings getDeviceSpecificSettings(final GBDevice device) {
|
||||
final DeviceSpecificSettings deviceSpecificSettings = new DeviceSpecificSettings();
|
||||
|
||||
deviceSpecificSettings.addRootScreen(R.xml.devicesettings_search);
|
||||
|
||||
if (supports(device, GarminCapability.REALTIME_SETTINGS)) {
|
||||
deviceSpecificSettings.addRootScreen(R.xml.devicesettings_garmin_realtime_settings);
|
||||
}
|
||||
|
@ -26,11 +26,6 @@ public class GarminRealtimeSettingsActivity extends AbstractSettingsActivityV2 {
|
||||
|
||||
public static final String EXTRA_SCREEN_ID = "screenId";
|
||||
|
||||
@Override
|
||||
protected String fragmentTag() {
|
||||
return GarminRealtimeSettingsFragment.FRAGMENT_TAG;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected PreferenceFragmentCompat newFragment() {
|
||||
return GarminRealtimeSettingsFragment.newInstance(device, screenId);
|
||||
|
@ -77,8 +77,6 @@ public class GarminRealtimeSettingsFragment extends AbstractPreferenceFragment {
|
||||
|
||||
public static final int ROOT_SCREEN_ID = 36352;
|
||||
|
||||
static final String FRAGMENT_TAG = "GARMIN_REALTIME_SETTINGS_FRAGMENT";
|
||||
|
||||
private GBDevice device;
|
||||
private int screenId = ROOT_SCREEN_ID;
|
||||
|
||||
|
@ -353,6 +353,8 @@ public abstract class ZeppOsCoordinator extends HuamiCoordinator {
|
||||
public DeviceSpecificSettings getDeviceSpecificSettings(final GBDevice device) {
|
||||
final DeviceSpecificSettings deviceSpecificSettings = new DeviceSpecificSettings();
|
||||
|
||||
deviceSpecificSettings.addRootScreen(R.xml.devicesettings_search);
|
||||
|
||||
//
|
||||
// Apps
|
||||
// TODO: These should go somewhere else
|
||||
|
@ -35,11 +35,6 @@ import nodomain.freeyourgadget.gadgetbridge.activities.AbstractSettingsActivityV
|
||||
public class HybridHRWatchfaceSettingsActivity extends AbstractSettingsActivityV2 {
|
||||
static HybridHRWatchfaceSettings settings;
|
||||
|
||||
@Override
|
||||
protected String fragmentTag() {
|
||||
return HybridHRWatchfaceSettingsFragment.FRAGMENT_TAG;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected PreferenceFragmentCompat newFragment() {
|
||||
return new HybridHRWatchfaceSettingsFragment();
|
||||
@ -82,8 +77,6 @@ public class HybridHRWatchfaceSettingsActivity extends AbstractSettingsActivityV
|
||||
}
|
||||
|
||||
public static class HybridHRWatchfaceSettingsFragment extends AbstractPreferenceFragment implements Preference.OnPreferenceChangeListener {
|
||||
static final String FRAGMENT_TAG = "HYBRID_HR_WATCHFACE_SETTINGS_FRAGMENT";
|
||||
|
||||
@Override
|
||||
public void onCreatePreferences(final Bundle savedInstanceState, final String rootKey) {
|
||||
setPreferencesFromResource(R.xml.fossil_hr_watchface_settings, rootKey);
|
||||
|
@ -49,11 +49,6 @@ public class HybridHRWatchfaceWidgetActivity extends AbstractSettingsActivityV2
|
||||
private static final Boolean WIDGET_CUSTOM_DEFAULT_HIDE_TEXT = true;
|
||||
private static final Boolean WIDGET_CUSTOM_DEFAULT_SHOW_CIRCLE = true;
|
||||
|
||||
@Override
|
||||
protected String fragmentTag() {
|
||||
return HybridHRWatchfaceWidgetFragment.FRAGMENT_TAG;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected PreferenceFragmentCompat newFragment() {
|
||||
return new HybridHRWatchfaceWidgetFragment();
|
||||
@ -99,8 +94,6 @@ public class HybridHRWatchfaceWidgetActivity extends AbstractSettingsActivityV2
|
||||
}
|
||||
|
||||
public static class HybridHRWatchfaceWidgetFragment extends AbstractPreferenceFragment implements Preference.OnPreferenceChangeListener {
|
||||
static final String FRAGMENT_TAG = "HYBRID_HR_WATCHFACE_WIDGET_FRAGMENT";
|
||||
|
||||
@Override
|
||||
public void onCreatePreferences(final Bundle savedInstanceState, final String rootKey) {
|
||||
setPreferencesFromResource(R.xml.fossil_hr_widget_settings, rootKey);
|
||||
|
@ -0,0 +1,85 @@
|
||||
package nodomain.freeyourgadget.gadgetbridge.util;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Handler;
|
||||
import android.util.Log;
|
||||
import android.util.TypedValue;
|
||||
|
||||
import androidx.appcompat.content.res.AppCompatResources;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceFragmentCompat;
|
||||
import androidx.preference.PreferenceGroup;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
/**
|
||||
* Copied as-is from <a href="https://github.com/ByteHamster/SearchPreference/blob/0c5669a6423292f1653abd9259a4040dad96f84e/lib/src/main/java/com/bytehamster/lib/preferencesearch/SearchPreferenceResult.java">SearchPreferenceResult</a>, since the constructor is protected, and
|
||||
* we need a way to highlight preferences in a different activity due to the way Gadgetbridge is built.
|
||||
*/
|
||||
public class SearchPreferenceHighlighter {
|
||||
public static void highlight(final PreferenceFragmentCompat prefsFragment, final String key) {
|
||||
new Handler().post(() -> doHighlight(prefsFragment, key));
|
||||
}
|
||||
|
||||
private static void doHighlight(final PreferenceFragmentCompat prefsFragment, final String key) {
|
||||
final Preference prefResult = prefsFragment.findPreference(key);
|
||||
|
||||
if (prefResult == null) {
|
||||
Log.e("doHighlight", "Preference not found on given screen");
|
||||
return;
|
||||
}
|
||||
final RecyclerView recyclerView = prefsFragment.getListView();
|
||||
final RecyclerView.Adapter<?> adapter = recyclerView.getAdapter();
|
||||
if (adapter instanceof PreferenceGroup.PreferencePositionCallback) {
|
||||
PreferenceGroup.PreferencePositionCallback callback = (PreferenceGroup.PreferencePositionCallback) adapter;
|
||||
final int position = callback.getPreferenceAdapterPosition(prefResult);
|
||||
if (position != RecyclerView.NO_POSITION) {
|
||||
recyclerView.scrollToPosition(position);
|
||||
recyclerView.postDelayed(() -> {
|
||||
RecyclerView.ViewHolder holder = recyclerView.findViewHolderForAdapterPosition(position);
|
||||
if (holder != null) {
|
||||
Drawable oldBackground = holder.itemView.getBackground();
|
||||
int color = getColorFromAttr(prefsFragment.getContext(), android.R.attr.textColorPrimary);
|
||||
holder.itemView.setBackgroundColor(color & 0xffffff | 0x33000000);
|
||||
new Handler().postDelayed(() -> holder.itemView.setBackgroundDrawable(oldBackground), 1000);
|
||||
return;
|
||||
}
|
||||
highlightFallback(prefsFragment, prefResult);
|
||||
}, 200);
|
||||
return;
|
||||
}
|
||||
}
|
||||
highlightFallback(prefsFragment, prefResult);
|
||||
}
|
||||
|
||||
/**
|
||||
* Alternative highlight method if accessing the view did not work
|
||||
*/
|
||||
private static void highlightFallback(PreferenceFragmentCompat prefsFragment, final Preference prefResult) {
|
||||
final Drawable oldIcon = prefResult.getIcon();
|
||||
final boolean oldSpaceReserved = prefResult.isIconSpaceReserved();
|
||||
Drawable arrow = AppCompatResources.getDrawable(prefsFragment.getContext(), com.bytehamster.lib.preferencesearch.R.drawable.searchpreference_ic_arrow_right);
|
||||
int color = getColorFromAttr(prefsFragment.getContext(), android.R.attr.textColorPrimary);
|
||||
arrow.setColorFilter(color, PorterDuff.Mode.SRC_IN);
|
||||
prefResult.setIcon(arrow);
|
||||
prefsFragment.scrollToPreference(prefResult);
|
||||
new Handler().postDelayed(() -> {
|
||||
prefResult.setIcon(oldIcon);
|
||||
prefResult.setIconSpaceReserved(oldSpaceReserved);
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
private static int getColorFromAttr(Context context, int attr) {
|
||||
TypedValue typedValue = new TypedValue();
|
||||
Resources.Theme theme = context.getTheme();
|
||||
theme.resolveAttribute(attr, typedValue, true);
|
||||
TypedArray arr = context.obtainStyledAttributes(typedValue.data, new int[]{
|
||||
android.R.attr.textColorPrimary});
|
||||
int color = arr.getColor(0, 0xff3F51B5);
|
||||
arr.recycle();
|
||||
return color;
|
||||
}
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_margin="10dp">
|
||||
<FrameLayout
|
||||
android:id="@+id/settings_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"/>
|
||||
</LinearLayout>
|
12
app/src/main/res/menu/menu_preferences.xml
Normal file
12
app/src/main/res/menu/menu_preferences.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
tools:context=".activities.DashboardFragment">
|
||||
|
||||
<item
|
||||
android:id="@+id/preferences_search"
|
||||
android:icon="@drawable/searchpreference_ic_search"
|
||||
android:title="@string/menuitem_calendar"
|
||||
app:iconTint="?attr/actionmenu_icon_color"
|
||||
app:showAsAction="always" />
|
||||
</menu>
|
@ -2091,6 +2091,8 @@
|
||||
|
||||
<string name="error_background_service">Failed to start background service</string>
|
||||
<string name="error_background_service_reason_truncated">Starting the background service failed because…</string>
|
||||
<string name="app_crash_notification_title">%1s has crashed</string>
|
||||
<string name="app_crash_share_stacktrace">Share error</string>
|
||||
<string name="device_is_currently_bonded">ALREADY BONDED</string>
|
||||
<string name="device_requires_key">KEY REQUIRED, LONG PRESS TO ENTER</string>
|
||||
<string name="device_unsupported">UNSUPPORTED</string>
|
||||
|
@ -24,7 +24,7 @@
|
||||
android:entries="@array/gender"
|
||||
android:entryValues="@array/gender_values"
|
||||
android:key="activity_user_gender"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/activity_prefs_gender" />
|
||||
|
||||
<!--TODO: support localized heights and weights -->
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_always_on_display"
|
||||
android:key="pref_screen_always_on_display"
|
||||
@ -15,7 +16,7 @@
|
||||
android:entries="@array/always_on_display"
|
||||
android:entryValues="@array/always_on_display_values"
|
||||
android:key="always_on_display_mode"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_always_on_display" />
|
||||
|
||||
<nodomain.freeyourgadget.gadgetbridge.util.XTimePreference
|
||||
@ -39,7 +40,7 @@
|
||||
android:entries="@array/pref_huami2021_empty_array"
|
||||
android:entryValues="@array/pref_huami2021_empty_array"
|
||||
android:key="always_on_display_style"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_always_on_display_style" />
|
||||
</PreferenceScreen>
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_heartrate"
|
||||
android:key="screen_autoheartrate"
|
||||
@ -29,7 +30,7 @@
|
||||
android:entries="@array/autoheartrate_interval_hours"
|
||||
android:entryValues="@array/autoheartrate_interval_hours"
|
||||
android:key="pref_autoheartrate_interval"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_autoheartrate_interval" />
|
||||
|
||||
<nodomain.freeyourgadget.gadgetbridge.util.XTimePreference
|
||||
|
@ -1,11 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<ListPreference
|
||||
android:defaultValue="off"
|
||||
android:entries="@array/sony_automatic_power_off_names"
|
||||
android:entryValues="@array/sony_automatic_power_off_values"
|
||||
android:icon="@drawable/ic_power_settings_new"
|
||||
android:key="pref_sony_automatic_power_off"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/sony_automatic_power_off" />
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -1,11 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<ListPreference
|
||||
android:defaultValue="off"
|
||||
android:entries="@array/sony_automatic_power_off_when_taken_off_names"
|
||||
android:entryValues="@array/sony_automatic_power_off_when_taken_off_values"
|
||||
android:icon="@drawable/ic_power_settings_new"
|
||||
android:key="pref_sony_automatic_power_off"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/sony_automatic_power_off" />
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceScreen
|
||||
android:key="screen_button_actions"
|
||||
android:icon="@drawable/ic_smart_button"
|
||||
@ -36,7 +37,7 @@
|
||||
android:entryValues="@array/button_action_values"
|
||||
android:key="button_single_press_action_selection"
|
||||
android:defaultValue="@string/pref_button_action_disabled_value"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_button_single_press_action_selection_title" />
|
||||
|
||||
<ListPreference
|
||||
@ -45,7 +46,7 @@
|
||||
android:entries="@array/button_action_options"
|
||||
android:entryValues="@array/button_action_values"
|
||||
android:key="button_double_press_action_selection"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:defaultValue="@string/pref_button_action_disabled_value"
|
||||
android:title="@string/prefs_button_double_press_action_selection_title" />
|
||||
|
||||
@ -55,7 +56,7 @@
|
||||
android:entries="@array/button_action_options"
|
||||
android:entryValues="@array/button_action_values"
|
||||
android:key="button_triple_press_action_selection"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:defaultValue="@string/pref_button_action_disabled_value"
|
||||
android:title="@string/prefs_button_triple_press_action_selection_title" />
|
||||
|
||||
|
@ -1,11 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<ListPreference
|
||||
android:defaultValue=""
|
||||
android:entries="@array/pref_zepp_os_apps"
|
||||
android:entryValues="@array/pref_zepp_os_apps_values"
|
||||
android:icon="@drawable/ic_smart_button"
|
||||
android:key="pref_button_action_lower_short"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/pref_title_lower_button_short_press_action" />
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -1,11 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<ListPreference
|
||||
android:defaultValue=""
|
||||
android:entries="@array/pref_zepp_os_apps"
|
||||
android:entryValues="@array/pref_zepp_os_apps_values"
|
||||
android:icon="@drawable/ic_smart_button"
|
||||
android:key="pref_button_action_upper_long"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/pref_title_upper_button_long_press_action" />
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceScreen
|
||||
android:key="screen_button_actions"
|
||||
android:icon="@drawable/ic_smart_button"
|
||||
@ -36,7 +37,7 @@
|
||||
android:entryValues="@array/button_action_values"
|
||||
android:key="button_single_press_action_selection"
|
||||
android:defaultValue="@string/pref_button_action_disabled_value"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_button_single_press_action_selection_title" />
|
||||
|
||||
<ListPreference
|
||||
@ -45,7 +46,7 @@
|
||||
android:entries="@array/button_action_options"
|
||||
android:entryValues="@array/button_action_values"
|
||||
android:key="button_double_press_action_selection"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:defaultValue="@string/pref_button_action_disabled_value"
|
||||
android:title="@string/prefs_button_double_press_action_selection_title" />
|
||||
|
||||
@ -55,7 +56,7 @@
|
||||
android:entries="@array/button_action_options"
|
||||
android:entryValues="@array/button_action_values"
|
||||
android:key="button_triple_press_action_selection"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:defaultValue="@string/pref_button_action_disabled_value"
|
||||
android:title="@string/prefs_button_triple_press_action_selection_title" />
|
||||
|
||||
@ -66,7 +67,7 @@
|
||||
android:entryValues="@array/button_action_values"
|
||||
android:key="button_long_press_action_selection"
|
||||
android:defaultValue="@string/pref_button_action_disabled_value"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_button_long_press_action_selection_title" />
|
||||
<PreferenceCategory android:title="@string/prefs_button_variable_actions">
|
||||
|
||||
|
@ -1,11 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<ListPreference
|
||||
android:icon="@drawable/ic_sync"
|
||||
android:defaultValue="2"
|
||||
android:entries="@array/pref_casio_connection_duration"
|
||||
android:entryValues="@array/pref_casio_connection_duration_values"
|
||||
android:key="connection_duration"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/pref_app_connection_duration" />
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -1,12 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<ListPreference
|
||||
android:defaultValue="0"
|
||||
android:entries="@array/prefs_heartrate_measurement_interval"
|
||||
android:entryValues="@array/prefs_heartrate_measurement_interval_values"
|
||||
android:icon="@drawable/ic_heartrate"
|
||||
android:key="heartrate_measurement_interval"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_title_heartrate_measurement_interval" />
|
||||
<SwitchPreferenceCompat
|
||||
android:defaultValue="false"
|
||||
|
@ -1,12 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<ListPreference
|
||||
android:defaultValue="MM/dd/yyyy"
|
||||
android:icon="@drawable/ic_access_time"
|
||||
android:entries="@array/dateformats"
|
||||
android:entryValues="@array/dateformats_values"
|
||||
android:key="dateformat"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/miband2_prefs_dateformat" />
|
||||
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -1,11 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<ListPreference
|
||||
android:defaultValue="YYYY/MM/DD"
|
||||
android:entries="@array/dateformats_2"
|
||||
android:entryValues="@array/dateformats_2_values"
|
||||
android:icon="@drawable/ic_access_time"
|
||||
android:key="dateformat"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/miband2_prefs_dateformat" />
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -1,12 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<ListPreference
|
||||
android:defaultValue="auto"
|
||||
android:icon="@drawable/ic_access_time"
|
||||
android:entries="@array/dateformat_day_month_order_entries"
|
||||
android:entryValues="@array/dateformat_day_month_order_values"
|
||||
android:key="dateformat"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/miband2_prefs_dateformat" />
|
||||
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -50,7 +50,7 @@
|
||||
android:entries="@array/device_action_options"
|
||||
android:entryValues="@array/device_action_values"
|
||||
android:key="events_forwarding_startnonwear_action_selections"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:defaultValue="@array/empty_array"
|
||||
android:title="@string/prefs_events_forwarding_action_title" />
|
||||
<EditTextPreference
|
||||
|
@ -17,7 +17,7 @@
|
||||
android:entries="@array/device_action_options"
|
||||
android:entryValues="@array/device_action_values"
|
||||
android:key="events_forwarding_fellsleep_action_selections"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_events_forwarding_action_title" />
|
||||
<EditTextPreference
|
||||
android:defaultValue="@string/prefs_events_forwarding_fellsleep_broadcast_default_value"
|
||||
@ -35,7 +35,7 @@
|
||||
android:entries="@array/device_action_options"
|
||||
android:entryValues="@array/device_action_values"
|
||||
android:key="events_forwarding_wokeup_action_selections"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_events_forwarding_action_title" />
|
||||
<EditTextPreference
|
||||
android:defaultValue="@string/prefs_events_forwarding_wokeup_broadcast_default_value"
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<PreferenceScreen
|
||||
android:key="screen_disconnect_nofifiction"
|
||||
@ -15,7 +16,7 @@
|
||||
android:entries="@array/activate_display_on_lift"
|
||||
android:entryValues="@array/activate_display_on_lift_values"
|
||||
android:key="disconnect_notification"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_disconnect_notification" />
|
||||
|
||||
<nodomain.freeyourgadget.gadgetbridge.util.XTimePreference
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_block"
|
||||
android:key="screen_do_not_disturb"
|
||||
@ -17,7 +18,7 @@
|
||||
android:entries="@array/do_not_disturb_allday"
|
||||
android:entryValues="@array/mi2_do_not_disturb_values"
|
||||
android:key="do_not_disturb"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/mi2_prefs_do_not_disturb" />
|
||||
|
||||
<nodomain.freeyourgadget.gadgetbridge.util.XTimePreference
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_block"
|
||||
android:key="screen_do_not_disturb"
|
||||
@ -12,7 +13,7 @@
|
||||
android:entries="@array/do_not_disturb_allday"
|
||||
android:entryValues="@array/mi2_do_not_disturb_values"
|
||||
android:key="do_not_disturb"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/mi2_prefs_do_not_disturb" />
|
||||
|
||||
<nodomain.freeyourgadget.gadgetbridge.util.XTimePreference
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_block"
|
||||
android:key="screen_do_not_disturb_no_auto"
|
||||
@ -12,7 +13,7 @@
|
||||
android:entries="@array/do_not_disturb_no_auto"
|
||||
android:entryValues="@array/do_not_disturb_no_auto_values"
|
||||
android:key="do_not_disturb_no_auto"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/mi2_prefs_do_not_disturb" />
|
||||
|
||||
<nodomain.freeyourgadget.gadgetbridge.util.XTimePreference
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_block"
|
||||
android:key="screen_do_not_disturb"
|
||||
@ -15,7 +16,7 @@
|
||||
android:entries="@array/mi2_do_not_disturb"
|
||||
android:entryValues="@array/mi2_do_not_disturb_values"
|
||||
android:key="do_not_disturb"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/mi2_prefs_do_not_disturb" />
|
||||
|
||||
<nodomain.freeyourgadget.gadgetbridge.util.XTimePreference
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_block"
|
||||
android:key="pref_screen_do_not_disturb"
|
||||
@ -15,7 +16,7 @@
|
||||
android:entries="@array/do_not_disturb_with_always"
|
||||
android:entryValues="@array/do_not_disturb_with_always_values"
|
||||
android:key="do_not_disturb"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/mi2_prefs_do_not_disturb" />
|
||||
|
||||
<nodomain.freeyourgadget.gadgetbridge.util.XTimePreference
|
||||
|
@ -1,11 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<ListPreference
|
||||
android:entries="@array/femometer_measurement_mode"
|
||||
android:entryValues="@array/femometer_measurement_mode_values"
|
||||
android:defaultValue="normal"
|
||||
android:icon="@drawable/ic_checklist"
|
||||
android:key="femometer_measurement_mode"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/femometer_measurement_mode_title" />
|
||||
</androidx.preference.PreferenceScreen>
|
@ -1,12 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<ListPreference
|
||||
android:defaultValue="auto"
|
||||
android:entries="@array/pref_fitpro_language_options"
|
||||
android:entryValues="@array/pref_fitpro_language_values"
|
||||
android:icon="@drawable/ic_language"
|
||||
android:key="language"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/pref_title_language" />
|
||||
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -12,42 +12,42 @@
|
||||
android:entries="@array/pref_hybridhr_buttonfunctions"
|
||||
android:entryValues="@array/pref_hybridhr_buttonfunctions_values"
|
||||
android:key="button_1_function_short"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/pref_title_upper_button_function_short" />
|
||||
<ListPreference
|
||||
android:defaultValue="weatherApp"
|
||||
android:entries="@array/pref_hybridhr_buttonfunctions"
|
||||
android:entryValues="@array/pref_hybridhr_buttonfunctions_values"
|
||||
android:key="button_1_function_long"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/pref_title_upper_button_function_long" />
|
||||
<ListPreference
|
||||
android:defaultValue="launcherApp"
|
||||
android:entries="@array/pref_hybridhr_buttonfunctions"
|
||||
android:entryValues="@array/pref_hybridhr_buttonfunctions_values"
|
||||
android:key="button_2_function_short"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/pref_title_middle_button_function_short" />
|
||||
<ListPreference
|
||||
android:defaultValue="launcherApp"
|
||||
android:entries="@array/pref_hybridhr_buttonfunctions"
|
||||
android:entryValues="@array/pref_hybridhr_buttonfunctions_values"
|
||||
android:key="button_2_function_long"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/pref_title_middle_button_function_long" />
|
||||
<ListPreference
|
||||
android:defaultValue="musicApp"
|
||||
android:entries="@array/pref_hybridhr_buttonfunctions"
|
||||
android:entryValues="@array/pref_hybridhr_buttonfunctions_values"
|
||||
android:key="button_3_function_short"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/pref_title_lower_button_function_short" />
|
||||
<ListPreference
|
||||
android:defaultValue="musicApp"
|
||||
android:entries="@array/pref_hybridhr_buttonfunctions"
|
||||
android:entryValues="@array/pref_hybridhr_buttonfunctions_values"
|
||||
android:key="button_3_function_long"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/pref_title_lower_button_function_long" />
|
||||
<Preference
|
||||
android:selectable="false"
|
||||
|
@ -12,21 +12,21 @@
|
||||
android:entries="@array/pref_hybridhr_buttonfunctions"
|
||||
android:entryValues="@array/pref_hybridhr_buttonfunctions_values"
|
||||
android:key="button_1_function_short"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/pref_title_upper_button_function_short" />
|
||||
<ListPreference
|
||||
android:defaultValue="weatherApp"
|
||||
android:entries="@array/pref_hybridhr_buttonfunctions"
|
||||
android:entryValues="@array/pref_hybridhr_buttonfunctions_values"
|
||||
android:key="button_1_function_long"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/pref_title_upper_button_function_long" />
|
||||
<ListPreference
|
||||
android:defaultValue="commuteApp"
|
||||
android:entries="@array/pref_hybridhr_buttonfunctions"
|
||||
android:entryValues="@array/pref_hybridhr_buttonfunctions_values"
|
||||
android:key="button_2_function_short"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/pref_title_middle_button_function_short" />
|
||||
<Preference
|
||||
android:selectable="false"
|
||||
@ -39,14 +39,14 @@
|
||||
android:entries="@array/pref_hybridhr_buttonfunctions"
|
||||
android:entryValues="@array/pref_hybridhr_buttonfunctions_values"
|
||||
android:key="button_3_function_short"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/pref_title_lower_button_function_short" />
|
||||
<ListPreference
|
||||
android:defaultValue="musicApp"
|
||||
android:entries="@array/pref_hybridhr_buttonfunctions"
|
||||
android:entryValues="@array/pref_hybridhr_buttonfunctions_values"
|
||||
android:key="button_3_function_long"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/pref_title_lower_button_function_long" />
|
||||
<Preference
|
||||
android:selectable="false"
|
||||
|
@ -62,7 +62,7 @@
|
||||
android:entryValues="@array/galaxy_eqalizer_values"
|
||||
android:icon="@drawable/ic_equalizer"
|
||||
android:key="pref_galaxy_buds_equalizer_mode"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_equalizer_preset" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
@ -87,7 +87,7 @@
|
||||
android:entryValues="@array/galaxy_touch_options_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_galaxy_buds_touch_left"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_left" />
|
||||
<ListPreference
|
||||
android:dependency="pref_galaxy_buds_lock_touch"
|
||||
@ -95,7 +95,7 @@
|
||||
android:entryValues="@array/galaxy_touch_options_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_galaxy_buds_touch_right"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_right" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
|
@ -15,7 +15,7 @@
|
||||
android:entryValues="@array/galaxy_pro_noise_controls_options_values"
|
||||
android:icon="@drawable/ic_surround"
|
||||
android:key="pref_galaxy_buds_2_noise_control"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_noise_control" />
|
||||
|
||||
<SeekBarPreference
|
||||
@ -90,7 +90,7 @@
|
||||
android:entryValues="@array/galaxy_buds_live_equalizer_values"
|
||||
android:icon="@drawable/ic_equalizer"
|
||||
android:key="pref_galaxy_buds_equalizer_mode"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_equalizer_preset" />
|
||||
|
||||
<PreferenceScreen
|
||||
@ -112,7 +112,7 @@
|
||||
android:entryValues="@array/galaxy_pro_touch_options_values"
|
||||
android:icon="@drawable/ic_switch_left"
|
||||
android:key="pref_galaxy_buds_touch_left"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_left" />
|
||||
|
||||
<ListPreference
|
||||
@ -121,7 +121,7 @@
|
||||
android:entries="@array/galaxy_pro_touch_switch_controls_options"
|
||||
android:entryValues="@array/galaxy_pro_touch_switch_controls_values"
|
||||
android:key="pref_galaxy_buds_touch_left_switch"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_switch_control_left" />
|
||||
|
||||
<ListPreference
|
||||
@ -131,7 +131,7 @@
|
||||
android:entryValues="@array/galaxy_pro_touch_options_values"
|
||||
android:icon="@drawable/ic_switch_right"
|
||||
android:key="pref_galaxy_buds_touch_right"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_right" />
|
||||
<ListPreference
|
||||
android:defaultValue="0"
|
||||
@ -139,7 +139,7 @@
|
||||
android:entries="@array/galaxy_pro_touch_switch_controls_options"
|
||||
android:entryValues="@array/galaxy_pro_touch_switch_controls_values"
|
||||
android:key="pref_galaxy_buds_touch_right_switch"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_switch_control_right" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
|
@ -7,7 +7,7 @@
|
||||
android:entryValues="@array/galaxy_pro_noise_controls_options_values"
|
||||
android:icon="@drawable/ic_surround"
|
||||
android:key="pref_galaxy_buds_pro_noise_control"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_noise_control" />
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_hearing"
|
||||
@ -30,7 +30,7 @@
|
||||
android:entryValues="@array/galaxy_pro_voice_detect_duration_values"
|
||||
android:icon="@drawable/ic_timer"
|
||||
android:key="pref_galaxy_buds_pro_voice_detect_duration"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_voice_detect_duration" />
|
||||
|
||||
</PreferenceCategory>
|
||||
@ -90,7 +90,7 @@
|
||||
android:entryValues="@array/galaxy_buds_live_equalizer_values"
|
||||
android:icon="@drawable/ic_equalizer"
|
||||
android:key="pref_galaxy_buds_equalizer_mode"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_equalizer_preset" />
|
||||
|
||||
<PreferenceScreen
|
||||
@ -112,7 +112,7 @@
|
||||
android:entryValues="@array/galaxy_pro_touch_options_values"
|
||||
android:icon="@drawable/ic_switch_left"
|
||||
android:key="pref_galaxy_buds_touch_left"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_left" />
|
||||
|
||||
<ListPreference
|
||||
@ -121,7 +121,7 @@
|
||||
android:entries="@array/galaxy_pro_touch_switch_controls_options"
|
||||
android:entryValues="@array/galaxy_pro_touch_switch_controls_values"
|
||||
android:key="pref_galaxy_buds_touch_left_switch"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_switch_control_left" />
|
||||
|
||||
<ListPreference
|
||||
@ -131,7 +131,7 @@
|
||||
android:entryValues="@array/galaxy_pro_touch_options_values"
|
||||
android:icon="@drawable/ic_switch_right"
|
||||
android:key="pref_galaxy_buds_touch_right"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_right" />
|
||||
<ListPreference
|
||||
android:defaultValue="0"
|
||||
@ -139,7 +139,7 @@
|
||||
android:entries="@array/galaxy_pro_touch_switch_controls_options"
|
||||
android:entryValues="@array/galaxy_pro_touch_switch_controls_values"
|
||||
android:key="pref_galaxy_buds_touch_right_switch"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_switch_control_right" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
android:defaultValue="false"
|
||||
@ -15,7 +16,7 @@
|
||||
android:entryValues="@array/galaxy_buds_live_equalizer_values"
|
||||
android:icon="@drawable/ic_equalizer"
|
||||
android:key="pref_galaxy_buds_equalizer_mode"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_equalizer_preset" />
|
||||
|
||||
<PreferenceScreen
|
||||
@ -38,7 +39,7 @@
|
||||
android:entryValues="@array/galaxy_buds_live_touch_options_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_galaxy_buds_touch_left"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_left" />
|
||||
<ListPreference
|
||||
android:dependency="pref_galaxy_buds_lock_touch"
|
||||
@ -46,7 +47,7 @@
|
||||
android:entryValues="@array/galaxy_buds_live_touch_options_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_galaxy_buds_touch_right"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_right" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
|
@ -14,7 +14,7 @@
|
||||
android:entryValues="@array/galaxy_pro_noise_controls_options_values"
|
||||
android:icon="@drawable/ic_surround"
|
||||
android:key="pref_galaxy_buds_pro_noise_control"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_noise_control" />
|
||||
|
||||
<ListPreference
|
||||
@ -24,7 +24,7 @@
|
||||
android:entryValues="@array/galaxy_pro_anc_level_values"
|
||||
android:icon="@drawable/ic_surround"
|
||||
android:key="pref_galaxy_buds_pro_anc_level"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_active_noise_cancelling_level" />
|
||||
|
||||
|
||||
@ -60,7 +60,7 @@
|
||||
android:entryValues="@array/galaxy_pro_voice_detect_duration_values"
|
||||
android:icon="@drawable/ic_timer"
|
||||
android:key="pref_galaxy_buds_pro_voice_detect_duration"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_voice_detect_duration" />
|
||||
|
||||
</PreferenceCategory>
|
||||
@ -121,7 +121,7 @@
|
||||
android:entryValues="@array/galaxy_buds_live_equalizer_values"
|
||||
android:icon="@drawable/ic_equalizer"
|
||||
android:key="pref_galaxy_buds_equalizer_mode"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_equalizer_preset" />
|
||||
|
||||
<PreferenceScreen
|
||||
@ -145,7 +145,7 @@
|
||||
android:entryValues="@array/galaxy_pro_touch_options_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_galaxy_buds_touch_left"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_left" />
|
||||
|
||||
<ListPreference
|
||||
@ -155,7 +155,7 @@
|
||||
android:entryValues="@array/galaxy_pro_touch_switch_controls_values"
|
||||
android:icon="@drawable/ic_switch_left"
|
||||
android:key="pref_galaxy_buds_touch_left_switch"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_switch_control_left" />
|
||||
|
||||
<ListPreference
|
||||
@ -165,7 +165,7 @@
|
||||
android:entryValues="@array/galaxy_pro_touch_options_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_galaxy_buds_touch_right"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_right" />
|
||||
<ListPreference
|
||||
android:defaultValue="0"
|
||||
@ -174,7 +174,7 @@
|
||||
android:entryValues="@array/galaxy_pro_touch_switch_controls_values"
|
||||
android:icon="@drawable/ic_switch_right"
|
||||
android:key="pref_galaxy_buds_touch_right_switch"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_switch_control_right" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_gps_location"
|
||||
android:key="pref_header_gps"
|
||||
@ -15,7 +16,7 @@
|
||||
android:entries="@array/pref_gps_mode_preset"
|
||||
android:entryValues="@array/pref_gps_mode_preset_values"
|
||||
android:key="pref_gps_mode_preset"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/pref_gps_mode_preset" />
|
||||
|
||||
<ListPreference
|
||||
@ -23,7 +24,7 @@
|
||||
android:entries="@array/pref_gps_band"
|
||||
android:entryValues="@array/pref_gps_band_values"
|
||||
android:key="pref_gps_band"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/pref_gps_band" />
|
||||
|
||||
<ListPreference
|
||||
@ -31,7 +32,7 @@
|
||||
android:entries="@array/pref_gps_combination"
|
||||
android:entryValues="@array/pref_gps_combination_values"
|
||||
android:key="pref_gps_combination"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/pref_gps_combination" />
|
||||
|
||||
<ListPreference
|
||||
@ -39,7 +40,7 @@
|
||||
android:entries="@array/pref_gps_satellite_search"
|
||||
android:entryValues="@array/pref_gps_satellite_search_values"
|
||||
android:key="pref_gps_satellite_search"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/pref_gps_satellite_search" />
|
||||
</PreferenceCategory>
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_heartrate"
|
||||
android:key="heartrate_monitoring_key"
|
||||
@ -20,7 +21,7 @@
|
||||
android:entryValues="@array/prefs_heartrate_measurement_interval_values"
|
||||
android:icon="@drawable/ic_heartrate"
|
||||
android:key="heartrate_measurement_interval"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_title_heartrate_measurement_interval" />
|
||||
</PreferenceScreen>
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_heartrate"
|
||||
android:key="heartrate_monitoring_key"
|
||||
@ -20,7 +21,7 @@
|
||||
android:entryValues="@array/prefs_heartrate_measurement_interval_values"
|
||||
android:icon="@drawable/ic_heartrate"
|
||||
android:key="heartrate_measurement_interval"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_title_heartrate_measurement_interval" />
|
||||
|
||||
<!-- Activity Monitoring -->
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_heartrate"
|
||||
android:key="heartrate_monitoring_key"
|
||||
@ -20,7 +21,7 @@
|
||||
android:entryValues="@array/prefs_heartrate_measurement_interval_values"
|
||||
android:icon="@drawable/ic_heartrate"
|
||||
android:key="heartrate_measurement_interval"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_title_heartrate_measurement_interval" />
|
||||
|
||||
<!-- Activity Monitoring -->
|
||||
@ -50,7 +51,7 @@
|
||||
android:entryValues="@array/prefs_miband_heartrate_alert_threshold_values"
|
||||
android:icon="@drawable/ic_heartrate"
|
||||
android:key="heartrate_alert_threshold"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_heartrate_alert_threshold" />
|
||||
|
||||
<!-- Stress Monitoring -->
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_heartrate"
|
||||
android:key="pref_screen_heartrate_monitoring"
|
||||
@ -36,7 +37,7 @@
|
||||
android:entryValues="@array/prefs_heartrate_measurement_interval_values"
|
||||
android:icon="@drawable/ic_heartrate"
|
||||
android:key="heartrate_measurement_interval"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_title_heartrate_measurement_interval" />
|
||||
</PreferenceCategory>
|
||||
|
||||
@ -62,7 +63,7 @@
|
||||
android:entryValues="@array/prefs_miband_heartrate_high_alert_threshold_with_off_values"
|
||||
android:icon="@drawable/ic_heartrate"
|
||||
android:key="heartrate_alert_threshold"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_heartrate_alert_high_threshold" />
|
||||
|
||||
<ListPreference
|
||||
@ -71,7 +72,7 @@
|
||||
android:entryValues="@array/prefs_miband_heartrate_low_alert_threshold_values"
|
||||
android:icon="@drawable/ic_heartrate"
|
||||
android:key="heartrate_alert_low_threshold"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_heartrate_alert_low_threshold" />
|
||||
|
||||
<ListPreference
|
||||
@ -80,7 +81,7 @@
|
||||
android:entryValues="@array/prefs_miband_heartrate_high_active_alert_threshold_with_off_values"
|
||||
android:icon="@drawable/ic_heartrate"
|
||||
android:key="heartrate_alert_active_high_threshold"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_heartrate_alert_active_high_threshold" />
|
||||
</PreferenceCategory>
|
||||
|
||||
@ -125,7 +126,7 @@
|
||||
android:entries="@array/prefs_spo2_alert_threshold"
|
||||
android:entryValues="@array/prefs_spo2_alert_threshold_values"
|
||||
android:key="spo2_low_alert_threshold"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_spo2_alert_threshold" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
|
@ -13,7 +13,7 @@
|
||||
android:entryValues="@array/pref_language_all_values"
|
||||
android:icon="@drawable/ic_language"
|
||||
android:key="voice_service_language"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/pref_title_language" />
|
||||
|
||||
<PreferenceCategory
|
||||
|
@ -1,11 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<ListPreference
|
||||
android:icon="@drawable/ic_language"
|
||||
android:defaultValue="auto"
|
||||
android:entries="@array/pref_language_all"
|
||||
android:entryValues="@array/pref_language_all_values"
|
||||
android:key="language"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/pref_title_language" />
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -1,11 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<ListPreference
|
||||
android:defaultValue="0"
|
||||
android:entries="@array/lefun_interface_language_names"
|
||||
android:entryValues="@array/lefun_interface_language_values"
|
||||
android:icon="@drawable/ic_language"
|
||||
android:key="language"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/lefun_prefs_interface_language_title" />
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_arrow_upward"
|
||||
android:key="screen_liftwrist_display"
|
||||
@ -14,7 +15,7 @@
|
||||
android:entries="@array/activate_display_on_lift"
|
||||
android:entryValues="@array/activate_display_on_lift_values"
|
||||
android:key="activate_display_on_lift_wrist"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/mi2_prefs_activate_display_on_lift" />
|
||||
|
||||
<nodomain.freeyourgadget.gadgetbridge.util.XTimePreference
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_arrow_upward"
|
||||
android:key="screen_liftwrist_display"
|
||||
@ -15,7 +16,7 @@
|
||||
android:entries="@array/do_not_disturb_no_auto"
|
||||
android:entryValues="@array/do_not_disturb_no_auto_values"
|
||||
android:key="activate_display_on_lift_wrist"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/mi2_prefs_activate_display_on_lift" />
|
||||
|
||||
<nodomain.freeyourgadget.gadgetbridge.util.XTimePreference
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_arrow_upward"
|
||||
android:key="pref_screen_lift_wrist"
|
||||
@ -14,7 +15,7 @@
|
||||
android:entries="@array/activate_display_on_lift"
|
||||
android:entryValues="@array/activate_display_on_lift_values"
|
||||
android:key="activate_display_on_lift_wrist"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/mi2_prefs_activate_display_on_lift" />
|
||||
|
||||
<ListPreference
|
||||
@ -22,7 +23,7 @@
|
||||
android:entries="@array/activate_display_on_lift_sensitivity"
|
||||
android:entryValues="@array/activate_display_on_lift_sensitivity_values"
|
||||
android:key="display_on_lift_sensitivity"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_activate_display_on_lift_sensitivity" />
|
||||
|
||||
<nodomain.freeyourgadget.gadgetbridge.util.XTimePreference
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_arrow_upward"
|
||||
android:key="pref_screen_lift_wrist"
|
||||
@ -14,7 +15,7 @@
|
||||
android:entries="@array/activate_display_on_lift_with_smart"
|
||||
android:entryValues="@array/activate_display_on_lift_with_smart_values"
|
||||
android:key="activate_display_on_lift_wrist"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/mi2_prefs_activate_display_on_lift" />
|
||||
|
||||
<ListPreference
|
||||
@ -22,7 +23,7 @@
|
||||
android:entries="@array/activate_display_on_lift_sensitivity"
|
||||
android:entryValues="@array/activate_display_on_lift_sensitivity_values"
|
||||
android:key="display_on_lift_sensitivity"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_activate_display_on_lift_sensitivity" />
|
||||
|
||||
<nodomain.freeyourgadget.gadgetbridge.util.XTimePreference
|
||||
|
@ -1,11 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<ListPreference
|
||||
android:defaultValue="@string/p_dateformat_time"
|
||||
android:icon="@drawable/ic_access_time"
|
||||
android:entries="@array/mi2_dateformats"
|
||||
android:entryValues="@array/mi2_dateformats_values"
|
||||
android:key="mi2_dateformat"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/miband2_prefs_dateformat" />
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -1,10 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<ListPreference
|
||||
android:entries="@array/moondrop_equalizer_preset_names"
|
||||
android:entryValues="@array/moondrop_equalizer_preset_values"
|
||||
android:icon="@drawable/ic_graphic_eq"
|
||||
android:key="pref_moondrop_equalizer_preset"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_equalizer_preset" />
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -1,19 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceCategory android:title="@string/moondrop_touch_action_play_pause">
|
||||
<ListPreference
|
||||
android:entries="@array/moondrop_touch_earbud_names"
|
||||
android:entryValues="@array/moondrop_touch_earbud_values"
|
||||
android:icon="@drawable/ic_hearing"
|
||||
android:key="pref_moondrop_touch_play_pause_earbud"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/moondrop_touch_earbud" />
|
||||
<ListPreference
|
||||
android:entries="@array/moondrop_touch_trigger_names"
|
||||
android:entryValues="@array/moondrop_touch_trigger_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_moondrop_touch_play_pause_trigger"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/moondrop_touch_trigger" />
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/pref_media_previous">
|
||||
@ -22,14 +23,14 @@
|
||||
android:entryValues="@array/moondrop_touch_earbud_values"
|
||||
android:icon="@drawable/ic_hearing"
|
||||
android:key="pref_moondrop_touch_media_prev_earbud"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/moondrop_touch_earbud" />
|
||||
<ListPreference
|
||||
android:entries="@array/moondrop_touch_trigger_names"
|
||||
android:entryValues="@array/moondrop_touch_trigger_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_moondrop_touch_media_prev_trigger"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/moondrop_touch_trigger" />
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/pref_media_next">
|
||||
@ -38,14 +39,14 @@
|
||||
android:entryValues="@array/moondrop_touch_earbud_values"
|
||||
android:icon="@drawable/ic_hearing"
|
||||
android:key="pref_moondrop_touch_media_next_earbud"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/moondrop_touch_earbud" />
|
||||
<ListPreference
|
||||
android:entries="@array/moondrop_touch_trigger_names"
|
||||
android:entryValues="@array/moondrop_touch_trigger_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_moondrop_touch_media_next_trigger"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/moondrop_touch_trigger" />
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/moondrop_touch_action_call_pick_hang">
|
||||
@ -54,14 +55,14 @@
|
||||
android:entryValues="@array/moondrop_touch_earbud_values"
|
||||
android:icon="@drawable/ic_hearing"
|
||||
android:key="pref_moondrop_touch_call_pick_hang_earbud"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/moondrop_touch_earbud" />
|
||||
<ListPreference
|
||||
android:entries="@array/moondrop_touch_trigger_names"
|
||||
android:entryValues="@array/moondrop_touch_trigger_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_moondrop_touch_call_pick_hang_trigger"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/moondrop_touch_trigger" />
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/moondrop_touch_action_call_start">
|
||||
@ -70,14 +71,14 @@
|
||||
android:entryValues="@array/moondrop_touch_earbud_values"
|
||||
android:icon="@drawable/ic_hearing"
|
||||
android:key="pref_moondrop_touch_call_start_earbud"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/moondrop_touch_earbud" />
|
||||
<ListPreference
|
||||
android:entries="@array/moondrop_touch_trigger_names"
|
||||
android:entryValues="@array/moondrop_touch_trigger_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_moondrop_touch_call_start_trigger"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/moondrop_touch_trigger" />
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/moondrop_touch_action_assistant">
|
||||
@ -86,14 +87,14 @@
|
||||
android:entryValues="@array/moondrop_touch_earbud_values"
|
||||
android:icon="@drawable/ic_hearing"
|
||||
android:key="pref_moondrop_touch_assistant_earbud"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/moondrop_touch_earbud" />
|
||||
<ListPreference
|
||||
android:entries="@array/moondrop_touch_trigger_names"
|
||||
android:entryValues="@array/moondrop_touch_trigger_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_moondrop_touch_assistant_trigger"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/moondrop_touch_trigger" />
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/moondrop_touch_action_anc_mode">
|
||||
@ -102,14 +103,14 @@
|
||||
android:entryValues="@array/moondrop_touch_earbud_values"
|
||||
android:icon="@drawable/ic_hearing"
|
||||
android:key="pref_moondrop_touch_anc_mode_earbud"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/moondrop_touch_earbud" />
|
||||
<ListPreference
|
||||
android:entries="@array/moondrop_touch_trigger_names"
|
||||
android:entryValues="@array/moondrop_touch_trigger_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_moondrop_touch_anc_mode_trigger"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/moondrop_touch_trigger" />
|
||||
</PreferenceCategory>
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_brightness_2"
|
||||
@ -16,7 +17,7 @@
|
||||
android:entries="@array/mi3_night_mode"
|
||||
android:entryValues="@array/mi3_night_mode_values"
|
||||
android:key="night_mode"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/mi3_prefs_night_mode" />
|
||||
|
||||
<nodomain.freeyourgadget.gadgetbridge.util.XTimePreference
|
||||
|
@ -13,6 +13,6 @@
|
||||
android:entryValues="@array/nothing_ear1_audio_mode_values"
|
||||
android:entries="@array/nothing_ear1_audio_mode_names"
|
||||
android:key="pref_nothing_audiomode"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/nothing_prefs_audiomode_title" />
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_voice"
|
||||
android:key="pref_screen_offline_voice"
|
||||
@ -12,7 +13,7 @@
|
||||
android:entryValues="@array/pref_language_all_values"
|
||||
android:icon="@drawable/ic_language"
|
||||
android:key="offline_voice_language"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/pref_title_language" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
|
@ -10,7 +10,7 @@
|
||||
android:entries="@array/pebble_activitytracker"
|
||||
android:entryValues="@array/pebble_activitytracker_values"
|
||||
android:key="pebble_activitytracker"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/pref_title_pebble_activitytracker"
|
||||
app:iconSpaceReserved="false" />
|
||||
<SwitchPreferenceCompat
|
||||
|
@ -6,7 +6,7 @@
|
||||
android:entries="@array/pebble_privacymode"
|
||||
android:entryValues="@array/pebble_privacymode_values"
|
||||
android:key="pebble_pref_privacy_mode"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/pref_title_pebble_privacy_mode"
|
||||
app:iconSpaceReserved="false" />
|
||||
<SwitchPreferenceCompat
|
||||
|
@ -1,11 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<ListPreference
|
||||
android:icon="@drawable/ic_power_settings_new"
|
||||
android:defaultValue="0"
|
||||
android:entries="@array/power_mode"
|
||||
android:entryValues="@array/power_mode_values"
|
||||
android:key="power_mode"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/power_mode_title" />
|
||||
</androidx.preference.PreferenceScreen>
|
@ -1,11 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<ListPreference
|
||||
android:defaultValue="5"
|
||||
android:entries="@array/screen_timeout"
|
||||
android:entryValues="@array/screen_timeout_values"
|
||||
android:key="screen_timeout"
|
||||
android:icon="@drawable/ic_hourglass_empty"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_screen_timeout" />
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -1,12 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<ListPreference
|
||||
android:icon="@drawable/ic_screen_rotation"
|
||||
android:defaultValue="horizontal"
|
||||
android:entries="@array/orientation"
|
||||
android:entryValues="@array/orientation_values"
|
||||
android:key="screen_orientation"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_screen_orientation" />
|
||||
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
7
app/src/main/res/xml/devicesettings_search.xml
Normal file
7
app/src/main/res/xml/devicesettings_search.xml
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<com.bytehamster.lib.preferencesearch.SearchPreference
|
||||
android:key="searchPreference"
|
||||
app:isPreferenceVisible="false" />
|
||||
</androidx.preference.PreferenceScreen>
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_access_time"
|
||||
android:key="prefs_sleep_time"
|
||||
@ -16,7 +17,7 @@
|
||||
android:entries="@array/do_not_disturb_no_auto"
|
||||
android:entryValues="@array/do_not_disturb_no_auto_values"
|
||||
android:key="prefs_enable_sleep_time"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_sleep_time" />
|
||||
|
||||
<nodomain.freeyourgadget.gadgetbridge.util.XTimePreference
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceCategory
|
||||
android:key="pref_key_header_sony_ambient_sound_control"
|
||||
android:title="@string/pref_header_sony_ambient_sound_control">
|
||||
@ -10,7 +11,7 @@
|
||||
android:entryValues="@array/sony_ambient_sound_control_values"
|
||||
android:icon="@drawable/ic_hearing"
|
||||
android:key="pref_sony_ambient_sound_control"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/sony_ambient_sound" />
|
||||
|
||||
<!-- [0, 19], which maps to [1, 20] on the device, as we can't configure the min on the current API level -->
|
||||
|
@ -1,11 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<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"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/sony_ambient_sound_control_button_modes" />
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceCategory
|
||||
android:key="pref_key_header_sony_ambient_sound_control"
|
||||
android:title="@string/pref_header_sony_ambient_sound_control">
|
||||
@ -10,7 +11,7 @@
|
||||
android:entryValues="@array/sony_ambient_sound_control_wind_noise_reduction_values"
|
||||
android:icon="@drawable/ic_hearing"
|
||||
android:key="pref_sony_ambient_sound_control"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/sony_ambient_sound" />
|
||||
|
||||
<!-- [0, 19], which maps to [1, 20] on the device, as we can't configure the min on the current API level -->
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_help_outline"
|
||||
android:key="pref_screen_sony_button_mode_help"
|
||||
@ -73,7 +74,7 @@
|
||||
android:entryValues="@array/sony_wfsp800n_button_mode_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_sony_button_mode_left"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/sony_button_mode_left" />
|
||||
|
||||
<ListPreference
|
||||
@ -82,6 +83,6 @@
|
||||
android:entryValues="@array/sony_wfsp800n_button_mode_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_sony_button_mode_right"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/sony_button_mode_right" />
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -1,11 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<ListPreference
|
||||
android:defaultValue="off"
|
||||
android:entries="@array/sony_equalizer_mode_names"
|
||||
android:entryValues="@array/sony_equalizer_mode_values"
|
||||
android:icon="@drawable/ic_graphic_eq"
|
||||
android:key="pref_sony_equalizer_mode"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/sony_equalizer" />
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_graphic_eq"
|
||||
@ -13,7 +14,7 @@
|
||||
android:entryValues="@array/sony_equalizer_mode_values"
|
||||
android:icon="@drawable/ic_graphic_eq"
|
||||
android:key="pref_sony_equalizer_mode"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/sony_equalizer" />
|
||||
|
||||
<SeekBarPreference
|
||||
|
@ -8,7 +8,6 @@
|
||||
android:entryValues="@array/sony_protocol_version_values"
|
||||
android:icon="@drawable/ic_developer_mode"
|
||||
android:key="pref_protocol_version"
|
||||
android:summary="%s"
|
||||
android:title="@string/protocol_version"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
|
||||
|
@ -1,12 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<ListPreference
|
||||
android:defaultValue="off"
|
||||
android:entries="@array/sony_quick_access_names"
|
||||
android:entryValues="@array/sony_quick_access_values"
|
||||
android:icon="@drawable/ic_filter_2"
|
||||
android:key="pref_sony_quick_access_double_tap"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/sony_quick_access_double_tap" />
|
||||
|
||||
<ListPreference
|
||||
@ -15,6 +16,6 @@
|
||||
android:entryValues="@array/sony_quick_access_values"
|
||||
android:icon="@drawable/ic_filter_3"
|
||||
android:key="pref_sony_quick_access_triple_tap"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/sony_quick_access_triple_tap" />
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -1,11 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<ListPreference
|
||||
android:defaultValue="off"
|
||||
android:entries="@array/sony_sound_position_names"
|
||||
android:entryValues="@array/sony_sound_position_values"
|
||||
android:icon="@drawable/ic_switch_left"
|
||||
android:key="pref_sony_sound_position"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/sony_sound_position" />
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<PreferenceScreen
|
||||
android:icon="@drawable/ic_voice"
|
||||
@ -26,7 +27,7 @@
|
||||
android:entries="@array/sony_speak_to_chat_voice_sensitivity_names"
|
||||
android:entryValues="@array/sony_speak_to_chat_voice_sensitivity_values"
|
||||
android:key="pref_sony_speak_to_chat_sensitivity"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/sony_speak_to_chat_sensitivity" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
@ -44,7 +45,7 @@
|
||||
android:entryValues="@array/sony_speak_to_chat_voice_timeout_values"
|
||||
android:icon="@drawable/ic_timer"
|
||||
android:key="pref_sony_speak_to_chat_timeout"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/sony_speak_to_chat_timeout" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
|
@ -1,11 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<ListPreference
|
||||
android:defaultValue="off"
|
||||
android:entries="@array/sony_surround_mode_names"
|
||||
android:entryValues="@array/sony_surround_mode_values"
|
||||
android:icon="@drawable/ic_surround"
|
||||
android:key="pref_sony_surround_mode"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/sony_surround_mode" />
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceCategory
|
||||
android:key="pref_key_header_soundcore_ambient_sound_control"
|
||||
android:title="@string/pref_header_sony_ambient_sound_control">
|
||||
@ -10,7 +11,7 @@
|
||||
android:entryValues="@array/sony_ambient_sound_control_values"
|
||||
android:icon="@drawable/ic_hearing"
|
||||
android:key="pref_soundcore_ambient_sound_control"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/sony_ambient_sound" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<SwitchPreferenceCompat
|
||||
android:defaultValue="true"
|
||||
android:icon="@drawable/ic_voice"
|
||||
@ -12,7 +13,7 @@
|
||||
android:entryValues="@array/soundcore_button_brightness_values"
|
||||
android:icon="@drawable/ic_wb_sunny"
|
||||
android:key="pref_soundcore_button_brightness"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/soundcore_button_brightness" />
|
||||
<ListPreference
|
||||
android:defaultValue="3"
|
||||
@ -20,6 +21,6 @@
|
||||
android:entryValues="@array/soundcore_auto_power_off_values"
|
||||
android:icon="@drawable/ic_power_settings_new"
|
||||
android:key="pref_soundcore_auto_power_off"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_wena3_auto_power_off_item" />
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -22,7 +22,7 @@
|
||||
android:entryValues="@array/soundcore_equalizer_preset_values"
|
||||
android:icon="@drawable/ic_equalizer"
|
||||
android:key="pref_soundcore_equalizer_preset"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/soundcore_equalizer_preset" />
|
||||
<PreferenceScreen
|
||||
android:persistent="false"
|
||||
@ -36,7 +36,7 @@
|
||||
android:entryValues="@array/soundcore_equalizer_direction_values"
|
||||
android:icon="@drawable/ic_switch_left"
|
||||
android:key="pref_soundcore_equalizer_direction"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/soundcore_equalizer_direction" />
|
||||
<Preference
|
||||
android:persistent="false"
|
||||
@ -51,7 +51,7 @@
|
||||
android:entryValues="@array/soundcore_equalizer_freq_values"
|
||||
android:icon="@drawable/ic_hearing"
|
||||
android:key="pref_soundcore_equalizer_band1_freq"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/soundcore_equalizer_frequency" />
|
||||
<SeekBarPreference
|
||||
android:defaultValue="60"
|
||||
@ -68,7 +68,7 @@
|
||||
android:entryValues="@array/soundcore_equalizer_freq_values"
|
||||
android:icon="@drawable/ic_hearing"
|
||||
android:key="pref_soundcore_equalizer_band2_freq"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/soundcore_equalizer_frequency" />
|
||||
<SeekBarPreference
|
||||
android:defaultValue="60"
|
||||
@ -85,7 +85,7 @@
|
||||
android:entryValues="@array/soundcore_equalizer_freq_values"
|
||||
android:icon="@drawable/ic_hearing"
|
||||
android:key="pref_soundcore_equalizer_band3_freq"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/soundcore_equalizer_frequency" />
|
||||
<SeekBarPreference
|
||||
android:defaultValue="60"
|
||||
@ -102,7 +102,7 @@
|
||||
android:entryValues="@array/soundcore_equalizer_freq_values"
|
||||
android:icon="@drawable/ic_hearing"
|
||||
android:key="pref_soundcore_equalizer_band4_freq"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/soundcore_equalizer_frequency" />
|
||||
<SeekBarPreference
|
||||
android:defaultValue="60"
|
||||
@ -119,7 +119,7 @@
|
||||
android:entryValues="@array/soundcore_equalizer_freq_values"
|
||||
android:icon="@drawable/ic_hearing"
|
||||
android:key="pref_soundcore_equalizer_band5_freq"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/soundcore_equalizer_frequency" />
|
||||
<SeekBarPreference
|
||||
android:defaultValue="60"
|
||||
@ -136,7 +136,7 @@
|
||||
android:entryValues="@array/soundcore_equalizer_freq_values"
|
||||
android:icon="@drawable/ic_hearing"
|
||||
android:key="pref_soundcore_equalizer_band6_freq"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/soundcore_equalizer_frequency" />
|
||||
<SeekBarPreference
|
||||
android:defaultValue="60"
|
||||
@ -153,7 +153,7 @@
|
||||
android:entryValues="@array/soundcore_equalizer_freq_values"
|
||||
android:icon="@drawable/ic_hearing"
|
||||
android:key="pref_soundcore_equalizer_band7_freq"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/soundcore_equalizer_frequency" />
|
||||
<SeekBarPreference
|
||||
android:defaultValue="60"
|
||||
@ -170,7 +170,7 @@
|
||||
android:entryValues="@array/soundcore_equalizer_freq_values"
|
||||
android:icon="@drawable/ic_hearing"
|
||||
android:key="pref_soundcore_equalizer_band8_freq"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/soundcore_equalizer_frequency" />
|
||||
<SeekBarPreference
|
||||
android:defaultValue="60"
|
||||
@ -187,7 +187,7 @@
|
||||
android:entryValues="@array/soundcore_equalizer_freq_values"
|
||||
android:icon="@drawable/ic_hearing"
|
||||
android:key="pref_soundcore_equalizer_band9_freq"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/soundcore_equalizer_frequency" />
|
||||
<SeekBarPreference
|
||||
android:defaultValue="60"
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceCategory android:title="@string/single_tap">
|
||||
<SwitchPreferenceCompat
|
||||
android:defaultValue="false"
|
||||
@ -15,7 +16,7 @@
|
||||
android:entryValues="@array/soundcore_button_function_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_soundcore_control_single_tap_action_left"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_left" />
|
||||
<ListPreference
|
||||
android:dependency="pref_soundcore_control_single_tap_disabled"
|
||||
@ -23,7 +24,7 @@
|
||||
android:entryValues="@array/soundcore_button_function_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_soundcore_control_single_tap_action_right"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_right" />
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/double_tap">
|
||||
@ -41,7 +42,7 @@
|
||||
android:entryValues="@array/soundcore_button_function_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_soundcore_control_double_tap_action_left"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_left" />
|
||||
<ListPreference
|
||||
android:dependency="pref_soundcore_control_double_tap_disabled"
|
||||
@ -49,7 +50,7 @@
|
||||
android:entryValues="@array/soundcore_button_function_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_soundcore_control_double_tap_action_right"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_right" />
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/triple_tap">
|
||||
@ -67,7 +68,7 @@
|
||||
android:entryValues="@array/soundcore_button_function_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_soundcore_control_triple_tap_action_left"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_left" />
|
||||
<ListPreference
|
||||
android:dependency="pref_soundcore_control_triple_tap_disabled"
|
||||
@ -75,7 +76,7 @@
|
||||
android:entryValues="@array/soundcore_button_function_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_soundcore_control_triple_tap_action_right"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_right" />
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/long_press">
|
||||
@ -93,7 +94,7 @@
|
||||
android:entryValues="@array/soundcore_button_function_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_soundcore_control_long_press_action_left"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_left" />
|
||||
<ListPreference
|
||||
android:dependency="pref_soundcore_control_long_press_disabled"
|
||||
@ -101,7 +102,7 @@
|
||||
android:entryValues="@array/soundcore_button_function_values"
|
||||
android:icon="@drawable/ic_touch"
|
||||
android:key="pref_soundcore_control_long_press_action_right"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/prefs_right" />
|
||||
</PreferenceCategory>
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -1,12 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<ListPreference
|
||||
android:defaultValue="@string/p_timeformat_auto"
|
||||
android:entries="@array/pref_timeformat_entries"
|
||||
android:entryValues="@array/pref_timeformat_values"
|
||||
android:icon="@drawable/ic_access_time"
|
||||
android:key="timeformat"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/pref_title_timeformat" />
|
||||
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
@ -24,7 +24,7 @@
|
||||
android:entries="@array/vibration_profile"
|
||||
android:entryValues="@array/vibration_profile_values"
|
||||
android:key="huami_vibration_profile_app_alerts"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/miband_prefs_vibration" />
|
||||
|
||||
<EditTextPreference
|
||||
@ -55,7 +55,7 @@
|
||||
android:entries="@array/vibration_profile"
|
||||
android:entryValues="@array/vibration_profile_values"
|
||||
android:key="huami_vibration_profile_incoming_call"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/miband_prefs_vibration" />
|
||||
|
||||
<EditTextPreference
|
||||
@ -86,7 +86,7 @@
|
||||
android:entries="@array/vibration_profile"
|
||||
android:entryValues="@array/vibration_profile_values"
|
||||
android:key="huami_vibration_profile_incoming_sms"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/miband_prefs_vibration" />
|
||||
|
||||
<EditTextPreference
|
||||
@ -117,7 +117,7 @@
|
||||
android:entries="@array/vibration_profile"
|
||||
android:entryValues="@array/vibration_profile_values"
|
||||
android:key="huami_vibration_profile_goal_notification"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/miband_prefs_vibration" />
|
||||
|
||||
<EditTextPreference
|
||||
@ -148,7 +148,7 @@
|
||||
android:entries="@array/vibration_profile"
|
||||
android:entryValues="@array/vibration_profile_values"
|
||||
android:key="huami_vibration_profile_alarm"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/miband_prefs_vibration" />
|
||||
|
||||
<EditTextPreference
|
||||
@ -179,7 +179,7 @@
|
||||
android:entries="@array/vibration_profile"
|
||||
android:entryValues="@array/vibration_profile_values"
|
||||
android:key="huami_vibration_profile_idle_alerts"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/miband_prefs_vibration" />
|
||||
|
||||
<EditTextPreference
|
||||
@ -210,7 +210,7 @@
|
||||
android:entries="@array/vibration_profile"
|
||||
android:entryValues="@array/vibration_profile_values"
|
||||
android:key="huami_vibration_profile_event_reminder"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/miband_prefs_vibration" />
|
||||
|
||||
<EditTextPreference
|
||||
@ -241,7 +241,7 @@
|
||||
android:entries="@array/vibration_profile"
|
||||
android:entryValues="@array/vibration_profile_values"
|
||||
android:key="huami_vibration_profile_find_band"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/miband_prefs_vibration" />
|
||||
|
||||
<EditTextPreference
|
||||
@ -272,7 +272,7 @@
|
||||
android:entries="@array/vibration_profile"
|
||||
android:entryValues="@array/vibration_profile_values"
|
||||
android:key="huami_vibration_profile_todo_list"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/miband_prefs_vibration" />
|
||||
|
||||
<EditTextPreference
|
||||
@ -303,7 +303,7 @@
|
||||
android:entries="@array/vibration_profile"
|
||||
android:entryValues="@array/vibration_profile_values"
|
||||
android:key="huami_vibration_profile_schedule"
|
||||
android:summary="%s"
|
||||
app:useSimpleSummaryProvider="true"
|
||||
android:title="@string/miband_prefs_vibration" />
|
||||
|
||||
<EditTextPreference
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user