Fix authentication required when minimize app

Godwin Asuquo committed Nov 30, 2022 at 22:50 UTC 0c28d83cbcb17a20053e6787732c0c291a292c23
6 files changed +62 -20
android/.project
+11
@@ -14,4 +14,15 @@
14 <natures>
15 <nature>org.eclipse.buildship.core.gradleprojectnature</nature>
16 </natures>
17 + <filteredResources>
18 + <filter>
19 + <id>1668366526072</id>
20 + <name></name>
21 + <type>30</type>
22 + <matcher>
23 + <id>org.eclipse.core.resources.regexFilterMatcher</id>
24 + <arguments>node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
25 + </matcher>
26 + </filter>
27 + </filteredResources>
28 </projectDescription>
android/.settings/org.eclipse.buildship.core.prefs
+12 -1
@@ -1,2 +1,13 @@
1 +arguments=--init-script /var/folders/_g/6xnbffg10l741qh63jr5cds80000gp/T/d146c9752a26f79b52047fb6dc6ed385d064e120494f96f08ca63a317c41f94c.gradle --init-script /var/folders/_g/6xnbffg10l741qh63jr5cds80000gp/T/52cde0cfcf3e28b8b7510e992210d9614505e0911af0c190bd590d7158574963.gradle
2 +auto.sync=false
3 +build.scans.enabled=false
4 +connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER)
5 connection.project.dir=
2 -eclipse.preferences.version=1
\ No newline at end of file
6 +eclipse.preferences.version=1
7 +gradle.user.home=
8 +java.home=/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
9 +jvm.arguments=
10 +offline.mode=false
11 +override.workspace.settings=true
12 +show.console.view=true
13 +show.executions.view=true
cw_monero/android/.project
+11
@@ -20,4 +20,15 @@
20 <nature>org.eclipse.jdt.core.javanature</nature>
21 <nature>org.eclipse.buildship.core.gradleprojectnature</nature>
22 </natures>
23 + <filteredResources>
24 + <filter>
25 + <id>1668366526081</id>
26 + <name></name>
27 + <type>30</type>
28 + <matcher>
29 + <id>org.eclipse.core.resources.regexFilterMatcher</id>
30 + <arguments>node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
31 + </matcher>
32 + </filter>
33 + </filteredResources>
34 </projectDescription>
ios/Podfile
+1 -1
@@ -1,5 +1,5 @@
1 # Uncomment this line to define a global platform for your project
2 -platform :ios, '11.0'
2 +platform :ios, '14.0'
3 source 'https://github.com/CocoaPods/Specs.git'
4
5 # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ios/Podfile.lock
+17 -17
@@ -7,7 +7,7 @@ PODS:
7 - connectivity (0.0.1):
8 - Flutter
9 - Reachability
10 - - CryptoSwift (1.3.2)
10 + - CryptoSwift (1.6.0)
11 - cw_haven (0.0.1):
12 - cw_haven/Boost (= 0.0.1)
13 - cw_haven/Haven (= 0.0.1)
@@ -67,14 +67,14 @@ PODS:
67 - Flutter
68 - devicelocale (0.0.1):
69 - Flutter
70 - - DKImagePickerController/Core (4.3.2):
70 + - DKImagePickerController/Core (4.3.4):
71 - DKImagePickerController/ImageDataManager
72 - DKImagePickerController/Resource
73 - - DKImagePickerController/ImageDataManager (4.3.2)
74 - - DKImagePickerController/PhotoGallery (4.3.2):
73 + - DKImagePickerController/ImageDataManager (4.3.4)
74 + - DKImagePickerController/PhotoGallery (4.3.4):
75 - DKImagePickerController/Core
76 - DKPhotoGallery
77 - - DKImagePickerController/Resource (4.3.2)
77 + - DKImagePickerController/Resource (4.3.4)
78 - DKPhotoGallery (0.0.17):
79 - DKPhotoGallery/Core (= 0.0.17)
80 - DKPhotoGallery/Model (= 0.0.17)
@@ -116,15 +116,15 @@ PODS:
116 - platform_device_id (0.0.1):
117 - Flutter
118 - Reachability (3.2)
119 - - SDWebImage (5.9.1):
120 - - SDWebImage/Core (= 5.9.1)
121 - - SDWebImage/Core (5.9.1)
119 + - SDWebImage (5.13.5):
120 + - SDWebImage/Core (= 5.13.5)
121 + - SDWebImage/Core (5.13.5)
122 - share_plus (0.0.1):
123 - Flutter
124 - shared_preferences_ios (0.0.1):
125 - Flutter
126 - - SwiftProtobuf (1.18.0)
127 - - SwiftyGif (5.3.0)
126 + - SwiftProtobuf (1.20.2)
127 + - SwiftyGif (5.4.3)
128 - uni_links (0.0.1):
129 - Flutter
130 - UnstoppableDomainsResolution (4.0.0):
@@ -221,14 +221,14 @@ SPEC CHECKSUMS:
221 barcode_scan2: 0af2bb63c81b4565aab6cd78278e4c0fa136dbb0
222 BigInt: f668a80089607f521586bbe29513d708491ef2f7
223 connectivity: c4130b2985d4ef6fd26f9702e886bd5260681467
224 - CryptoSwift: 093499be1a94b0cae36e6c26b70870668cb56060
224 + CryptoSwift: 562f8eceb40e80796fffc668b0cad9313284cfa6
225 cw_haven: b3e54e1fbe7b8e6fda57a93206bc38f8e89b898a
226 cw_monero: 4cf3b96f2da8e95e2ef7d6703dd4d2c509127b7d
227 cw_shared_external: 2972d872b8917603478117c9957dfca611845a92
228 device_display_brightness: 1510e72c567a1f6ce6ffe393dcd9afd1426034f7
229 device_info: d7d233b645a32c40dfdc212de5cf646ca482f175
230 devicelocale: b22617f40038496deffba44747101255cee005b0
231 - DKImagePickerController: b5eb7f7a388e4643264105d648d01f727110fc3d
231 + DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac
232 DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179
233 file_picker: 817ab1d8cd2da9d2da412a417162deee3500fc95
234 Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
@@ -240,16 +240,16 @@ SPEC CHECKSUMS:
240 permission_handler_apple: 44366e37eaf29454a1e7b1b7d736c2cceaeb17ce
241 platform_device_id: 81b3e2993881f87d0c82ef151dc274df4869aef5
242 Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96
243 - SDWebImage: a990c053fff71e388a10f3357edb0be17929c9c5
243 + SDWebImage: 23d714cd599354ee7906dbae26dff89b421c4370
244 share_plus: 056a1e8ac890df3e33cb503afffaf1e9b4fbae68
245 shared_preferences_ios: 548a61f8053b9b8a49ac19c1ffbc8b92c50d68ad
246 - SwiftProtobuf: c3c12645230d9b09c72267e0de89468c5543bd86
247 - SwiftyGif: e466e86c660d343357ab944a819a101c4127cb40
246 + SwiftProtobuf: 9f458aaa7844a2fc0b910053e66578bc4e2da9c1
247 + SwiftyGif: 6c3eafd0ce693cad58bb63d2b2fb9bacb8552780
248 uni_links: d97da20c7701486ba192624d99bffaaffcfc298a
249 UnstoppableDomainsResolution: c3c67f4d0a5e2437cb00d4bd50c2e00d6e743841
250 url_launcher_ios: 839c58cdb4279282219f5e248c3321761ff3c4de
251 webview_flutter_wkwebview: b7e70ef1ddded7e69c796c7390ee74180182971f
252
253 -PODFILE CHECKSUM: ae71bdf0eb731a1ffc399c122f6aa4dea0cb5f6f
253 +PODFILE CHECKSUM: f2068ffd90d0bcc7e39f94a818dbbbbdbe8cda3e
254
255 -COCOAPODS: 1.11.3
255 +COCOAPODS: 1.11.2
lib/src/screens/root/root.dart
+10 -1
@@ -1,4 +1,6 @@
1 import 'dart:async';
2 +import 'package:cake_wallet/core/auth_service.dart';
3 +import 'package:cake_wallet/di.dart';
4 import 'package:flutter/material.dart';
5 import 'package:cake_wallet/routes.dart';
6 import 'package:cake_wallet/src/screens/auth/auth_page.dart';
@@ -28,15 +30,18 @@ class RootState extends State<Root> with WidgetsBindingObserver {
30 RootState()
31 : _isInactiveController = StreamController<bool>.broadcast(),
32 _isInactive = false,
33 + _requestAuth = getIt.get<AuthService>().requireAuth(),
34 _postFrameCallback = false;
35
36 Stream<bool> get isInactive => _isInactiveController.stream;
37 StreamController<bool> _isInactiveController;
38 bool _isInactive;
39 bool _postFrameCallback;
40 + bool _requestAuth;
41
42 @override
43 void initState() {
44 +
45 _isInactiveController = StreamController<bool>.broadcast();
46 _isInactive = false;
47 _postFrameCallback = false;
@@ -52,6 +57,10 @@ class RootState extends State<Root> with WidgetsBindingObserver {
57 return;
58 }
59
60 + setState(() {
61 + _requestAuth = getIt.get<AuthService>().requireAuth();
62 + });
63 +
64 if (!_isInactive &&
65 widget.authenticationStore.state == AuthenticationState.allowed) {
66 setState(() => _setInactive(true));
@@ -65,7 +74,7 @@ class RootState extends State<Root> with WidgetsBindingObserver {
74
75 @override
76 Widget build(BuildContext context) {
68 - if (_isInactive && !_postFrameCallback) {
77 + if (_isInactive && !_postFrameCallback && _requestAuth) {
78 _postFrameCallback = true;
79 WidgetsBinding.instance.addPostFrameCallback((_) {
80 widget.navigatorKey.currentState?.pushNamed(Routes.unlock,