List of usage examples for android.preference Preference getOrder
public int getOrder()
From source file:de.mrapp.android.dialog.example.PreferenceFragment.java
/** * Creates and returns the rectangular reveal animation, which should be used to show or hide * dialogs.//from ww w . ja va 2 s.c o m * * @param preference * The preference, which is used to show the dialog, as an instance of the class {@link * Preference} * @return The animation, which has been created, as an instance of the type {@link * DialogAnimation} */ private DialogAnimation createRectangularRevealAnimation(@NonNull final Preference preference) { if (shouldUseAnimations()) { ListView listView = (ListView) getActivity().findViewById(android.R.id.list); View view = listView.getChildAt(preference.getOrder() + 1); int[] location = new int[2]; view.getLocationOnScreen(location); return new RectangleRevealAnimation.Builder(getActivity()).setWidth(view.getWidth()) .setHeight(view.getHeight()).setX(location[0]) .setY(location[1] - getStatusBarHeight(getActivity())).create(); } return null; }
From source file:im.vector.fragments.VectorSettingsPreferencesFragment.java
/** * Refresh phone number list//from w ww . j a v a 2 s. com */ private void refreshPhoneNumbersList() { final List<ThirdPartyIdentifier> currentPhoneNumber3PID = new ArrayList<>( mSession.getMyUser().getlinkedPhoneNumbers()); List<String> phoneNumberList = new ArrayList<>(); for (ThirdPartyIdentifier identifier : currentPhoneNumber3PID) { phoneNumberList.add(identifier.address); } // check first if there is an update boolean isNewList = true; if ((null != mDisplayedPhoneNumber) && (phoneNumberList.size() == mDisplayedPhoneNumber.size())) { isNewList = !mDisplayedPhoneNumber.containsAll(phoneNumberList); } if (isNewList) { // remove the displayed one for (int index = 0;; index++) { Preference preference = mUserSettingsCategory .findPreference(PHONE_NUMBER_PREFERENCE_KEY_BASE + index); if (null != preference) { mUserSettingsCategory.removePreference(preference); } else { break; } } // add new phone number list mDisplayedPhoneNumber = phoneNumberList; int index = 0; final Preference addPhoneBtn = mUserSettingsCategory.findPreference(ADD_PHONE_NUMBER_PREFERENCE_KEY); int order = addPhoneBtn.getOrder(); for (final ThirdPartyIdentifier phoneNumber3PID : currentPhoneNumber3PID) { VectorCustomActionEditTextPreference preference = new VectorCustomActionEditTextPreference( getActivity()); preference.setTitle(getString(R.string.settings_phone_number)); String phoneNumberFormatted = phoneNumber3PID.address; try { // Attempt to format phone number final Phonenumber.PhoneNumber phoneNumber = PhoneNumberUtil.getInstance() .parse("+" + phoneNumberFormatted, null); phoneNumberFormatted = PhoneNumberUtil.getInstance().format(phoneNumber, PhoneNumberUtil.PhoneNumberFormat.INTERNATIONAL); } catch (NumberParseException e) { // Do nothing, we will display raw version } preference.setSummary(phoneNumberFormatted); preference.setKey(PHONE_NUMBER_PREFERENCE_KEY_BASE + index); preference.setOrder(order); preference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { displayDelete3PIDConfirmationDialog(phoneNumber3PID, preference.getSummary()); return true; } }); preference.setOnPreferenceLongClickListener( new VectorCustomActionEditTextPreference.OnPreferenceLongClickListener() { @Override public boolean onPreferenceLongClick(Preference preference) { VectorUtils.copyToClipboard(getActivity(), phoneNumber3PID.address); return true; } }); index++; order++; mUserSettingsCategory.addPreference(preference); } addPhoneBtn.setOrder(order); } }
From source file:im.vector.fragments.VectorSettingsPreferencesFragment.java
/** * Refresh the emails list//from w ww .j a v a 2s. co m */ private void refreshEmailsList() { final List<ThirdPartyIdentifier> currentEmail3PID = new ArrayList<>(mSession.getMyUser().getlinkedEmails()); List<String> newEmailsList = new ArrayList<>(); for (ThirdPartyIdentifier identifier : currentEmail3PID) { newEmailsList.add(identifier.address); } // check first if there is an update boolean isNewList = true; if ((null != mDisplayedEmails) && (newEmailsList.size() == mDisplayedEmails.size())) { isNewList = !mDisplayedEmails.containsAll(newEmailsList); } if (isNewList) { // remove the displayed one for (int index = 0;; index++) { Preference preference = mUserSettingsCategory.findPreference(EMAIL_PREFERENCE_KEY_BASE + index); if (null != preference) { mUserSettingsCategory.removePreference(preference); } else { break; } } // add new emails list mDisplayedEmails = newEmailsList; int index = 0; final Preference addEmailBtn = mUserSettingsCategory.findPreference(ADD_EMAIL_PREFERENCE_KEY); // reported by GA if (null == addEmailBtn) { return; } int order = addEmailBtn.getOrder(); for (final ThirdPartyIdentifier email3PID : currentEmail3PID) { VectorCustomActionEditTextPreference preference = new VectorCustomActionEditTextPreference( getActivity()); preference.setTitle(getString(R.string.settings_email_address)); preference.setSummary(email3PID.address); preference.setKey(EMAIL_PREFERENCE_KEY_BASE + index); preference.setOrder(order); preference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { displayDelete3PIDConfirmationDialog(email3PID, preference.getSummary()); return true; } }); preference.setOnPreferenceLongClickListener( new VectorCustomActionEditTextPreference.OnPreferenceLongClickListener() { @Override public boolean onPreferenceLongClick(Preference preference) { VectorUtils.copyToClipboard(getActivity(), email3PID.address); return true; } }); mUserSettingsCategory.addPreference(preference); index++; order++; } addEmailBtn.setOrder(order); } }