Search in sources :

Example 1 with EditTextPreference

use of android.preference.EditTextPreference in project AndroidTraining by mixi-inc.

the class SettingsActivity3 method onSharedPreferenceChanged.

@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
    // 処理対象のPreferenceかをkeyで判定
    if (key.equals(EDIT_TEXT_KEY)) {
        // keyからPreferenceのインスタンスを取得
        EditTextPreference editPref = (EditTextPreference) findPreference(EDIT_TEXT_KEY);
        // Preferenceのサマリーを変更
        editPref.setSummary(editPref.getText());
    }
}
Also used : EditTextPreference(android.preference.EditTextPreference)

Example 2 with EditTextPreference

use of android.preference.EditTextPreference in project AntennaPod by AntennaPod.

the class PreferenceController method onCreate.

public void onCreate() {
    final Activity activity = ui.getActivity();
    if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
        // disable expanded notification option on unsupported android versions
        ui.findPreference(PreferenceController.PREF_EXPANDED_NOTIFICATION).setEnabled(false);
        ui.findPreference(PreferenceController.PREF_EXPANDED_NOTIFICATION).setOnPreferenceClickListener(preference -> {
            Toast toast = Toast.makeText(activity, R.string.pref_expand_notify_unsupport_toast, Toast.LENGTH_SHORT);
            toast.show();
            return true;
        });
    }
    ui.findPreference(PreferenceController.PREF_FLATTR_REVOKE).setOnPreferenceClickListener(preference -> {
        FlattrUtils.revokeAccessToken(activity);
        checkItemVisibility();
        return true;
    });
    ui.findPreference(PreferenceController.PREF_ABOUT).setOnPreferenceClickListener(preference -> {
        activity.startActivity(new Intent(activity, AboutActivity.class));
        return true;
    });
    ui.findPreference(PreferenceController.STATISTICS).setOnPreferenceClickListener(preference -> {
        activity.startActivity(new Intent(activity, StatisticsActivity.class));
        return true;
    });
    ui.findPreference(PreferenceController.PREF_OPML_EXPORT).setOnPreferenceClickListener(preference -> export(new OpmlWriter()));
    ui.findPreference(PreferenceController.PREF_HTML_EXPORT).setOnPreferenceClickListener(preference -> export(new HtmlWriter()));
    ui.findPreference(PreferenceController.PREF_CHOOSE_DATA_DIR).setOnPreferenceClickListener(preference -> {
        if (Build.VERSION_CODES.KITKAT <= Build.VERSION.SDK_INT && Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP_MR1) {
            showChooseDataFolderDialog();
        } else {
            int readPermission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.READ_EXTERNAL_STORAGE);
            int writePermission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);
            if (readPermission == PackageManager.PERMISSION_GRANTED && writePermission == PackageManager.PERMISSION_GRANTED) {
                openDirectoryChooser();
            } else {
                requestPermission();
            }
        }
        return true;
    });
    ui.findPreference(PreferenceController.PREF_CHOOSE_DATA_DIR).setOnPreferenceClickListener(preference -> {
        if (Build.VERSION.SDK_INT >= 19) {
            showChooseDataFolderDialog();
        } else {
            Intent intent = new Intent(activity, DirectoryChooserActivity.class);
            activity.startActivityForResult(intent, DirectoryChooserActivity.RESULT_CODE_DIR_SELECTED);
        }
        return true;
    });
    ui.findPreference(UserPreferences.PREF_THEME).setOnPreferenceChangeListener((preference, newValue) -> {
        Intent i = new Intent(activity, MainActivity.class);
        i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
        activity.finish();
        activity.startActivity(i);
        return true;
    });
    ui.findPreference(UserPreferences.PREF_HIDDEN_DRAWER_ITEMS).setOnPreferenceClickListener(preference -> {
        showDrawerPreferencesDialog();
        return true;
    });
    ui.findPreference(UserPreferences.PREF_COMPACT_NOTIFICATION_BUTTONS).setOnPreferenceClickListener(preference -> {
        showNotificationButtonsDialog();
        return true;
    });
    ui.findPreference(UserPreferences.PREF_UPDATE_INTERVAL).setOnPreferenceClickListener(preference -> {
        showUpdateIntervalTimePreferencesDialog();
        return true;
    });
    ui.findPreference(UserPreferences.PREF_ENABLE_AUTODL).setOnPreferenceChangeListener((preference, newValue) -> {
        if (newValue instanceof Boolean) {
            boolean enabled = (Boolean) newValue;
            ui.findPreference(UserPreferences.PREF_EPISODE_CACHE_SIZE).setEnabled(enabled);
            ui.findPreference(UserPreferences.PREF_ENABLE_AUTODL_ON_BATTERY).setEnabled(enabled);
            ui.findPreference(UserPreferences.PREF_ENABLE_AUTODL_WIFI_FILTER).setEnabled(enabled);
            setSelectedNetworksEnabled(enabled && UserPreferences.isEnableAutodownloadWifiFilter());
        }
        return true;
    });
    ui.findPreference(UserPreferences.PREF_ENABLE_AUTODL_WIFI_FILTER).setOnPreferenceChangeListener((preference, newValue) -> {
        if (newValue instanceof Boolean) {
            setSelectedNetworksEnabled((Boolean) newValue);
            return true;
        } else {
            return false;
        }
    });
    ui.findPreference(UserPreferences.PREF_PARALLEL_DOWNLOADS).setOnPreferenceChangeListener((preference, o) -> {
        if (o instanceof String) {
            try {
                int value = Integer.parseInt((String) o);
                if (1 <= value && value <= 50) {
                    setParallelDownloadsText(value);
                    return true;
                }
            } catch (NumberFormatException e) {
                return false;
            }
        }
        return false;
    });
    // validate and set correct value: number of downloads between 1 and 50 (inclusive)
    final EditText ev = ((EditTextPreference) ui.findPreference(UserPreferences.PREF_PARALLEL_DOWNLOADS)).getEditText();
    ev.addTextChangedListener(new TextWatcher() {

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
        }

        @Override
        public void afterTextChanged(Editable s) {
            if (s.length() > 0) {
                try {
                    int value = Integer.parseInt(s.toString());
                    if (value <= 0) {
                        ev.setText("1");
                    } else if (value > 50) {
                        ev.setText("50");
                    }
                } catch (NumberFormatException e) {
                    ev.setText("6");
                }
                ev.setSelection(ev.getText().length());
            }
        }
    });
    ui.findPreference(UserPreferences.PREF_EPISODE_CACHE_SIZE).setOnPreferenceChangeListener((preference, o) -> {
        if (o instanceof String) {
            setEpisodeCacheSizeText(UserPreferences.readEpisodeCacheSize((String) o));
        }
        return true;
    });
    ui.findPreference(PreferenceController.PREF_PLAYBACK_SPEED_LAUNCHER).setOnPreferenceClickListener(preference -> {
        VariableSpeedDialog.showDialog(activity);
        return true;
    });
    ui.findPreference(PreferenceController.PREF_GPODNET_SETLOGIN_INFORMATION).setOnPreferenceClickListener(preference -> {
        AuthenticationDialog dialog = new AuthenticationDialog(activity, R.string.pref_gpodnet_setlogin_information_title, false, false, GpodnetPreferences.getUsername(), null) {

            @Override
            protected void onConfirmed(String username, String password, boolean saveUsernamePassword) {
                GpodnetPreferences.setPassword(password);
            }
        };
        dialog.show();
        return true;
    });
    ui.findPreference(PreferenceController.PREF_GPODNET_SYNC).setOnPreferenceClickListener(preference -> {
        GpodnetSyncService.sendSyncIntent(ui.getActivity().getApplicationContext());
        Toast toast = Toast.makeText(ui.getActivity(), R.string.pref_gpodnet_sync_started, Toast.LENGTH_SHORT);
        toast.show();
        return true;
    });
    ui.findPreference(PreferenceController.PREF_GPODNET_FORCE_FULL_SYNC).setOnPreferenceClickListener(preference -> {
        GpodnetPreferences.setLastSubscriptionSyncTimestamp(0L);
        GpodnetPreferences.setLastEpisodeActionsSyncTimestamp(0L);
        GpodnetPreferences.setLastSyncAttempt(false, 0);
        updateLastGpodnetSyncReport(false, 0);
        GpodnetSyncService.sendSyncIntent(ui.getActivity().getApplicationContext());
        Toast toast = Toast.makeText(ui.getActivity(), R.string.pref_gpodnet_sync_started, Toast.LENGTH_SHORT);
        toast.show();
        return true;
    });
    ui.findPreference(PreferenceController.PREF_GPODNET_LOGOUT).setOnPreferenceClickListener(preference -> {
        GpodnetPreferences.logout();
        Toast toast = Toast.makeText(activity, R.string.pref_gpodnet_logout_toast, Toast.LENGTH_SHORT);
        toast.show();
        updateGpodnetPreferenceScreen();
        return true;
    });
    ui.findPreference(PreferenceController.PREF_GPODNET_HOSTNAME).setOnPreferenceClickListener(preference -> {
        GpodnetSetHostnameDialog.createDialog(activity).setOnDismissListener(dialog -> updateGpodnetPreferenceScreen());
        return true;
    });
    ui.findPreference(PreferenceController.PREF_AUTO_FLATTR_PREFS).setOnPreferenceClickListener(preference -> {
        AutoFlattrPreferenceDialog.newAutoFlattrPreferenceDialog(activity, new AutoFlattrPreferenceDialog.AutoFlattrPreferenceDialogInterface() {

            @Override
            public void onCancelled() {
            }

            @Override
            public void onConfirmed(boolean autoFlattrEnabled, float autoFlattrValue) {
                UserPreferences.setAutoFlattrSettings(autoFlattrEnabled, autoFlattrValue);
                checkItemVisibility();
            }
        });
        return true;
    });
    ui.findPreference(UserPreferences.PREF_IMAGE_CACHE_SIZE).setOnPreferenceChangeListener((preference, o) -> {
        if (o instanceof String) {
            int newValue = Integer.parseInt((String) o) * 1024 * 1024;
            if (newValue != UserPreferences.getImageCacheSize()) {
                AlertDialog.Builder dialog = new AlertDialog.Builder(ui.getActivity());
                dialog.setTitle(android.R.string.dialog_alert_title);
                dialog.setMessage(R.string.pref_restart_required);
                dialog.setPositiveButton(android.R.string.ok, null);
                dialog.show();
            }
            return true;
        }
        return false;
    });
    ui.findPreference(PREF_PROXY).setOnPreferenceClickListener(preference -> {
        ProxyDialog dialog = new ProxyDialog(ui.getActivity());
        dialog.createDialog().show();
        return true;
    });
    ui.findPreference(PREF_KNOWN_ISSUES).setOnPreferenceClickListener(preference -> {
        openInBrowser("https://github.com/AntennaPod/AntennaPod/labels/bug");
        return true;
    });
    ui.findPreference(PREF_FAQ).setOnPreferenceClickListener(preference -> {
        openInBrowser("http://antennapod.org/faq.html");
        return true;
    });
    ui.findPreference(PREF_SEND_CRASH_REPORT).setOnPreferenceClickListener(preference -> {
        Intent emailIntent = new Intent(Intent.ACTION_SEND);
        emailIntent.setType("text/plain");
        emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[] { "Martin.Fietz@gmail.com" });
        emailIntent.putExtra(Intent.EXTRA_SUBJECT, "AntennaPod Crash Report");
        emailIntent.putExtra(Intent.EXTRA_TEXT, "Please describe what you were doing when the app crashed");
        emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(CrashReportWriter.getFile()));
        String intentTitle = ui.getActivity().getString(R.string.send_email);
        ui.getActivity().startActivity(Intent.createChooser(emailIntent, intentTitle));
        return true;
    });
    PreferenceControllerFlavorHelper.setupFlavoredUI(ui);
    buildEpisodeCleanupPreference();
    buildSmartMarkAsPlayedPreference();
    buildAutodownloadSelectedNetworsPreference();
    setSelectedNetworksEnabled(UserPreferences.isEnableAutodownloadWifiFilter());
}
Also used : AlertDialog(android.support.v7.app.AlertDialog) ProxyDialog(de.danoeh.antennapod.dialog.ProxyDialog) AutoFlattrPreferenceDialog(de.danoeh.antennapod.dialog.AutoFlattrPreferenceDialog) HtmlWriter(de.danoeh.antennapod.core.export.html.HtmlWriter) MainActivity(de.danoeh.antennapod.activity.MainActivity) AboutActivity(de.danoeh.antennapod.activity.AboutActivity) StatisticsActivity(de.danoeh.antennapod.activity.StatisticsActivity) PreferenceActivity(de.danoeh.antennapod.activity.PreferenceActivity) DirectoryChooserActivity(de.danoeh.antennapod.activity.DirectoryChooserActivity) Activity(android.app.Activity) StatisticsActivity(de.danoeh.antennapod.activity.StatisticsActivity) Toast(android.widget.Toast) TextWatcher(android.text.TextWatcher) Editable(android.text.Editable) EditText(android.widget.EditText) AuthenticationDialog(de.danoeh.antennapod.dialog.AuthenticationDialog) Intent(android.content.Intent) EditTextPreference(android.preference.EditTextPreference) SuppressLint(android.annotation.SuppressLint) AboutActivity(de.danoeh.antennapod.activity.AboutActivity) OpmlWriter(de.danoeh.antennapod.core.export.opml.OpmlWriter)

Example 3 with EditTextPreference

use of android.preference.EditTextPreference in project zxing by zxing.

the class PreferencesFragment method onCreate.

@Override
public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    addPreferencesFromResource(R.xml.preferences);
    PreferenceScreen preferences = getPreferenceScreen();
    preferences.getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
    checkBoxPrefs = findDecodePrefs(preferences, PreferencesActivity.KEY_DECODE_1D_PRODUCT, PreferencesActivity.KEY_DECODE_1D_INDUSTRIAL, PreferencesActivity.KEY_DECODE_QR, PreferencesActivity.KEY_DECODE_DATA_MATRIX, PreferencesActivity.KEY_DECODE_AZTEC, PreferencesActivity.KEY_DECODE_PDF417);
    disableLastCheckedPref();
    EditTextPreference customProductSearch = (EditTextPreference) preferences.findPreference(PreferencesActivity.KEY_CUSTOM_PRODUCT_SEARCH);
    customProductSearch.setOnPreferenceChangeListener(new CustomSearchURLValidator());
}
Also used : PreferenceScreen(android.preference.PreferenceScreen) EditTextPreference(android.preference.EditTextPreference)

Example 4 with EditTextPreference

use of android.preference.EditTextPreference in project weex-example by KalicyZhou.

the class PreferencesFragment method onCreate.

@Override
public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    addPreferencesFromResource(R.xml.preferences);
    PreferenceScreen preferences = getPreferenceScreen();
    preferences.getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
    checkBoxPrefs = findDecodePrefs(preferences, PreferencesActivity.KEY_DECODE_1D_PRODUCT, PreferencesActivity.KEY_DECODE_1D_INDUSTRIAL, PreferencesActivity.KEY_DECODE_QR, PreferencesActivity.KEY_DECODE_DATA_MATRIX, PreferencesActivity.KEY_DECODE_AZTEC, PreferencesActivity.KEY_DECODE_PDF417);
    disableLastCheckedPref();
    EditTextPreference customProductSearch = (EditTextPreference) preferences.findPreference(PreferencesActivity.KEY_CUSTOM_PRODUCT_SEARCH);
    customProductSearch.setOnPreferenceChangeListener(new CustomSearchURLValidator());
}
Also used : PreferenceScreen(android.preference.PreferenceScreen) EditTextPreference(android.preference.EditTextPreference)

Example 5 with EditTextPreference

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

the class FormMetadataFragment method createChangeListener.

/**
 * Creates a change listener to update the UI, and save new values in shared preferences.
 */
private Preference.OnPreferenceChangeListener createChangeListener(final SharedPreferences sharedPreferences, final String key) {
    return new Preference.OnPreferenceChangeListener() {

        @Override
        public boolean onPreferenceChange(Preference preference, Object newValue) {
            String newValueString = newValue.toString();
            if (KEY_METADATA_EMAIL.equals(key)) {
                if (!newValueString.isEmpty() && !Validator.isEmailAddressValid(newValueString)) {
                    ToastUtils.showLongToast(R.string.invalid_email_address);
                    return false;
                }
            }
            EditTextPreference changedTextPref = (EditTextPreference) preference;
            changedTextPref.setSummary(newValueString);
            changedTextPref.setText(newValueString);
            SharedPreferences.Editor editor = sharedPreferences.edit();
            editor.putString(key, newValueString);
            editor.apply();
            return true;
        }
    };
}
Also used : EditTextPreference(android.preference.EditTextPreference) Preference(android.preference.Preference) SharedPreferences(android.content.SharedPreferences) EditTextPreference(android.preference.EditTextPreference)

Aggregations

EditTextPreference (android.preference.EditTextPreference)77 ListPreference (android.preference.ListPreference)32 Preference (android.preference.Preference)32 CheckBoxPreference (android.preference.CheckBoxPreference)17 SharedPreferences (android.content.SharedPreferences)11 PreferenceScreen (android.preference.PreferenceScreen)11 Test (org.junit.Test)9 MultiSelectListPreference (android.preference.MultiSelectListPreference)8 OnPreferenceChangeListener (android.preference.Preference.OnPreferenceChangeListener)8 Intent (android.content.Intent)7 ArrayList (java.util.ArrayList)7 DialogInterface (android.content.DialogInterface)6 Bundle (android.os.Bundle)6 OnPreferenceClickListener (android.preference.Preference.OnPreferenceClickListener)5 View (android.view.View)5 SwitchPreference (android.preference.SwitchPreference)4 EditText (android.widget.EditText)4 File (java.io.File)4 Activity (android.app.Activity)3 AlertDialog (android.app.AlertDialog)3