private void handlePasteClipboard() { final Address address = getAddressFromPrimaryClip(); if (address == null) { final DialogBuilder dialog = new DialogBuilder(activity); dialog.setTitle(R.string.address_book_options_paste_from_clipboard_title); dialog.setMessage(R.string.address_book_options_paste_from_clipboard_invalid); dialog.singleDismissButton(null); dialog.show(); } else if (!wallet.isPubKeyHashMine(address.getHash160())) { EditAddressBookEntryFragment.edit(getFragmentManager(), address); } else { final DialogBuilder dialog = new DialogBuilder(activity); dialog.setTitle(R.string.address_book_options_paste_from_clipboard_title); dialog.setMessage(R.string.address_book_options_paste_from_clipboard_own_address); dialog.singleDismissButton(null); dialog.show(); } }
@Override public boolean onContextItemSelected(final MenuItem item) { try { final AdapterContextMenuInfo menuInfo = (AdapterContextMenuInfo) item.getMenuInfo(); final Map<String, Object> map = (Map<String, Object>) getListView().getAdapter().getItem(menuInfo.position); final String address = (String) map.get("addr"); switch (item.getItemId()) { case R.id.wallet_addresses_context_archive: { MyRemoteWallet remoteWallet = application.getRemoteWallet(); if (remoteWallet == null) return true; remoteWallet.setTag(address, 2); application.saveWallet( new SuccessCallback() { @Override public void onSuccess() { EventListeners.invokeWalletDidChange(); } @Override public void onFail() {} }); return true; } case R.id.wallet_addresses_context_edit: { EditAddressBookEntryFragment.edit(getFragmentManager(), address.toString()); return true; } case R.id.wallet_addresses_context_show_qr: { final String uri = BitcoinURI.convertToBitcoinURI(address, null, null, null); final int size = (int) (256 * getResources().getDisplayMetrics().density); new QrDialog(activity, WalletUtils.getQRCodeBitmap(uri, size)).show(); return true; } case R.id.wallet_addresses_context_copy_to_clipboard: { AbstractWalletActivity.handleCopyToClipboard(activity, address.toString()); return true; } case R.id.wallet_addresses_context_default: { handleDefault(address); return true; } } } catch (Exception e) { e.printStackTrace(); } return false; }