Fix QR scan crash and add exchange data fallback for Create Payment.
This commit is contained in:
parent
bd4dd25460
commit
b6a4d01d42
2 changed files with 13 additions and 4 deletions
|
@ -76,8 +76,16 @@ public class CreatePaymentViewModel extends ViewModel {
|
|||
return Optional.fromNullable(ApplicationDependencies.getPayments()
|
||||
.getCurrencyExchange(true)
|
||||
.getExchangeRate(currency));
|
||||
} catch (IOException e) {
|
||||
return Optional.absent();
|
||||
} catch (IOException e1) {
|
||||
Log.w(TAG, "Unable to get fresh exchange data, falling back to cached", e1);
|
||||
try {
|
||||
return Optional.fromNullable(ApplicationDependencies.getPayments()
|
||||
.getCurrencyExchange(false)
|
||||
.getExchangeRate(currency));
|
||||
} catch (IOException e2) {
|
||||
Log.w(TAG, "Unable to get any exchange data", e2);
|
||||
return Optional.absent();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@ import androidx.appcompat.widget.Toolbar;
|
|||
import androidx.lifecycle.ViewModelProvider;
|
||||
import androidx.navigation.Navigation;
|
||||
|
||||
import org.signal.core.util.ThreadUtil;
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.thoughtcrime.securesms.LoggingFragment;
|
||||
import org.thoughtcrime.securesms.R;
|
||||
|
@ -52,14 +53,14 @@ public final class PaymentsTransferQrScanFragment extends LoggingFragment {
|
|||
public void onResume() {
|
||||
super.onResume();
|
||||
scanningThread = new ScanningThread();
|
||||
scanningThread.setScanListener(data -> {
|
||||
scanningThread.setScanListener(data -> ThreadUtil.runOnMain(() -> {
|
||||
try {
|
||||
viewModel.postQrData(MobileCoinPublicAddress.fromQr(data).getPaymentAddressBase58());
|
||||
Navigation.findNavController(requireView()).navigate(R.id.action_paymentsScanQr_pop);
|
||||
} catch (MobileCoinPublicAddress.AddressException e) {
|
||||
Log.e(TAG, "Not a valid address");
|
||||
}
|
||||
});
|
||||
}));
|
||||
scannerView.onResume();
|
||||
scannerView.setPreviewCallback(scanningThread);
|
||||
scanningThread.start();
|
||||
|
|
Loading…
Add table
Reference in a new issue