CAKE-31 | applied new design to restore buttons
OleksandrSobol committed
Sep 1, 2020 at 22:04 UTC
9da460da48e0430458a4a6df93cc5be528e20b05
18 files changed
+102
-67
assets/images/2.0x/backup.png
Binary files a/assets/images/2.0x/backup.png and b/assets/images/2.0x/backup.png differ
assets/images/2.0x/restore_keys.png
Binary files a/assets/images/2.0x/restore_keys.png and b/assets/images/2.0x/restore_keys.png differ
assets/images/2.0x/restore_seed.png
Binary files a/assets/images/2.0x/restore_seed.png and b/assets/images/2.0x/restore_seed.png differ
assets/images/2.0x/restore_wallet_image.png
Binary files a/assets/images/2.0x/restore_wallet_image.png and b/assets/images/2.0x/restore_wallet_image.png differ
assets/images/3.0x/backup.png
Binary files a/assets/images/3.0x/backup.png and b/assets/images/3.0x/backup.png differ
assets/images/3.0x/restore_keys.png
Binary files a/assets/images/3.0x/restore_keys.png and b/assets/images/3.0x/restore_keys.png differ
assets/images/3.0x/restore_seed.png
Binary files a/assets/images/3.0x/restore_seed.png and b/assets/images/3.0x/restore_seed.png differ
assets/images/3.0x/restore_wallet_image.png
Binary files a/assets/images/3.0x/restore_wallet_image.png and b/assets/images/3.0x/restore_wallet_image.png differ
assets/images/backup.png
Binary files a/assets/images/backup.png and b/assets/images/backup.png differ
assets/images/restore_keys.png
Binary files a/assets/images/restore_keys.png and b/assets/images/restore_keys.png differ
assets/images/restore_seed.png
Binary files a/assets/images/restore_seed.png and b/assets/images/restore_seed.png differ
assets/images/restore_wallet_image.png
Binary files a/assets/images/restore_wallet_image.png and b/assets/images/restore_wallet_image.png differ
cw_monero/pubspec.lock
+12
-19
@@ -7,42 +7,42 @@ packages:
7
name: archive
8
url: "https://pub.dartlang.org"
9
source: hosted
10
- version: "2.0.11"
10
+ version: "2.0.13"
11
args:
12
dependency: transitive
13
description:
14
name: args
15
url: "https://pub.dartlang.org"
16
source: hosted
17
- version: "1.5.2"
17
+ version: "1.6.0"
18
async:
19
dependency: transitive
20
description:
21
name: async
22
url: "https://pub.dartlang.org"
23
source: hosted
24
- version: "2.4.0"
24
+ version: "2.4.1"
25
boolean_selector:
26
dependency: transitive
27
description:
28
name: boolean_selector
29
url: "https://pub.dartlang.org"
30
source: hosted
31
- version: "1.0.5"
31
+ version: "2.0.0"
32
charcode:
33
dependency: transitive
34
description:
35
name: charcode
36
url: "https://pub.dartlang.org"
37
source: hosted
38
- version: "1.1.2"
38
+ version: "1.1.3"
39
collection:
40
dependency: transitive
41
description:
42
name: collection
43
url: "https://pub.dartlang.org"
44
source: hosted
45
- version: "1.14.11"
45
+ version: "1.14.12"
46
convert:
47
dependency: transitive
48
description:
@@ -56,7 +56,7 @@ packages:
56
name: crypto
57
url: "https://pub.dartlang.org"
58
source: hosted
59
- version: "2.1.3"
59
+ version: "2.1.4"
60
ffi:
61
dependency: "direct main"
62
description:
@@ -80,7 +80,7 @@ packages:
80
name: image
81
url: "https://pub.dartlang.org"
82
source: hosted
83
- version: "2.1.4"
83
+ version: "2.1.12"
84
matcher:
85
dependency: transitive
86
description:
@@ -109,13 +109,6 @@ packages:
109
url: "https://pub.dartlang.org"
110
source: hosted
111
version: "1.4.0"
112
- pedantic:
113
- dependency: transitive
114
- description:
115
- name: pedantic
116
- url: "https://pub.dartlang.org"
117
- source: hosted
118
- version: "1.8.0+1"
112
petitparser:
113
dependency: transitive
114
description:
@@ -136,7 +129,7 @@ packages:
129
name: quiver
130
url: "https://pub.dartlang.org"
131
source: hosted
139
- version: "2.0.5"
132
+ version: "2.1.3"
133
sky_engine:
134
dependency: transitive
135
description: flutter
@@ -148,7 +141,7 @@ packages:
141
name: source_span
142
url: "https://pub.dartlang.org"
143
source: hosted
151
- version: "1.5.5"
144
+ version: "1.7.0"
145
stack_trace:
146
dependency: transitive
147
description:
@@ -183,7 +176,7 @@ packages:
176
name: test_api
177
url: "https://pub.dartlang.org"
178
source: hosted
186
- version: "0.2.11"
179
+ version: "0.2.15"
180
typed_data:
181
dependency: transitive
182
description:
@@ -204,7 +197,7 @@ packages:
197
name: xml
198
url: "https://pub.dartlang.org"
199
source: hosted
207
- version: "3.5.0"
200
+ version: "3.6.1"
201
sdks:
202
dart: ">=2.6.0 <3.0.0"
203
flutter: ">=0.1.4 <2.0.0"
ios/Podfile
+51
-38
@@ -15,59 +15,72 @@ def parse_KV_file(file, separator='=')
15
if !File.exists? file_abs_path
16
return [];
17
end
18
- pods_ary = []
18
+ generated_key_values = {}
19
skip_line_start_symbols = ["#", "/"]
20
- File.foreach(file_abs_path) { |line|
21
- next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ }
22
- plugin = line.split(pattern=separator)
23
- if plugin.length == 2
24
- podname = plugin[0].strip()
25
- path = plugin[1].strip()
26
- podpath = File.expand_path("#{path}", file_abs_path)
27
- pods_ary.push({:name => podname, :path => podpath});
28
- else
29
- puts "Invalid plugin specification: #{line}"
30
- end
31
- }
32
- return pods_ary
20
+ File.foreach(file_abs_path) do |line|
21
+ next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ }
22
+ plugin = line.split(pattern=separator)
23
+ if plugin.length == 2
24
+ podname = plugin[0].strip()
25
+ path = plugin[1].strip()
26
+ podpath = File.expand_path("#{path}", file_abs_path)
27
+ generated_key_values[podname] = podpath
28
+ else
29
+ puts "Invalid plugin specification: #{line}"
30
+ end
31
+ end
32
+ generated_key_values
33
end
34
35
target 'Runner' do
36
- # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock
37
- # referring to absolute paths on developers' machines.
36
use_frameworks!
39
- system('rm -rf .symlinks')
40
- system('mkdir -p .symlinks/plugins')
37
+ use_modular_headers!
38
42
- # Flutter Pods
43
- generated_xcode_build_settings = parse_KV_file('./Flutter/Generated.xcconfig')
44
- if generated_xcode_build_settings.empty?
45
- puts "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter pub get is executed first."
46
- end
47
- generated_xcode_build_settings.map { |p|
48
- if p[:name] == 'FLUTTER_FRAMEWORK_DIR'
49
- symlink = File.join('.symlinks', 'flutter')
50
- File.symlink(File.dirname(p[:path]), symlink)
51
- pod 'Flutter', :path => File.join(symlink, File.basename(p[:path]))
39
+ # Flutter Pod
40
+
41
+ copied_flutter_dir = File.join(__dir__, 'Flutter')
42
+ copied_framework_path = File.join(copied_flutter_dir, 'Flutter.framework')
43
+ copied_podspec_path = File.join(copied_flutter_dir, 'Flutter.podspec')
44
+ unless File.exist?(copied_framework_path) && File.exist?(copied_podspec_path)
45
+ # Copy Flutter.framework and Flutter.podspec to Flutter/ to have something to link against if the xcode backend script has not run yet.
46
+ # That script will copy the correct debug/profile/release version of the framework based on the currently selected Xcode configuration.
47
+ # CocoaPods will not embed the framework on pod install (before any build phases can generate) if the dylib does not exist.
48
+
49
+ generated_xcode_build_settings_path = File.join(copied_flutter_dir, 'Generated.xcconfig')
50
+ unless File.exist?(generated_xcode_build_settings_path)
51
+ raise "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter pub get is executed first"
52
end
53
- }
53
+ generated_xcode_build_settings = parse_KV_file(generated_xcode_build_settings_path)
54
+ cached_framework_dir = generated_xcode_build_settings['FLUTTER_FRAMEWORK_DIR'];
55
+
56
+ unless File.exist?(copied_framework_path)
57
+ FileUtils.cp_r(File.join(cached_framework_dir, 'Flutter.framework'), copied_flutter_dir)
58
+ end
59
+ unless File.exist?(copied_podspec_path)
60
+ FileUtils.cp(File.join(cached_framework_dir, 'Flutter.podspec'), copied_flutter_dir)
61
+ end
62
+ end
63
+
64
+ # Keep pod path relative so it can be checked into Podfile.lock.
65
+ pod 'Flutter', :path => 'Flutter'
66
67
# Plugin Pods
68
+
69
+ # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock
70
+ # referring to absolute paths on developers' machines.
71
+ system('rm -rf .symlinks')
72
+ system('mkdir -p .symlinks/plugins')
73
plugin_pods = parse_KV_file('../.flutter-plugins')
57
- plugin_pods.map { |p|
58
- symlink = File.join('.symlinks', 'plugins', p[:name])
59
- File.symlink(p[:path], symlink)
60
- pod p[:name], :path => File.join(symlink, 'ios')
61
- }
74
+ plugin_pods.each do |name, path|
75
+ symlink = File.join('.symlinks', 'plugins', name)
76
+ File.symlink(path, symlink)
77
+ pod name, :path => File.join(symlink, 'ios')
78
+ end
79
end
80
64
-# Prevent Cocoapods from embedding a second Flutter framework and causing an error with the new Xcode build system.
65
-install! 'cocoapods', :disable_input_output_paths => true
66
-
81
post_install do |installer|
82
installer.pods_project.targets.each do |target|
83
target.build_configurations.each do |config|
70
- config.build_settings['SWIFT_VERSION'] = '4.0' # required by simple_permission
84
config.build_settings['ENABLE_BITCODE'] = 'NO'
85
end
86
end
ios/Podfile.lock
+3
-3
@@ -61,7 +61,7 @@ DEPENDENCIES:
61
- cw_monero (from `.symlinks/plugins/cw_monero/ios`)
62
- devicelocale (from `.symlinks/plugins/devicelocale/ios`)
63
- esys_flutter_share (from `.symlinks/plugins/esys_flutter_share/ios`)
64
- - Flutter (from `.symlinks/flutter/ios`)
64
+ - Flutter (from `Flutter`)
65
- flutter_plugin_android_lifecycle (from `.symlinks/plugins/flutter_plugin_android_lifecycle/ios`)
66
- flutter_secure_storage (from `.symlinks/plugins/flutter_secure_storage/ios`)
67
- local_auth (from `.symlinks/plugins/local_auth/ios`)
@@ -92,7 +92,7 @@ EXTERNAL SOURCES:
92
esys_flutter_share:
93
:path: ".symlinks/plugins/esys_flutter_share/ios"
94
Flutter:
95
- :path: ".symlinks/flutter/ios"
95
+ :path: Flutter
96
flutter_plugin_android_lifecycle:
97
:path: ".symlinks/plugins/flutter_plugin_android_lifecycle/ios"
98
flutter_secure_storage:
@@ -145,6 +145,6 @@ SPEC CHECKSUMS:
145
url_launcher_macos: fd7894421cd39320dce5f292fc99ea9270b2a313
146
url_launcher_web: e5527357f037c87560776e36436bf2b0288b965c
147
148
-PODFILE CHECKSUM: f1916a43bb28badbd408be80e8e4b8652a74e93e
148
+PODFILE CHECKSUM: c34e2287a9ccaa606aeceab922830efb9a6ff69a
149
150
COCOAPODS: 1.9.3
ios/Runner.xcodeproj/project.pbxproj
+31
@@ -272,9 +272,40 @@
272
files = (
273
);
274
inputPaths = (
275
+ "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
276
+ "${PODS_ROOT}/../Flutter/Flutter.framework",
277
+ "${BUILT_PRODUCTS_DIR}/MTBBarcodeScanner/MTBBarcodeScanner.framework",
278
+ "${BUILT_PRODUCTS_DIR}/SwiftProtobuf/SwiftProtobuf.framework",
279
+ "${BUILT_PRODUCTS_DIR}/barcode_scan/barcode_scan.framework",
280
+ "${BUILT_PRODUCTS_DIR}/cw_monero/cw_monero.framework",
281
+ "${BUILT_PRODUCTS_DIR}/devicelocale/devicelocale.framework",
282
+ "${BUILT_PRODUCTS_DIR}/esys_flutter_share/esys_flutter_share.framework",
283
+ "${BUILT_PRODUCTS_DIR}/flutter_plugin_android_lifecycle/flutter_plugin_android_lifecycle.framework",
284
+ "${BUILT_PRODUCTS_DIR}/flutter_secure_storage/flutter_secure_storage.framework",
285
+ "${BUILT_PRODUCTS_DIR}/local_auth/local_auth.framework",
286
+ "${BUILT_PRODUCTS_DIR}/package_info/package_info.framework",
287
+ "${BUILT_PRODUCTS_DIR}/path_provider/path_provider.framework",
288
+ "${BUILT_PRODUCTS_DIR}/share/share.framework",
289
+ "${BUILT_PRODUCTS_DIR}/shared_preferences/shared_preferences.framework",
290
+ "${BUILT_PRODUCTS_DIR}/url_launcher/url_launcher.framework",
291
);
292
name = "[CP] Embed Pods Frameworks";
293
outputPaths = (
294
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Flutter.framework",
295
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MTBBarcodeScanner.framework",
296
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftProtobuf.framework",
297
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/barcode_scan.framework",
298
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/cw_monero.framework",
299
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/devicelocale.framework",
300
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/esys_flutter_share.framework",
301
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_plugin_android_lifecycle.framework",
302
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_secure_storage.framework",
303
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/local_auth.framework",
304
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/package_info.framework",
305
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider.framework",
306
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/share.framework",
307
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared_preferences.framework",
308
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/url_launcher.framework",
309
);
310
runOnlyForDeploymentPostprocessing = 0;
311
shellPath = /bin/sh;
lib/di.dart
-3
@@ -290,9 +290,6 @@ Future setup(
290
getIt.registerFactory(() => ContactListViewModel(
291
getIt.get<AppStore>().contactListStore, getIt.get<ContactService>()));
292
293
- /*getIt.registerFactory(
294
- () => ContactListPage(getIt.get<ContactListViewModel>()));*/
295
-
293
getIt.registerFactoryParam<ContactListPage, bool, void>((bool isEditable, _) =>
294
ContactListPage(getIt.get<ContactListViewModel>(), isEditable: isEditable));
295
lib/src/screens/restore/widgets/restore_button.dart
+5
-4
@@ -19,12 +19,12 @@ class RestoreButton extends StatelessWidget {
19
onTap: onPressed,
20
child: Container(
21
width: double.infinity,
22
- height: 150,
22
+ height: 160,
23
padding: EdgeInsets.all(24),
24
alignment: Alignment.topLeft,
25
decoration: BoxDecoration(
26
borderRadius: BorderRadius.all(Radius.circular(12)),
27
- color: Theme.of(context).accentTextTheme.title.backgroundColor,
27
+ color: Theme.of(context).accentTextTheme.caption.color,
28
),
29
child: Row(
30
mainAxisSize: MainAxisSize.max,
@@ -44,7 +44,7 @@ class RestoreButton extends StatelessWidget {
44
title,
45
style: TextStyle(
46
fontSize: 16,
47
- fontWeight: FontWeight.w600,
47
+ fontWeight: FontWeight.w500,
48
color: Theme.of(context).primaryTextTheme.title.color
49
),
50
),
@@ -54,7 +54,8 @@ class RestoreButton extends StatelessWidget {
54
description,
55
style: TextStyle(
56
fontSize: 14,
57
- color: Theme.of(context).primaryTextTheme.caption.color
57
+ fontWeight: FontWeight.normal,
58
+ color: Theme.of(context).primaryTextTheme.overline.color
59
),
60
),
61
)