类android.preference.PreferenceScreen源码实例Demo

下面列出了怎么用android.preference.PreferenceScreen的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: tapchat-android   文件: PreferencesActivity.java
@Override public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
    String key = preference.getKey();

    if (key != null && key.equals("networks")) {
        startActivity(new Intent(this, NetworksActivity.class));
        return true;

    } else if (key != null && key.equals("logout")) {
        new AlertDialog.Builder(PreferencesActivity.this)
            .setMessage(R.string.logout_text)
            .setPositiveButton(R.string.logout, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
                    mServiceConnection.getService().logout();
                    startActivity(new Intent(PreferencesActivity.this, WelcomeActivity.class));
                    finish();
                }
            })
            .setNegativeButton(android.R.string.cancel, null)
            .show();
        return true;
    }
    return false;
}
 
private void clearStoredData() {
    mSite.clearAllStoredData(
            new Website.StoredDataClearedCallback() {
                @Override
                public void onStoredDataCleared() {
                    PreferenceScreen preferenceScreen = getPreferenceScreen();
                    preferenceScreen.removePreference(
                            preferenceScreen.findPreference(PREF_CLEAR_DATA));
                    if (!hasUsagePreferences()) {
                        preferenceScreen.removePreference(
                                preferenceScreen.findPreference(PREF_USAGE));
                    }
                    popBackIfNoSettings();
                }
            });
}
 
源代码3 项目: HeadsUp   文件: PreferenceFragmentBase.java
@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    if (mHavePrefs) {
        bindPreferences();
    }

    mInitDone = true;

    if (savedInstanceState != null) {
        Bundle container = savedInstanceState.getBundle(PREFERENCES_TAG);
        if (container != null) {
            final PreferenceScreen preferenceScreen = getPreferenceScreen();
            if (preferenceScreen != null) {
                preferenceScreen.restoreHierarchyState(container);
            }
        }
    }
}
 
源代码4 项目: talkback   文件: SwitchAccessPreferenceActivity.java
private void assignTtsSettingsIntentOrRemovePref() {
  PreferenceScreen preferenceScreen =
      (PreferenceScreen)
          findPreference(R.string.pref_key_category_switch_access_speech_sound_vibration);
  Preference ttsSettingsPreference =
      findPreference(R.string.pref_key_switch_access_tts_settings);

  if (preferenceScreen == null || ttsSettingsPreference == null) {
    return;
  }

  Intent ttsSettingsIntent = new Intent(TTS_SETTINGS_INTENT);
  ttsSettingsIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  if (canHandleIntent(ttsSettingsIntent)) {
    ttsSettingsPreference.setIntent(ttsSettingsIntent);
  } else {
    // We should remove the preference if there is no TTS Settings intent filter in settings
    // app.
    preferenceScreen.removePreference(ttsSettingsPreference);
  }
}
 
源代码5 项目: xDrip-plus   文件: Preferences.java
private void update_nfc_expiry_preferences(Boolean show_age) {
    try {
        ;
        final PreferenceScreen nfcScreen = (PreferenceScreen) findPreference("xdrip_plus_nfc_settings");
        final String nfc_expiry_days_string = AllPrefsFragment.this.prefs.getString("nfc_expiry_days", "14.5");

        final CheckBoxPreference nfc_show_age = (CheckBoxPreference) findPreference("nfc_show_age");
        nfc_show_age.setSummaryOff("Show the sensor expiry time based on " + nfc_expiry_days_string + " days");
        if (show_age == null) show_age = nfc_show_age.isChecked();
        if (show_age) {
            nfcScreen.removePreference(nfc_expiry_days);
        } else {
            nfc_expiry_days.setOrder(3);
            nfcScreen.addPreference(nfc_expiry_days);
        }
    } catch (NullPointerException e) {
        //
    }
}
 
源代码6 项目: currency   文件: SettingsFragment.java
@Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,
                                     Preference preference)
{
    boolean result =
        super.onPreferenceTreeClick(preferenceScreen, preference);

    // Set home as up
    if (preference instanceof PreferenceScreen)
    {
        Dialog dialog = ((PreferenceScreen) preference).getDialog();
        ActionBar actionBar = dialog.getActionBar();
        actionBar.setDisplayHomeAsUpEnabled(false);
    }

    return result;
}
 
源代码7 项目: Equate   文件: SettingsActivity.java
/**
 * Helper Class to setup the default Unit Type preference list in code
 */
private void setUpUnitTypePrefs() {
   PreferenceScreen screen = getPreferenceScreen();
   MultiSelectListPreference listPref = new MultiSelectListPreference(super.getActivity());
   listPref.setOrder(0);
   listPref.setDialogTitle(R.string.unit_select_title);
   listPref.setKey(UNIT_TYPE_PREF_KEY);
   listPref.setSummary(R.string.unit_select_summary);
   listPref.setTitle(R.string.unit_select_title);
   listPref.setEntries(getUnitTypeNameArray(getResources()));

   String[] keyArray = getUnitTypeKeyArray(getResources());
   listPref.setEntryValues(keyArray);

   final Set<String> result = new HashSet<>();
   Collections.addAll(result, keyArray);

   listPref.setDefaultValue(result);

   screen.addPreference(listPref);
}
 
源代码8 项目: HeadsUp   文件: ConfigBase.java
private void addPreference(@Nullable PreferenceScreen preferenceScreen,
                           @NonNull Preference preference,
                           Group group) {

    // Remove preference from preference screen
    // if needed.
    if (preferenceScreen != null) {
        if (Device.hasTargetApi(group.option.maxSdkVersion + 1)
                || !Device.hasTargetApi(group.option.minSdkVersion)) {
            removePreference(preferenceScreen, preference);
            return;
        }
    }

    mGroups.add(group);

    if (mStarted) {
        startListeningGroup(group);
    }
}
 
源代码9 项目: NetGuard   文件: ActivitySettings.java
@TargetApi(Build.VERSION_CODES.M)
private boolean checkPermissions(String name) {
    PreferenceScreen screen = getPreferenceScreen();
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);

    // Check if permission was revoked
    if ((name == null || "disable_on_call".equals(name)) && prefs.getBoolean("disable_on_call", false))
        if (!Util.hasPhoneStatePermission(this)) {
            prefs.edit().putBoolean("disable_on_call", false).apply();
            ((TwoStatePreference) screen.findPreference("disable_on_call")).setChecked(false);

            requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE}, REQUEST_CALL);

            if (name != null)
                return false;
        }

    return true;
}
 
源代码10 项目: mytracks   文件: SensorSettingsActivity.java
@SuppressWarnings("deprecation")
@Override
protected void onCreate(Bundle bundle) {
  super.onCreate(bundle);
  addPreferencesFromResource(R.xml.sensor_settings);

  boolean hasAntSupport = AntInterface.hasAntSupport(this);

  configSensorType(hasAntSupport);

  findPreference(getString(R.string.settings_sensor_bluetooth_pairing_key))
      .setOnPreferenceClickListener(new OnPreferenceClickListener() {
        public boolean onPreferenceClick(Preference preference) {
          Intent settingsIntent = new Intent(Settings.ACTION_BLUETOOTH_SETTINGS);
          startActivity(settingsIntent);
          return true;
        }
      });

  if (!hasAntSupport) {
    PreferenceScreen rootPreferenceScreen = (PreferenceScreen) findPreference(
        getString(R.string.settings_sensor_root_key));
    rootPreferenceScreen.removePreference(
        findPreference(getString(R.string.settings_sensor_ant_key)));
  }
}
 
源代码11 项目: JPPF   文件: SettingsFragment.java
@Override
public void onCreate(Bundle savedInstanceState) {
  try {
    super.onCreate(savedInstanceState);
    // Load the preferences screen from an XML resource
    addPreferencesFromResource(R.xml.preferences);
    String[] pickerKeys = { PreferenceUtils.TRUST_STORE_LOCATION_KEY, PreferenceUtils.KEY_STORE_LOCATION_KEY };
    for (String key: pickerKeys) {
      FilechoserEditTextPreference picker = (FilechoserEditTextPreference) findPreference(key);
      picker.setFragment(this);
    }
    PreferenceScreen pref = (PreferenceScreen) findPreference("pref_security");
    if (SUPPORTED_CIPHER_SUITES.isEmpty()) {
      SSLSocketFactory ssf = (SSLSocketFactory) SSLSocketFactory.getDefault();
      ENABLED_CIPHER_SUITES.addAll(Arrays.asList(ssf.getDefaultCipherSuites()));
      SUPPORTED_CIPHER_SUITES.addAll(Arrays.asList(ssf.getSupportedCipherSuites()));
    }
    MultiSelectListPreference ciphersPref = (MultiSelectListPreference) findPreference(PreferenceUtils.ENABLED_CIPHER_SUITES_KEY);
    ciphersPref.setDefaultValue(ENABLED_CIPHER_SUITES.toArray(new String[ENABLED_CIPHER_SUITES.size()]));
    ciphersPref.setEntryValues(SUPPORTED_CIPHER_SUITES.toArray(new String[SUPPORTED_CIPHER_SUITES.size()]));
    ciphersPref.setEntries(SUPPORTED_CIPHER_SUITES.toArray(new String[SUPPORTED_CIPHER_SUITES.size()]));
  } catch(Throwable t) {
    t.printStackTrace();
  }
}
 
@Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
    switch (preference.getKey()) {
        case PreferenceKey.ADJUST_SIZE:
        case PreferenceKey.PREF_USER:
        case PreferenceKey.PREF_BLACK_LIST:
        case "pref_keyword":
            Intent intent = new Intent(getActivity(), LauncherSubActivity.class);
            intent.putExtra("fragment", preference.getFragment());
            startActivity(intent);
            break;
        default:
            return super.onPreferenceTreeClick(preferenceScreen, preference);

    }
    return true;
}
 
源代码13 项目: codeexamples-android   文件: DeviceAdminSample.java
@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    // Retrieve the useful instance variables
    mActivity = (DeviceAdminSample) getActivity();
    mDPM = mActivity.mDPM;
    mDeviceAdminSample = mActivity.mDeviceAdminSample;
    mAdminActive = mActivity.isActiveAdmin();

    // Configure the shared UI elements (if they exist)
    mResetPassword = (EditTextPreference) findPreference(KEY_RESET_PASSWORD);
    mSetPassword = (PreferenceScreen) findPreference(KEY_SET_PASSWORD);

    if (mResetPassword != null) {
        mResetPassword.setOnPreferenceChangeListener(this);
    }
    if (mSetPassword != null) {
        mSetPassword.setOnPreferenceClickListener(this);
    }
}
 
源代码14 项目: haystack   文件: DevelopmentSettings.java
@DexWrap
@Override
/*<7.0*/ public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
//>7.0// public boolean onPreferenceTreeClick(Preference preference) {
    if (Utils.isMonkeyRunning()) {
        return false;
    }
    if (mFakeSignatureGlobalPreference != null) {
        if (preference == mFakeSignatureGlobalPreference) {
            writeFakeSignatureGlobalSettingWithWarningDialog(mFakeSignatureGlobalPreference.isChecked());
            return false;
        }
    }
    /*<7.0*/ return onPreferenceTreeClick(preferenceScreen, preference);
    //>7.0// return onPreferenceTreeClick(preference);
}
 
源代码15 项目: datmusic-android   文件: PreferenceFragment.java
@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    if (mHavePrefs) {
        bindPreferences();
    }

    mInitDone = true;

    if (savedInstanceState != null) {
        Bundle container = savedInstanceState.getBundle(PREFERENCES_TAG);
        if (container != null) {
            final PreferenceScreen preferenceScreen = getPreferenceScreen();
            if (preferenceScreen != null) {
                preferenceScreen.restoreHierarchyState(container);
            }
        }
    }
}
 
源代码16 项目: simple-keyboard   文件: ThemeSettingsFragment.java
@Override
public void onCreate(final Bundle icicle) {
    super.onCreate(icicle);
    addPreferencesFromResource(R.xml.prefs_screen_theme);
    final PreferenceScreen screen = getPreferenceScreen();
    final Context context = getActivity();
    final Resources res = getResources();
    final String[] keyboardThemeNames = res.getStringArray(R.array.keyboard_theme_names);
    final int[] keyboardThemeIds = res.getIntArray(R.array.keyboard_theme_ids);
    for (int index = 0; index < keyboardThemeIds.length; index++) {
        final KeyboardThemePreference pref = new KeyboardThemePreference(
                context, keyboardThemeNames[index], keyboardThemeIds[index]);
        screen.addPreference(pref);
        pref.setOnRadioButtonClickedListener(this);
    }
    final KeyboardTheme keyboardTheme = KeyboardTheme.getKeyboardTheme(context);
    mSelectedThemeId = keyboardTheme.mThemeId;
}
 
@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    if (mHavePrefs) {
        bindPreferences();
    }

    mInitDone = true;

    if (savedInstanceState != null) {
        Bundle container = savedInstanceState.getBundle(PREFERENCES_TAG);
        if (container != null) {
            final PreferenceScreen preferenceScreen = getPreferenceScreen();
            if (preferenceScreen != null) {
                preferenceScreen.restoreHierarchyState(container);
            }
        }
    }
}
 
源代码18 项目: trekarta   文件: Settings.java
@Override
public void onResume() {
    super.onResume();
    PreferenceScreen preferenceScreen = getPreferenceScreen();
    for (int i = 0; i < preferenceScreen.getPreferenceCount(); i++) {
        Preference preference = preferenceScreen.getPreference(i);
        if (preference instanceof PreferenceGroup) {
            PreferenceGroup preferenceGroup = (PreferenceGroup) preference;
            for (int j = 0; j < preferenceGroup.getPreferenceCount(); j++) {
                Preference subPref = preferenceGroup.getPreference(j);
                updatePreference(subPref, subPref.getKey());
            }
        } else {
            updatePreference(preference, preference.getKey());
        }
    }
}
 
源代码19 项目: HeadsUp   文件: PreferenceManagerUtils.java
/**
 * Sets the root of the preference hierarchy.
 *
 * @param preferenceScreen The root {@link android.preference.PreferenceScreen} of the preference hierarchy.
 * @return Whether the {@link android.preference.PreferenceScreen} given is different than the previous.
 */
public static boolean setPreferences(@NonNull PreferenceManager manager,
                                     PreferenceScreen preferenceScreen) {
    try {
        Method m = PreferenceManager.class
                .getDeclaredMethod("setPreferences", PreferenceScreen.class);
        m.setAccessible(true);
        return ((Boolean) m.invoke(manager, preferenceScreen));
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}
 
源代码20 项目: a   文件: SettingNestedFragment.java
@Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {

    if (preference.getKey().equals(getString(R.string.pk_logo_path))) {
        selectLogoPath(preference);
    }

    return super.onPreferenceTreeClick(preferenceScreen, preference);
}
 
private static CheckBoxPreference[] findDecodePrefs(PreferenceScreen preferences, String... keys) {
  CheckBoxPreference[] prefs = new CheckBoxPreference[keys.length];
  for (int i = 0; i < keys.length; i++) {
    prefs[i] = (CheckBoxPreference) preferences.findPreference(keys[i]);
  }
  return prefs;
}
 
源代码22 项目: GeoLog   文件: PreferenceListFragment.java
/**
 * Gets the root of the preference hierarchy that this activity is showing.
 * 
 * @return The {@link PreferenceScreen} that is the root of the preference
 *         hierarchy.
 */
public PreferenceScreen getPreferenceScreen(){
    try{
        Method m = PreferenceManager.class.getDeclaredMethod("getPreferenceScreen");
        m.setAccessible(true);
        return (PreferenceScreen) m.invoke(mPreferenceManager);
    }catch(Exception e){
        e.printStackTrace();
        return null;
    }
}
 
源代码23 项目: busybox   文件: SettingsActivity.java
/**
 * Recursive set summaries
 *
 * @param pg group
 */
private void initSummaries(PreferenceGroup pg) {
    for (int i = 0; i < pg.getPreferenceCount(); ++i) {
        Preference p = pg.getPreference(i);
        if (p instanceof PreferenceGroup)
            initSummaries((PreferenceGroup) p);
        else
            setSummary(p, false);
        if (p instanceof PreferenceScreen)
            p.setOnPreferenceClickListener(this);
    }
}
 
源代码24 项目: AcDisplay   文件: PreferenceFragmentBase.java
@Override
public void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);

    final PreferenceScreen preferenceScreen = getPreferenceScreen();
    if (preferenceScreen != null) {
        Bundle container = new Bundle();
        preferenceScreen.saveHierarchyState(container);
        outState.putBundle(PREFERENCES_TAG, container);
    }
}
 
源代码25 项目: AndroidChromium   文件: SavePasswordsPreferences.java
@Override
public void passwordExceptionListAvailable(int count) {
    resetList(PREF_CATEGORY_EXCEPTIONS);
    mNoPasswordExceptions = count == 0;
    if (mNoPasswordExceptions) {
        if (mNoPasswords) displayEmptyScreenMessage();
        return;
    }

    displayManageAccountLink();

    PreferenceCategory profileCategory = new PreferenceCategory(getActivity());
    profileCategory.setKey(PREF_CATEGORY_EXCEPTIONS);
    profileCategory.setTitle(R.string.section_saved_passwords_exceptions);
    profileCategory.setOrder(ORDER_EXCEPTIONS);
    getPreferenceScreen().addPreference(profileCategory);
    for (int i = 0; i < count; i++) {
        String exception = mPasswordManagerHandler.getSavedPasswordException(i);
        PreferenceScreen screen = getPreferenceManager().createPreferenceScreen(getActivity());
        screen.setTitle(exception);
        screen.setOnPreferenceClickListener(this);
        Bundle args = screen.getExtras();
        args.putString(PASSWORD_LIST_URL, exception);
        args.putInt(PASSWORD_LIST_ID, i);
        profileCategory.addPreference(screen);
    }
}
 
源代码26 项目: tracker-control-android   文件: ActivitySettings.java
private void updateTechnicalInfo() {
    PreferenceScreen screen = getPreferenceScreen();
    Preference pref_technical_info = screen.findPreference("technical_info");
    Preference pref_technical_network = screen.findPreference("technical_network");

    pref_technical_info.setSummary(Util.getGeneralInfo(this));
    pref_technical_network.setSummary(Util.getNetworkInfo(this));
}
 
源代码27 项目: GeoLog   文件: PreferenceListFragment.java
/**
 * Inflates the given XML resource and adds the preference hierarchy to the current
 * preference hierarchy.
 * 
 * @param preferencesResId The XML resource ID to inflate.
 */
public void addPreferencesFromResource(int preferencesResId) {   
    try{
        Method m = PreferenceManager.class.getDeclaredMethod("inflateFromResource", Context.class, int.class, PreferenceScreen.class);
        m.setAccessible(true);
        PreferenceScreen prefScreen = (PreferenceScreen) m.invoke(mPreferenceManager, getActivity(), preferencesResId, getPreferenceScreen());
        setPreferenceScreen(prefScreen);
    }catch(Exception e){
        e.printStackTrace();
    }
}
 
源代码28 项目: GravityBox   文件: LedSettingsFragment.java
@Override
public boolean onPreferenceTreeClick(PreferenceScreen prefScreen, Preference pref) {
    if (pref == mNotifSoundPref) {
        Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, mSoundUri);
        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION);
        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true);
        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, true);
        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_DEFAULT_URI, 
                Settings.System.DEFAULT_NOTIFICATION_URI);
        startActivityForResult(intent, REQ_PICK_SOUND);
        return true;
    }
    return super.onPreferenceTreeClick(prefScreen, pref);
}
 
源代码29 项目: syncthing-android   文件: SettingsActivity.java
private void setPreferenceCategoryChangeListener(
        Preference category, Preference.OnPreferenceChangeListener listener) {
    PreferenceScreen ps = (PreferenceScreen) category;
    for (int i = 0; i < ps.getPreferenceCount(); i++) {
        Preference p = ps.getPreference(i);
        p.setOnPreferenceChangeListener(listener);
    }
}
 
源代码30 项目: AcDisplay   文件: PreferenceFragmentBase.java
/**
 * Sets the root of the preference hierarchy that this fragment is showing.
 *
 * @param preferenceScreen The root {@link android.preference.PreferenceScreen} of the preference hierarchy.
 */
public void setPreferenceScreen(PreferenceScreen preferenceScreen) {
    boolean r = PreferenceManagerUtils.setPreferences(mPreferenceManager, preferenceScreen);
    if (r && preferenceScreen != null) {
        onUnbindPreferences();
        mHavePrefs = true;
        if (mInitDone) {
            postBindPreferences();
        }
    }
}