Example usage for com.google.common.collect ImmutableList equals

List of usage examples for com.google.common.collect ImmutableList equals

Introduction

In this page you can find the example usage for com.google.common.collect ImmutableList equals.

Prototype

@Override
    public boolean equals(@Nullable Object obj) 

Source Link

Usage

From source file:com.google.template.soy.msgs.restricted.SoyMsgBundleCompactor.java

/**
 * Recursively compacts plural/select cases.
 *
 * This will attempt to remove unnecessary cases that can easily fall back to the default.
 *
 * @param cases Mapping (as pairs) from case spec to the message parts for that case.
 * @param defaultCaseSpec The default or "other" case specification value.
 *///from w w w .ja  v  a2  s .co  m
private <T> ImmutableList<Case<T>> compactCases(ImmutableList<Case<T>> cases, T defaultCaseSpec) {
    // Determine the fallback/other case value.
    ImmutableList<SoyMsgPart> defaultValue = null;
    for (Case<T> caseAndValue : cases) {
        if (Objects.equals(caseAndValue.spec(), defaultCaseSpec)) {
            defaultValue = caseAndValue.parts();
            break;
        }
    }

    ImmutableList.Builder<Case<T>> builder = ImmutableList.builder();
    for (Case<T> caseAndValue : cases) {

        // See if this case is the same as the default/other case, but isn't itself the default/other
        // case, and can be pruned.
        if (defaultValue != null && !Objects.equals(caseAndValue.spec(), defaultCaseSpec)
                && defaultValue.equals(caseAndValue.parts())) {
            continue;
        }

        // Intern the case value, since they tend to be very common among templates. For select,
        // they tend to be strings like "male" or "female", and for plurals, it tends to be one
        // of the few in the enum.
        builder.add(Case.create(caseAndValue.spec() != null ? intern(caseAndValue.spec()) : null,
                compactParts(caseAndValue.parts())));
    }
    return builder.build();
}

From source file:ru.adios.budgeter.activities.BalancesTransferActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if (savedInstanceState != null) {
        selectedReceiverAccount = savedInstanceState.getInt(KEY_SELECTED_RECEIVER_ACCOUNT, -1);
        final long[] ids = savedInstanceState.getLongArray(KEY_SUGGESTED_RECEIVERS);
        if (ids == null) {
            suggestedReceivers = ImmutableList.of();
        } else {// w w w  .  j a  va2s.  co m
            ImmutableList.Builder<Long> builder = ImmutableList.builder();
            for (final long i : ids) {
                builder.add(i);
            }
            suggestedReceivers = builder.build();
        }
    }

    if (selectedReceiverAccount >= 0) {
        final ImmutableList<Long> receiversSnapshot = ImmutableList.copyOf(suggestedReceivers);
        new AsyncTask<Long[], Void, ImmutableList<BalanceAccount>>() {
            @Override
            protected ImmutableList<BalanceAccount> doInBackground(Long[]... params) {
                final Long[] ids = params[0];
                final ImmutableList.Builder<BalanceAccount> builder = ImmutableList.builder();
                for (final Long i : ids) {
                    final Optional<BalanceAccount> byId = treasury.getById(i);
                    if (byId.isPresent()) {
                        builder.add(byId.get());
                    }
                }
                return builder.build();
            }

            @Override
            protected void onPostExecute(ImmutableList<BalanceAccount> balanceAccounts) {
                if (receiversSnapshot.equals(suggestedReceivers)) {
                    fillReceiversSpinner(balanceAccounts);
                    if (receiverAccountSpinner != null) {
                        receiverAccountSpinner.setSelection(selectedReceiverAccount);
                        receiverAccountSpinner.setVisibility(View.VISIBLE);
                        receiverAccountInfo.setVisibility(View.INVISIBLE);
                    }
                }
            }
        }.execute(receiversSnapshot.toArray(new Long[receiversSnapshot.size()]));
    }

    collectEssentialViews();
    receiverAccountSpinner.setOnItemSelectedListener(new EmptyOnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            selectedReceiverAccount = parent.getAdapter().getCount() > position ? position : -1;
        }
    });
    transferErrorHighlighter.addElementInfo(BalancesTransferCore.FIELD_RECEIVER_ACCOUNT, receiverAccountInfo);
    CoreNotifier.addLink(this, receiverAccountSpinner, new CoreNotifier.ArbitraryLinker() {
        @Override
        public boolean link(Object data) {
            final BalanceAccount object = (BalanceAccount) data;
            final BalanceAccount prev = transferElement.getReceiverAccount();

            if ((prev == null && object != null) || (prev != null && !prev.equals(object))) {
                transferElement.setReceiverAccount(object);
                return true;
            }
            return false;
        }
    });

    final View infoView = findViewById(R.id.balances_transfer_info);
    senderAccountInfoProvider.getSubmitInfo(AccountStandardFragment.BUTTON_NEW_ACCOUNT_SUBMIT).errorHighlighter
            .setGlobalInfoView(infoView);
    transferErrorHighlighter.setGlobalInfoView(infoView);
}