List of usage examples for com.google.common.collect ImmutableList equals
@Override public boolean equals(@Nullable Object obj)
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); }