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: