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,