Search in sources :

Example 11 with EditTextPreference

use of androidx.preference.EditTextPreference in project collect by opendatakit.

the class ServerPreferencesFragment method addServerPreferences.

public void addServerPreferences() {
    if (!new ServerPreferencesAdder(this).add()) {
        return;
    }
    EditTextPreference serverUrlPreference = findPreference(ProjectKeys.KEY_SERVER_URL);
    EditTextPreference usernamePreference = findPreference(ProjectKeys.KEY_USERNAME);
    passwordPreference = findPreference(ProjectKeys.KEY_PASSWORD);
    serverUrlPreference.setOnPreferenceChangeListener(createChangeListener());
    serverUrlPreference.setSummary(serverUrlPreference.getText());
    usernamePreference.setOnPreferenceChangeListener(createChangeListener());
    usernamePreference.setSummary(usernamePreference.getText());
    usernamePreference.setOnBindEditTextListener(editText -> {
        editText.setFilters(new InputFilter[] { new ControlCharacterFilter() });
    });
    passwordPreference.setOnPreferenceChangeListener(createChangeListener());
    maskPasswordSummary(passwordPreference.getText());
    passwordPreference.setOnBindEditTextListener(editText -> {
        editText.setFilters(new InputFilter[] { new ControlCharacterFilter() });
    });
}
Also used : ServerPreferencesAdder(org.odk.collect.android.preferences.ServerPreferencesAdder) EditTextPreference(androidx.preference.EditTextPreference) ControlCharacterFilter(org.odk.collect.android.preferences.filters.ControlCharacterFilter)

Example 12 with EditTextPreference

use of androidx.preference.EditTextPreference in project kdeconnect-android by KDE.

the class SettingsFragment method onCreatePreferences.

@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
    Context context = getPreferenceManager().getContext();
    PreferenceScreen screen = getPreferenceManager().createPreferenceScreen(context);
    // Rename device
    renameDevice = new EditTextPreference(context);
    renameDevice.setKey(DeviceHelper.KEY_DEVICE_NAME_PREFERENCE);
    renameDevice.setSelectable(true);
    String deviceName = DeviceHelper.getDeviceName(context);
    renameDevice.setTitle(R.string.settings_rename);
    renameDevice.setSummary(deviceName);
    renameDevice.setDialogTitle(R.string.device_rename_title);
    renameDevice.setText(deviceName);
    renameDevice.setPositiveButtonText(R.string.device_rename_confirm);
    renameDevice.setNegativeButtonText(R.string.cancel);
    renameDevice.setOnPreferenceChangeListener((preference, newValue) -> {
        String name = (String) newValue;
        if (TextUtils.isEmpty(name)) {
            if (getView() != null) {
                Snackbar snackbar = Snackbar.make(getView(), R.string.invalid_device_name, Snackbar.LENGTH_LONG);
                int currentTheme = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
                if (currentTheme != Configuration.UI_MODE_NIGHT_YES) {
                    // white color is set to the background of snackbar if dark mode is off
                    snackbar.getView().setBackgroundColor(Color.WHITE);
                }
                snackbar.show();
            }
            return false;
        }
        renameDevice.setSummary((String) newValue);
        return true;
    });
    screen.addPreference(renameDevice);
    // Theme Selector
    ListPreference themeSelector = new ListPreference(context);
    themeSelector.setKey("theme_pref");
    themeSelector.setTitle(R.string.theme_dialog_title);
    themeSelector.setDialogTitle(R.string.theme_dialog_title);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
        themeSelector.setEntries(R.array.theme_list_v28);
    } else {
        themeSelector.setEntries(R.array.theme_list);
    }
    themeSelector.setEntryValues(R.array.theme_list_values);
    themeSelector.setDefaultValue(ThemeUtil.DEFAULT_MODE);
    themeSelector.setSummaryProvider(ListPreference.SimpleSummaryProvider.getInstance());
    themeSelector.setOnPreferenceChangeListener((preference, newValue) -> {
        String themeValue = (String) newValue;
        ThemeUtil.applyTheme(themeValue);
        return true;
    });
    screen.addPreference(themeSelector);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        Preference persistentNotif = new Preference(context);
        persistentNotif.setTitle(R.string.setting_persistent_notification_oreo);
        persistentNotif.setSummary(R.string.setting_persistent_notification_description);
        persistentNotif.setOnPreferenceClickListener(preference -> {
            Intent intent = new Intent();
            intent.setAction("android.settings.APP_NOTIFICATION_SETTINGS");
            intent.putExtra("android.provider.extra.APP_PACKAGE", context.getPackageName());
            context.startActivity(intent);
            return true;
        });
        screen.addPreference(persistentNotif);
    } else {
        // Persistent notification toggle for Android Versions below Oreo
        final TwoStatePreference notificationSwitch = new SwitchPreferenceCompat(context);
        notificationSwitch.setPersistent(false);
        notificationSwitch.setChecked(NotificationHelper.isPersistentNotificationEnabled(context));
        notificationSwitch.setTitle(R.string.setting_persistent_notification);
        notificationSwitch.setOnPreferenceChangeListener((preference, newValue) -> {
            final boolean isChecked = (Boolean) newValue;
            NotificationHelper.setPersistentNotificationEnabled(context, isChecked);
            BackgroundService.RunCommand(context, service -> service.changePersistentNotificationVisibility(isChecked));
            NotificationHelper.setPersistentNotificationEnabled(context, isChecked);
            return true;
        });
        screen.addPreference(notificationSwitch);
    }
    // Trusted Networks
    Preference trustedNetworkPref = new Preference(context);
    trustedNetworkPref.setPersistent(false);
    trustedNetworkPref.setTitle(R.string.trusted_networks);
    trustedNetworkPref.setSummary(R.string.trusted_networks_desc);
    screen.addPreference(trustedNetworkPref);
    trustedNetworkPref.setOnPreferenceClickListener(preference -> {
        startActivity(new Intent(context, TrustedNetworksActivity.class));
        return true;
    });
    // Add device by IP
    Preference devicesByIpPreference = new Preference(context);
    devicesByIpPreference.setPersistent(false);
    devicesByIpPreference.setTitle(R.string.custom_device_list);
    screen.addPreference(devicesByIpPreference);
    devicesByIpPreference.setOnPreferenceClickListener(preference -> {
        startActivity(new Intent(context, CustomDevicesActivity.class));
        return true;
    });
    // More settings text
    Preference moreSettingsText = new Preference(context);
    moreSettingsText.setPersistent(false);
    moreSettingsText.setSelectable(false);
    moreSettingsText.setTitle(R.string.settings_more_settings_title);
    moreSettingsText.setSummary(R.string.settings_more_settings_text);
    screen.addPreference(moreSettingsText);
    setPreferenceScreen(screen);
}
Also used : Context(android.content.Context) TwoStatePreference(androidx.preference.TwoStatePreference) PreferenceScreen(androidx.preference.PreferenceScreen) SwitchPreferenceCompat(androidx.preference.SwitchPreferenceCompat) Intent(android.content.Intent) EditTextPreference(androidx.preference.EditTextPreference) ListPreference(androidx.preference.ListPreference) TwoStatePreference(androidx.preference.TwoStatePreference) Preference(androidx.preference.Preference) ListPreference(androidx.preference.ListPreference) EditTextPreference(androidx.preference.EditTextPreference) Snackbar(com.google.android.material.snackbar.Snackbar)

Example 13 with EditTextPreference

use of androidx.preference.EditTextPreference in project android_packages_apps_Settings by omnirom.

the class MDNHandlerHeaderFragment method onCreatePreferences.

@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
    setPreferencesFromResource(R.xml.smart_forwarding_mdn_handler_header, rootKey);
    EditTextPreference slot0EditText = findPreference(KEY_SLOT0_PHONE_NUMBER);
    slot0EditText.setOnBindEditTextListener(this);
    slot0EditText.setOnPreferenceChangeListener(this);
    String slot0PhoneNumber = getPhoneNumber(getContext(), 0);
    slot0EditText.setSummary(slot0PhoneNumber);
    slot0EditText.setText(slot0PhoneNumber);
    EditTextPreference slot1EditText = findPreference(KEY_SLOT1_PHONE_NUMBER);
    slot1EditText.setOnPreferenceChangeListener(this);
    slot1EditText.setOnBindEditTextListener(this);
    String slot1PhoneNumber = getPhoneNumber(getContext(), 1);
    slot1EditText.setSummary(slot1PhoneNumber);
    slot1EditText.setText(slot1PhoneNumber);
}
Also used : EditTextPreference(androidx.preference.EditTextPreference)

Aggregations

EditTextPreference (androidx.preference.EditTextPreference)13 ListPreference (androidx.preference.ListPreference)10 Preference (androidx.preference.Preference)8 Intent (android.content.Intent)2 Bundle (android.os.Bundle)2 AppCompatActivity (androidx.appcompat.app.AppCompatActivity)2 MultiSelectListPreference (androidx.preference.MultiSelectListPreference)2 PreferenceScreen (androidx.preference.PreferenceScreen)2 SwitchPreference (androidx.preference.SwitchPreference)2 SwitchPreferenceCompat (androidx.preference.SwitchPreferenceCompat)2 ControlCharacterFilter (org.odk.collect.android.preferences.filters.ControlCharacterFilter)2 Activity (android.app.Activity)1 RESULT_OK (android.app.Activity.RESULT_OK)1 Context (android.content.Context)1 Uri (android.net.Uri)1 Message (android.os.Message)1 InputFilter (android.text.InputFilter)1 Toast (android.widget.Toast)1 Nullable (androidx.annotation.Nullable)1 AlertDialog (androidx.appcompat.app.AlertDialog)1