diff --git a/android/app/src/main/AndroidManifestBase.xml b/android/app/src/main/AndroidManifestBase.xml index 2dbedcba9..64adea1e7 100644 --- a/android/app/src/main/AndroidManifestBase.xml +++ b/android/app/src/main/AndroidManifestBase.xml @@ -46,8 +46,14 @@ + + + + + + bitcoin + + CFBundleTypeRole + Editor + CFBundleURLName + bitcoin-wallet + CFBundleURLSchemes + + bitcoin-wallet + + + + CFBundleTypeRole + Editor + CFBundleURLName + bitcoin_wallet + CFBundleURLSchemes + + bitcoin_wallet + + CFBundleTypeRole Editor @@ -52,6 +72,26 @@ monero + + CFBundleTypeRole + Editor + CFBundleURLName + monero-wallet + CFBundleURLSchemes + + monero-wallet + + + + CFBundleTypeRole + Editor + CFBundleURLName + monero_wallet + CFBundleURLSchemes + + monero_wallet + + CFBundleTypeRole Editor @@ -62,6 +102,26 @@ litecoin + + CFBundleTypeRole + Viewer + CFBundleURLName + litecoin-wallet + CFBundleURLSchemes + + litecoin-wallet + + + + CFBundleTypeRole + Viewer + CFBundleURLName + litecoin_wallet + CFBundleURLSchemes + + litecoin_wallet + + CFBundleVersion $(CURRENT_PROJECT_VERSION) diff --git a/lib/src/screens/receive/fullscreen_qr_page.dart b/lib/src/screens/receive/fullscreen_qr_page.dart index 4bde38710..2fcc24e2c 100644 --- a/lib/src/screens/receive/fullscreen_qr_page.dart +++ b/lib/src/screens/receive/fullscreen_qr_page.dart @@ -71,7 +71,10 @@ class FullscreenQRPage extends BasePage { padding: EdgeInsets.all(10), decoration: BoxDecoration( border: Border.all(width: 3, color: Theme.of(context).accentTextTheme!.headline2!.backgroundColor!)), - child: QrImage(data: qrViewData.data, version: qrViewData.version), + child: Container( + decoration: BoxDecoration( + border: Border.all(width: 3, color: Colors.white)), + child: QrImage(data: qrViewData.data, version: qrViewData.version)), ), ), ), diff --git a/lib/src/screens/receive/widgets/qr_image.dart b/lib/src/screens/receive/widgets/qr_image.dart index c8cc622c4..c624ad3c0 100644 --- a/lib/src/screens/receive/widgets/qr_image.dart +++ b/lib/src/screens/receive/widgets/qr_image.dart @@ -16,7 +16,7 @@ class QrImage extends StatelessWidget { @override Widget build(BuildContext context) { - return qr.QrImage( + return qr.QrImageView( data: data, errorCorrectionLevel: errorCorrectionLevel, version: version ?? 9, // Previous value: 7 something happened after flutter upgrade monero wallets addresses are longer than ver. 7 ??? diff --git a/lib/src/screens/receive/widgets/qr_widget.dart b/lib/src/screens/receive/widgets/qr_widget.dart index fc58d4cec..33cc3d598 100644 --- a/lib/src/screens/receive/widgets/qr_widget.dart +++ b/lib/src/screens/receive/widgets/qr_widget.dart @@ -86,7 +86,14 @@ class QRWidget extends StatelessWidget { Theme.of(context).accentTextTheme.headline2!.backgroundColor!, ), ), - child: QrImage(data: addressListViewModel.uri.toString()), + child: Container( + decoration: BoxDecoration( + border: Border.all( + width: 3, + color:Colors.white, + ), + ), + child: QrImage(data: addressListViewModel.uri.toString())), ), ), ), diff --git a/lib/src/screens/restore/restore_options_page.dart b/lib/src/screens/restore/restore_options_page.dart index c08d2b7e4..93a44c752 100644 --- a/lib/src/screens/restore/restore_options_page.dart +++ b/lib/src/screens/restore/restore_options_page.dart @@ -25,7 +25,7 @@ class RestoreOptionsPage extends BasePage { final bool isNewInstall; final imageSeedKeys = Image.asset('assets/images/restore_wallet_image.png'); final imageBackup = Image.asset('assets/images/backup.png'); - final qrCode = Image.asset('assets/images/qr_code_icon.png'); + final qrCode = Image.asset('assets/images/restore_qr.png'); @override Widget body(BuildContext context) { diff --git a/lib/src/screens/wallet_keys/wallet_keys_page.dart b/lib/src/screens/wallet_keys/wallet_keys_page.dart index da58c4b31..c1c2e6fb5 100644 --- a/lib/src/screens/wallet_keys/wallet_keys_page.dart +++ b/lib/src/screens/wallet_keys/wallet_keys_page.dart @@ -11,6 +11,7 @@ import 'package:cake_wallet/src/screens/base_page.dart'; import 'package:cake_wallet/src/widgets/list_row.dart'; import 'package:cake_wallet/view_model/wallet_keys_view_model.dart'; import 'package:cake_wallet/routes.dart'; +import 'package:qr_flutter/qr_flutter.dart'; class WalletKeysPage extends BasePage { WalletKeysPage(this.walletKeysViewModel); @@ -32,7 +33,7 @@ class WalletKeysPage extends BasePage { await Navigator.pushNamed( context, Routes.fullscreenQR, - arguments: QrViewData(data: url.toString()), + arguments: QrViewData(data: url.toString(), version: QrVersions.auto), ); // ignore: unawaited_futures DeviceDisplayBrightness.setBrightness(brightness); diff --git a/lib/view_model/restore/wallet_restore_from_qr_code.dart b/lib/view_model/restore/wallet_restore_from_qr_code.dart index 9ebf01429..c4b772f9c 100644 --- a/lib/view_model/restore/wallet_restore_from_qr_code.dart +++ b/lib/view_model/restore/wallet_restore_from_qr_code.dart @@ -51,6 +51,7 @@ class WalletRestoreFromQRCode { static String getFormattedUri(String code) { final index = code.indexOf(':'); + if (index == -1) return throw Exception('Unexpected wallet type: $code, try to scan again'); final scheme = code.substring(0, index).replaceAll('_', '-'); final query = code.substring(index + 1).replaceAll('?', '&'); final formattedUri = '$scheme:?$query'; diff --git a/pubspec_base.yaml b/pubspec_base.yaml index 58de6edab..0d6aa36e8 100644 --- a/pubspec_base.yaml +++ b/pubspec_base.yaml @@ -6,7 +6,11 @@ dependencies: flutter_cupertino_localizations: ^1.0.1 intl: ^0.17.0 url_launcher: ^6.1.4 - qr_flutter: ^4.0.0 + qr_flutter: + git: + url: https://github.com/cake-tech/qr.flutter.git + ref: cake-4.0.2 + version: 4.0.2 uuid: 3.0.6 shared_preferences: ^2.0.15 flutter_secure_storage: