Example usage for android.preference Preference getOrder

List of usage examples for android.preference Preference getOrder

Introduction

In this page you can find the example usage for android.preference Preference getOrder.

Prototype

public int getOrder() 

Source Link

Document

Gets the order of this Preference with respect to other Preference objects on the same level.

Usage

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);
    }
}