Search in sources :

Example 1 with Event

use of de.schildbach.wallet.ui.Event in project bitcoin-wallet by bitcoin-wallet.

the class RestoreWalletDialogFragment method handleRestore.

private void handleRestore(final String password) {
    final Uri backupUri = viewModel.backupUri.getValue();
    if (backupUri != null) {
        try {
            final InputStream is = contentResolver.openInputStream(backupUri);
            final Wallet restoredWallet = restoreWalletFromEncrypted(is, password);
            application.replaceWallet(restoredWallet);
            config.disarmBackupReminder();
            config.updateLastRestoreTime();
            viewModel.showSuccessDialog.setValue(new Event<>(restoredWallet.isEncrypted()));
            log.info("successfully restored encrypted wallet from external source");
        } catch (final IOException x) {
            viewModel.showFailureDialog.setValue(new Event<>(x.getMessage()));
            log.info("problem restoring wallet", x);
        }
    } else {
        final String message = "no backup data provided";
        viewModel.showFailureDialog.setValue(new Event<>(message));
        log.info("problem restoring wallet: {}", message);
    }
}
Also used : ByteArrayInputStream(java.io.ByteArrayInputStream) InputStream(java.io.InputStream) Wallet(org.bitcoinj.wallet.Wallet) Event(de.schildbach.wallet.ui.Event) IOException(java.io.IOException) Uri(android.net.Uri)

Aggregations

Uri (android.net.Uri)1 Event (de.schildbach.wallet.ui.Event)1 ByteArrayInputStream (java.io.ByteArrayInputStream)1 IOException (java.io.IOException)1 InputStream (java.io.InputStream)1 Wallet (org.bitcoinj.wallet.Wallet)1