6177214e-ce7c-49e3-99de-ff9721b26f63 — Commit 52229a0e

AuthorNKL<nikolaj.king@gmail.com>
Date2024-11-06 15:24:32 +0100
added safearea, launcher icon and splash screen for ios

Changed files

.../android/app/src/main/AndroidManifest.xml       |   2 +-
 .../app/src/main/res/drawable-v21/background.png   | Bin 69 -> 436006 bytes
 .../app/src/main/res/drawable/background.png       | Bin 69 -> 436006 bytes
 .../main/res/mipmap-anydpi-v26/launcher_icon.xml   |   3 +
 .../app/src/main/res/mipmap-hdpi/launcher_icon.png | Bin 0 -> 3778 bytes
 .../app/src/main/res/mipmap-mdpi/launcher_icon.png | Bin 0 -> 2545 bytes
 .../src/main/res/mipmap-xhdpi/launcher_icon.png    | Bin 0 -> 5034 bytes
 .../src/main/res/mipmap-xxhdpi/launcher_icon.png   | Bin 0 -> 7477 bytes
 .../src/main/res/mipmap-xxxhdpi/launcher_icon.png  | Bin 0 -> 9954 bytes
 comwell_key_app/assets/icons/app_icon.png          | Bin 0 -> 17574 bytes
 comwell_key_app/flutter_launcher_icons.yaml        |  32 +++
 comwell_key_app/flutter_native_splash.yaml         |   4 +-
 .../ios/Pods/Pods.xcodeproj/project.pbxproj        |  12 +-
 .../ios/Runner.xcodeproj/project.pbxproj           |   1 +
 .../xcshareddata/xcschemes/debugtest.xcscheme      |   2 +-
 .../xcshareddata/xcschemes/develop.xcscheme        |  21 +-
 .../AppIcon.appiconset/Contents.json               | 123 +--------
 .../AppIcon.appiconset/Icon-App-1024x1024@1x.png   | Bin 10932 -> 68510 bytes
 .../AppIcon.appiconset/Icon-App-20x20@1x.png       | Bin 295 -> 947 bytes
 .../AppIcon.appiconset/Icon-App-20x20@2x.png       | Bin 406 -> 2098 bytes
 .../AppIcon.appiconset/Icon-App-20x20@3x.png       | Bin 450 -> 3177 bytes
 .../AppIcon.appiconset/Icon-App-29x29@1x.png       | Bin 282 -> 1449 bytes
 .../AppIcon.appiconset/Icon-App-29x29@2x.png       | Bin 462 -> 3043 bytes
 .../AppIcon.appiconset/Icon-App-29x29@3x.png       | Bin 704 -> 4546 bytes
 .../AppIcon.appiconset/Icon-App-40x40@1x.png       | Bin 406 -> 2098 bytes
 .../AppIcon.appiconset/Icon-App-40x40@2x.png       | Bin 586 -> 4195 bytes
 .../AppIcon.appiconset/Icon-App-40x40@3x.png       | Bin 862 -> 6246 bytes
 .../AppIcon.appiconset/Icon-App-50x50@1x.png       | Bin 0 -> 2607 bytes
 .../AppIcon.appiconset/Icon-App-50x50@2x.png       | Bin 0 -> 5139 bytes
 .../AppIcon.appiconset/Icon-App-57x57@1x.png       | Bin 0 -> 2974 bytes
 .../AppIcon.appiconset/Icon-App-57x57@2x.png       | Bin 0 -> 5936 bytes
 .../AppIcon.appiconset/Icon-App-60x60@2x.png       | Bin 862 -> 6246 bytes
 .../AppIcon.appiconset/Icon-App-60x60@3x.png       | Bin 1674 -> 9247 bytes
 .../AppIcon.appiconset/Icon-App-72x72@1x.png       | Bin 0 -> 3778 bytes
 .../AppIcon.appiconset/Icon-App-72x72@2x.png       | Bin 0 -> 7477 bytes
 .../AppIcon.appiconset/Icon-App-76x76@1x.png       | Bin 762 -> 3937 bytes
 .../AppIcon.appiconset/Icon-App-76x76@2x.png       | Bin 1226 -> 7833 bytes
 .../AppIcon.appiconset/Icon-App-83.5x83.5@2x.png   | Bin 1418 -> 8545 bytes
 .../LaunchBackground.imageset/background.png       | Bin 69 -> 436006 bytes
 comwell_key_app/ios/Runner/Info.plist              | 164 +++++------
 comwell_key_app/lib/home/bloc/home_bloc.dart       |  14 +-
 comwell_key_app/lib/home/bloc/home_event.dart      |  10 +
 comwell_key_app/lib/home/bloc/home_state.dart      |   4 +-
 comwell_key_app/lib/home/home_page.dart            |  87 +++---
 comwell_key_app/lib/home/home_repository.dart      |  13 +-
 comwell_key_app/lib/login/login_page.dart          |   4 +-
 comwell_key_app/lib/overview/overview_page.dart    | 134 ++++-----
 comwell_key_app/lib/profile/profile_page.dart      | 299 +++++++++++----------
 comwell_key_app/pubspec.yaml                       |   1 +
 comwell_key_app/web/index.html                     |   9 +-
 .../web/splash/img/light-background.png            | Bin 0 -> 436006 bytes
 51 files changed, 456 insertions(+), 483 deletions(-)

Diff

diff --git a/comwell_key_app/android/app/src/main/AndroidManifest.xml b/comwell_key_app/android/app/src/main/AndroidManifest.xml
index bdb8c40d..b9b9dca5 100644
--- a/comwell_key_app/android/app/src/main/AndroidManifest.xml
+++ b/comwell_key_app/android/app/src/main/AndroidManifest.xml
@@ -7,7 +7,7 @@
<application
android:label="@string/app_name"
android:name="${applicationName}"
- android:icon="@mipmap/ic_launcher">
+ android:icon="@mipmap/launcher_icon">
<activity
android:name=".MainActivity"
android:exported="true"
diff --git a/comwell_key_app/android/app/src/main/res/drawable-v21/background.png b/comwell_key_app/android/app/src/main/res/drawable-v21/background.png
index dfd90b7f..d81f99df 100644
Binary files a/comwell_key_app/android/app/src/main/res/drawable-v21/background.png and b/comwell_key_app/android/app/src/main/res/drawable-v21/background.png differ
diff --git a/comwell_key_app/android/app/src/main/res/drawable/background.png b/comwell_key_app/android/app/src/main/res/drawable/background.png
index dfd90b7f..d81f99df 100644
Binary files a/comwell_key_app/android/app/src/main/res/drawable/background.png and b/comwell_key_app/android/app/src/main/res/drawable/background.png differ
diff --git a/comwell_key_app/android/app/src/main/res/mipmap-anydpi-v26/launcher_icon.xml b/comwell_key_app/android/app/src/main/res/mipmap-anydpi-v26/launcher_icon.xml
new file mode 100644
index 00000000..55aebf98
--- /dev/null
+++ b/comwell_key_app/android/app/src/main/res/mipmap-anydpi-v26/launcher_icon.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
+</adaptive-icon>
diff --git a/comwell_key_app/android/app/src/main/res/mipmap-hdpi/launcher_icon.png b/comwell_key_app/android/app/src/main/res/mipmap-hdpi/launcher_icon.png
new file mode 100644
index 00000000..61c80fbf
Binary files /dev/null and b/comwell_key_app/android/app/src/main/res/mipmap-hdpi/launcher_icon.png differ
diff --git a/comwell_key_app/android/app/src/main/res/mipmap-mdpi/launcher_icon.png b/comwell_key_app/android/app/src/main/res/mipmap-mdpi/launcher_icon.png
new file mode 100644
index 00000000..5d41f03a
Binary files /dev/null and b/comwell_key_app/android/app/src/main/res/mipmap-mdpi/launcher_icon.png differ
diff --git a/comwell_key_app/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png b/comwell_key_app/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png
new file mode 100644
index 00000000..26cffea3
Binary files /dev/null and b/comwell_key_app/android/app/src/main/res/mipmap-xhdpi/launcher_icon.png differ
diff --git a/comwell_key_app/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png b/comwell_key_app/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png
new file mode 100644
index 00000000..c4ecbc5a
Binary files /dev/null and b/comwell_key_app/android/app/src/main/res/mipmap-xxhdpi/launcher_icon.png differ
diff --git a/comwell_key_app/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png b/comwell_key_app/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png
new file mode 100644
index 00000000..275c10d1
Binary files /dev/null and b/comwell_key_app/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png differ
diff --git a/comwell_key_app/assets/icons/app_icon.png b/comwell_key_app/assets/icons/app_icon.png
new file mode 100644
index 00000000..a57c1632
Binary files /dev/null and b/comwell_key_app/assets/icons/app_icon.png differ
diff --git a/comwell_key_app/flutter_launcher_icons.yaml b/comwell_key_app/flutter_launcher_icons.yaml
new file mode 100644
index 00000000..a4186425
--- /dev/null
+++ b/comwell_key_app/flutter_launcher_icons.yaml
@@ -0,0 +1,32 @@
+# flutter pub run flutter_launcher_icons
+flutter_launcher_icons:
+ image_path: "assets/icon/icon.png"
+
+ android: "launcher_icon"
+ image_path_android: "assets/icons/app_icon.png"
+ min_sdk_android: 21 # android min sdk min:16, default 21
+ # adaptive_icon_background: "assets/icon/background.png"
+ # adaptive_icon_foreground: "assets/icon/foreground.png"
+ # adaptive_icon_monochrome: "assets/icon/monochrome.png"
+
+ ios: true
+ image_path_ios: "assets/icons/app_icon.png"
+ remove_alpha_channel_ios: true
+ # image_path_ios_dark_transparent: "assets/icon/icon_dark.png"
+ # image_path_ios_tinted_grayscale: "assets/icon/icon_tinted.png"
+ # desaturate_tinted_to_grayscale_ios: true
+
+ # web:
+ # generate: true
+ # image_path: "path/to/image.png"
+ # background_color: "#hexcode"
+ # theme_color: "#hexcode"
+
+ # windows:
+ # generate: true
+ # image_path: "path/to/image.png"
+ # icon_size: 48 # min:48, max:256, default: 48
+
+ # macos:
+ # generate: true
+ # image_path: "path/to/image.png"
diff --git a/comwell_key_app/flutter_native_splash.yaml b/comwell_key_app/flutter_native_splash.yaml
index efd0918e..6d5e63d1 100644
--- a/comwell_key_app/flutter_native_splash.yaml
+++ b/comwell_key_app/flutter_native_splash.yaml
@@ -14,8 +14,8 @@ flutter_native_splash:
# of your splash screen to a solid color. Use background_image to set the background of your
# splash screen to a png image. This is useful for gradients. The image will be stretch to the
# size of the app. Only one parameter can be used, color and background_image cannot both be set.
- color: "#42a5f5"
- #background_image: "assets/background.png"
+ #color: "#42a5f5"
+ background_image: "assets/images/login_screen_background.png"
# Optional parameters are listed below. To enable a parameter, uncomment the line by removing
# the leading # character.
diff --git a/comwell_key_app/ios/Pods/Pods.xcodeproj/project.pbxproj b/comwell_key_app/ios/Pods/Pods.xcodeproj/project.pbxproj
index 603b44ea..33ec8b32 100644
--- a/comwell_key_app/ios/Pods/Pods.xcodeproj/project.pbxproj
+++ b/comwell_key_app/ios/Pods/Pods.xcodeproj/project.pbxproj
@@ -96,8 +96,8 @@
5F04F5637A8624CD5B00080DCA5BB416 /* path_provider_foundation-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 373CD0310A4EA24F5D64AFAF36631220 /* path_provider_foundation-dummy.m */; };
5F5A2FC226273299987042A6E5EDE906 /* DDFileLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AA8DDD3068346B61AA50EF87582074A /* DDFileLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };
5F7428C718CB1956EC6F27E8D514A742 /* messages.g.swift in Sources */ = {isa = PBXBuildFile; fileRef = F60A1461399F3618FB49FA75B292465E /* messages.g.swift */; };
- 607FF2112CDB6DD500F6FD1C /* SeosMobileKeysSDK.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 607FF2102CDB6DD500F6FD1C /* SeosMobileKeysSDK.xcframework */; };
- 607FF2142CDB6DDD00F6FD1C /* SeosMobileKeysSDK.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 607FF2102CDB6DD500F6FD1C /* SeosMobileKeysSDK.xcframework */; };
+ 60FDF8012CDB90BE00635A52 /* SeosMobileKeysSDK.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 60FDF8002CDB90BE00635A52 /* SeosMobileKeysSDK.xcframework */; };
+ 60FDF8042CDB90C600635A52 /* SeosMobileKeysSDK.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 60FDF8002CDB90BE00635A52 /* SeosMobileKeysSDK.xcframework */; };
636C023F38B67A7BD547AF1593CC40AD /* JSONModelError.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C270AC53CF3B301FAC72EFDCC164C40 /* JSONModelError.m */; };
642F76E8AEF2094E8B48CD89516886BE /* FWFObjectHostApi.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FE6C3E96240B034BFF0FDDCB821B05A /* FWFObjectHostApi.m */; };
64B4D11469EE08608C25EB35ABD7A510 /* JSONHTTPClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E90EBCA7E43DCF9725F47115A6D71D2 /* JSONHTTPClient.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -591,7 +591,7 @@
5F1EFB9DFA8F89566D44F73029E1D975 /* permission_handler_apple.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = permission_handler_apple.modulemap; sourceTree = "<group>"; };
5F488A52759A8556B9FFC2F6DA0433C6 /* FWFWebViewFlutterWKWebViewExternalAPI.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FWFWebViewFlutterWKWebViewExternalAPI.m; path = "../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.15.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/FWFWebViewFlutterWKWebViewExternalAPI.m"; sourceTree = "<group>"; };
602626E61B7B343019AC106B688796A5 /* flutter_native_splash.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; name = flutter_native_splash.podspec; path = "../../../../../../../../../.pub-cache/hosted/pub.dev/flutter_native_splash-2.4.1/ios/flutter_native_splash.podspec"; sourceTree = "<group>"; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
- 607FF2102CDB6DD500F6FD1C /* SeosMobileKeysSDK.xcframework */ = {isa = PBXFileReference; expectedSignature = "AppleDeveloperProgram:333BNLD22V:ASSAABLOY AB"; lastKnownFileType = wrapper.xcframework; name = SeosMobileKeysSDK.xcframework; path = "/Users/nkl/Documents/GitHub/comwell-app/comwell_key_app/ios/../../mobilekeys_sdk_plugin/XCFrameworks/SeosMobileKeysSDK.xcframework"; sourceTree = "<absolute>"; };
+ 60FDF8002CDB90BE00635A52 /* SeosMobileKeysSDK.xcframework */ = {isa = PBXFileReference; expectedSignature = "AppleDeveloperProgram:333BNLD22V:ASSAABLOY AB"; lastKnownFileType = wrapper.xcframework; name = SeosMobileKeysSDK.xcframework; path = "/Users/nkl/Documents/GitHub/comwell-app/comwell_key_app/ios/../../mobilekeys_sdk_plugin/XCFrameworks/SeosMobileKeysSDK.xcframework"; sourceTree = "<absolute>"; };
62913BA9BBD7FF7F3463C26CB8EFEB48 /* ResourceBundle-CocoaLumberjackPrivacy-CocoaLumberjack-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-CocoaLumberjackPrivacy-CocoaLumberjack-Info.plist"; sourceTree = "<group>"; };
62CF8A0B7C1E729DD611D379E708ACF9 /* JSONValueTransformer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JSONValueTransformer.h; path = JSONModel/JSONModelTransformations/JSONValueTransformer.h; sourceTree = "<group>"; };
62EFB692269B92D23CF3E0ED91CC0C12 /* DDASLLogCapture.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDASLLogCapture.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDASLLogCapture.h; sourceTree = "<group>"; };
@@ -878,7 +878,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 607FF2112CDB6DD500F6FD1C /* SeosMobileKeysSDK.xcframework in Frameworks */,
+ 60FDF8042CDB90C600635A52 /* SeosMobileKeysSDK.xcframework in Frameworks */,
1BA7E7CDE434910A21FD7A43B83763AD /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -931,7 +931,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 607FF2142CDB6DDD00F6FD1C /* SeosMobileKeysSDK.xcframework in Frameworks */,
+ 60FDF8012CDB90BE00635A52 /* SeosMobileKeysSDK.xcframework in Frameworks */,
75F106FC7CEA72B6F85B8C38761D21A3 /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -2743,7 +2743,7 @@
D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */ = {
isa = PBXGroup;
children = (
- 607FF2102CDB6DD500F6FD1C /* SeosMobileKeysSDK.xcframework */,
+ 60FDF8002CDB90BE00635A52 /* SeosMobileKeysSDK.xcframework */,
578452D2E740E91742655AC8F1636D1F /* iOS */,
);
name = Frameworks;
diff --git a/comwell_key_app/ios/Runner.xcodeproj/project.pbxproj b/comwell_key_app/ios/Runner.xcodeproj/project.pbxproj
index 49467051..0458282e 100644
--- a/comwell_key_app/ios/Runner.xcodeproj/project.pbxproj
+++ b/comwell_key_app/ios/Runner.xcodeproj/project.pbxproj
@@ -785,6 +785,7 @@
};
6073D2BD2C59042900183654 /* Debug-debugtest */ = {
isa = XCBuildConfiguration;
+ baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
diff --git a/comwell_key_app/ios/Runner.xcodeproj/xcshareddata/xcschemes/debugtest.xcscheme b/comwell_key_app/ios/Runner.xcodeproj/xcshareddata/xcschemes/debugtest.xcscheme
index c88bec39..db3ca262 100644
--- a/comwell_key_app/ios/Runner.xcodeproj/xcshareddata/xcschemes/debugtest.xcscheme
+++ b/comwell_key_app/ios/Runner.xcodeproj/xcshareddata/xcschemes/debugtest.xcscheme
@@ -31,7 +31,7 @@
shouldAutocreateTestPlan = "YES">
</TestAction>
<LaunchAction
- buildConfiguration = "Debug"
+ buildConfiguration = "Debug-debugtest"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
diff --git a/comwell_key_app/ios/Runner.xcodeproj/xcshareddata/xcschemes/develop.xcscheme b/comwell_key_app/ios/Runner.xcodeproj/xcshareddata/xcschemes/develop.xcscheme
index 1ee3315f..510d5e7c 100644
--- a/comwell_key_app/ios/Runner.xcodeproj/xcshareddata/xcschemes/develop.xcscheme
+++ b/comwell_key_app/ios/Runner.xcodeproj/xcshareddata/xcschemes/develop.xcscheme
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1540"
- version = "1.7">
+ version = "2.2">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES"
@@ -21,17 +21,26 @@
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildActionEntry>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <AutocreatedTestPlanReference>
+ </AutocreatedTestPlanReference>
+ </BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
- buildConfiguration = "Debug"
+ buildConfiguration = "Debug-develop"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
shouldAutocreateTestPlan = "YES">
</TestAction>
<LaunchAction
- buildConfiguration = "Debug-Develop"
+ buildConfiguration = "Debug-develop"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
@@ -52,7 +61,7 @@
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
- buildConfiguration = "Debug"
+ buildConfiguration = "Debug-develop"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
@@ -69,10 +78,10 @@
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
- buildConfiguration = "Debug">
+ buildConfiguration = "Debug-develop">
</AnalyzeAction>
<ArchiveAction
- buildConfiguration = "Debug"
+ buildConfiguration = "Debug-develop"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
diff --git a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
index d36b1fab..d0d98aa1 100644
--- a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -1,122 +1 @@
-{
- "images" : [
- {
- "size" : "20x20",
- "idiom" : "iphone",
- "filename" : "Icon-App-20x20@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "20x20",
- "idiom" : "iphone",
- "filename" : "Icon-App-20x20@3x.png",
- "scale" : "3x"
- },
- {
- "size" : "29x29",
- "idiom" : "iphone",
- "filename" : "Icon-App-29x29@1x.png",
- "scale" : "1x"
- },
- {
- "size" : "29x29",
- "idiom" : "iphone",
- "filename" : "Icon-App-29x29@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "29x29",
- "idiom" : "iphone",
- "filename" : "Icon-App-29x29@3x.png",
- "scale" : "3x"
- },
- {
- "size" : "40x40",
- "idiom" : "iphone",
- "filename" : "Icon-App-40x40@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "40x40",
- "idiom" : "iphone",
- "filename" : "Icon-App-40x40@3x.png",
- "scale" : "3x"
- },
- {
- "size" : "60x60",
- "idiom" : "iphone",
- "filename" : "Icon-App-60x60@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "60x60",
- "idiom" : "iphone",
- "filename" : "Icon-App-60x60@3x.png",
- "scale" : "3x"
- },
- {
- "size" : "20x20",
- "idiom" : "ipad",
- "filename" : "Icon-App-20x20@1x.png",
- "scale" : "1x"
- },
- {
- "size" : "20x20",
- "idiom" : "ipad",
- "filename" : "Icon-App-20x20@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "29x29",
- "idiom" : "ipad",
- "filename" : "Icon-App-29x29@1x.png",
- "scale" : "1x"
- },
- {
- "size" : "29x29",
- "idiom" : "ipad",
- "filename" : "Icon-App-29x29@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "40x40",
- "idiom" : "ipad",
- "filename" : "Icon-App-40x40@1x.png",
- "scale" : "1x"
- },
- {
- "size" : "40x40",
- "idiom" : "ipad",
- "filename" : "Icon-App-40x40@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "76x76",
- "idiom" : "ipad",
- "filename" : "Icon-App-76x76@1x.png",
- "scale" : "1x"
- },
- {
- "size" : "76x76",
- "idiom" : "ipad",
- "filename" : "Icon-App-76x76@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "83.5x83.5",
- "idiom" : "ipad",
- "filename" : "Icon-App-83.5x83.5@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "1024x1024",
- "idiom" : "ios-marketing",
- "filename" : "Icon-App-1024x1024@1x.png",
- "scale" : "1x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
+{"images":[{"size":"20x20","idiom":"iphone","filename":"Icon-App-20x20@2x.png","scale":"2x"},{"size":"20x20","idiom":"iphone","filename":"Icon-App-20x20@3x.png","scale":"3x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@1x.png","scale":"1x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@2x.png","scale":"2x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@3x.png","scale":"3x"},{"size":"40x40","idiom":"iphone","filename":"Icon-App-40x40@2x.png","scale":"2x"},{"size":"40x40","idiom":"iphone","filename":"Icon-App-40x40@3x.png","scale":"3x"},{"size":"57x57","idiom":"iphone","filename":"Icon-App-57x57@1x.png","scale":"1x"},{"size":"57x57","idiom":"iphone","filename":"Icon-App-57x57@2x.png","scale":"2x"},{"size":"60x60","idiom":"iphone","filename":"Icon-App-60x60@2x.png","scale":"2x"},{"size":"60x60","idiom":"iphone","filename":"Icon-App-60x60@3x.png","scale":"3x"},{"size":"20x20","idiom":"ipad","filename":"Icon-App-20x20@1x.png","scale":"1x"},{"size":"20x20","idiom":"ipad","filename":"Icon-App-20x20@2x.png","scale":"2x"},{"size":"29x29","idiom":"ipad","filename":"Icon-App-29x29@1x.png","scale":"1x"},{"size":"29x29","idiom":"ipad","filename":"Icon-App-29x29@2x.png","scale":"2x"},{"size":"40x40","idiom":"ipad","filename":"Icon-App-40x40@1x.png","scale":"1x"},{"size":"40x40","idiom":"ipad","filename":"Icon-App-40x40@2x.png","scale":"2x"},{"size":"50x50","idiom":"ipad","filename":"Icon-App-50x50@1x.png","scale":"1x"},{"size":"50x50","idiom":"ipad","filename":"Icon-App-50x50@2x.png","scale":"2x"},{"size":"72x72","idiom":"ipad","filename":"Icon-App-72x72@1x.png","scale":"1x"},{"size":"72x72","idiom":"ipad","filename":"Icon-App-72x72@2x.png","scale":"2x"},{"size":"76x76","idiom":"ipad","filename":"Icon-App-76x76@1x.png","scale":"1x"},{"size":"76x76","idiom":"ipad","filename":"Icon-App-76x76@2x.png","scale":"2x"},{"size":"83.5x83.5","idiom":"ipad","filename":"Icon-App-83.5x83.5@2x.png","scale":"2x"},{"size":"1024x1024","idiom":"ios-marketing","filename":"Icon-App-1024x1024@1x.png","scale":"1x"}],"info":{"version":1,"author":"xcode"}}
\ No newline at end of file
diff --git a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
index dc9ada47..e93b451d 100644
Binary files a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png and b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png differ
diff --git a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
index 7353c41e..77d00cda 100644
Binary files a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png differ
diff --git a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
index 797d452e..0c919342 100644
Binary files a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png differ
diff --git a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
index 6ed2d933..538b5f24 100644
Binary files a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png differ
diff --git a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
index 4cd7b009..2cdf6b4f 100644
Binary files a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png differ
diff --git a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
index fe730945..267eaa36 100644
Binary files a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png differ
diff --git a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
index 321773cd..0a43cbb1 100644
Binary files a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png differ
diff --git a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
index 797d452e..0c919342 100644
Binary files a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png differ
diff --git a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
index 502f463a..aa124eb9 100644
Binary files a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png differ
diff --git a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
index 0ec30343..78ddd354 100644
Binary files a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png differ
diff --git a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png
new file mode 100644
index 00000000..850a64be
Binary files /dev/null and b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png differ
diff --git a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png
new file mode 100644
index 00000000..1bebdfb6
Binary files /dev/null and b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png differ
diff --git a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png
new file mode 100644
index 00000000..e76851dd
Binary files /dev/null and b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png differ
diff --git a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png
new file mode 100644
index 00000000..9db64f5e
Binary files /dev/null and b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png differ
diff --git a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
index 0ec30343..78ddd354 100644
Binary files a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png differ
diff --git a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
index e9f5fea2..f7b206fd 100644
Binary files a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png differ
diff --git a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png
new file mode 100644
index 00000000..61c80fbf
Binary files /dev/null and b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png differ
diff --git a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png
new file mode 100644
index 00000000..c4ecbc5a
Binary files /dev/null and b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png differ
diff --git a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
index 84ac32ae..73dbe2cd 100644
Binary files a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png differ
diff --git a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
index 8953cba0..edb79a80 100644
Binary files a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png differ
diff --git a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
index 0467bf12..c50b5c74 100644
Binary files a/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and b/comwell_key_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png differ
diff --git a/comwell_key_app/ios/Runner/Assets.xcassets/LaunchBackground.imageset/background.png b/comwell_key_app/ios/Runner/Assets.xcassets/LaunchBackground.imageset/background.png
index dfd90b7f..d81f99df 100644
Binary files a/comwell_key_app/ios/Runner/Assets.xcassets/LaunchBackground.imageset/background.png and b/comwell_key_app/ios/Runner/Assets.xcassets/LaunchBackground.imageset/background.png differ
diff --git a/comwell_key_app/ios/Runner/Info.plist b/comwell_key_app/ios/Runner/Info.plist
index aaf282ae..19d8b936 100644
--- a/comwell_key_app/ios/Runner/Info.plist
+++ b/comwell_key_app/ios/Runner/Info.plist
@@ -1,86 +1,86 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
-<dict>
- <key>CADisableMinimumFrameDurationOnPhone</key>
- <true/>
- <key>CFBundleDevelopmentRegion</key>
- <string>$(DEVELOPMENT_LANGUAGE)</string>
- <key>CFBundleDisplayName</key>
- <string>$(PRODUCT_NAME)</string>
- <key>CFBundleExecutable</key>
- <string>$(EXECUTABLE_NAME)</string>
- <key>CFBundleIdentifier</key>
- <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleLocalizations</key>
- <array>
- <string>en</string>
- <string>da</string>
- </array>
- <key>CFBundleName</key>
- <string>Comwell Phoenix</string>
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleShortVersionString</key>
- <string>$(FLUTTER_BUILD_NAME)</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleURLTypes</key>
- <array>
- <dict>
- <key>CFBundleTypeRole</key>
- <string>Editor</string>
- <key>CFBundleURLName</key>
- <string>com.assaabloy.seosmobileaccess</string>
- <key>CFBundleURLSchemes</key>
- <array>
- <string>seosmobileaccess</string>
- </array>
- </dict>
- </array>
- <key>CFBundleVersion</key>
- <string>$(FLUTTER_BUILD_NUMBER)</string>
- <key>LSRequiresIPhoneOS</key>
- <true/>
- <key>NSBluetoothAlwaysUsageDescription</key>
- <string>Bluetooth is used to communicate with identity verification devices.</string>
- <key>NSBluetoothPeripheralUsageDescription</key>
- <string>Bluetooth is used to communicate with identity verification devices.</string>
- <key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
- <string>Always Allow is required to improve scanning performance in the background</string>
- <key>NSLocationAlwaysUsageDescription</key>
- <string>Always Allow is required to improve scanning performance in the background</string>
- <key>NSLocationWhenInUseUsageDescription</key>
- <string>Always Allow is required to improve scanning performance in the background</string>
- <key>UIApplicationSupportsIndirectInputEvents</key>
- <true/>
- <key>UIBackgroundModes</key>
- <array>
- <string>bluetooth-central</string>
- <string>location</string>
- </array>
- <key>UILaunchStoryboardName</key>
- <string>LaunchScreen</string>
- <key>UIMainStoryboardFile</key>
- <string>Main</string>
- <key>UIStatusBarHidden</key>
- <false/>
- <key>UISupportedInterfaceOrientations</key>
- <array>
- <string>UIInterfaceOrientationPortrait</string>
- <string>UIInterfaceOrientationLandscapeLeft</string>
- <string>UIInterfaceOrientationLandscapeRight</string>
- </array>
- <key>UISupportedInterfaceOrientations~ipad</key>
- <array>
- <string>UIInterfaceOrientationPortrait</string>
- <string>UIInterfaceOrientationPortraitUpsideDown</string>
- <string>UIInterfaceOrientationLandscapeLeft</string>
- <string>UIInterfaceOrientationLandscapeRight</string>
- </array>
- <key>UIViewControllerBasedStatusBarAppearance</key>
- <false/>
-</dict>
+ <dict>
+ <key>CADisableMinimumFrameDurationOnPhone</key>
+ <true/>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>$(DEVELOPMENT_LANGUAGE)</string>
+ <key>CFBundleDisplayName</key>
+ <string>$(PRODUCT_NAME)</string>
+ <key>CFBundleExecutable</key>
+ <string>$(EXECUTABLE_NAME)</string>
+ <key>CFBundleIdentifier</key>
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleLocalizations</key>
+ <array>
+ <string>en</string>
+ <string>da</string>
+ </array>
+ <key>CFBundleName</key>
+ <string>Comwell Phoenix</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>$(FLUTTER_BUILD_NAME)</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleURLTypes</key>
+ <array>
+ <dict>
+ <key>CFBundleTypeRole</key>
+ <string>Editor</string>
+ <key>CFBundleURLName</key>
+ <string>com.assaabloy.seosmobileaccess</string>
+ <key>CFBundleURLSchemes</key>
+ <array>
+ <string>seosmobileaccess</string>
+ </array>
+ </dict>
+ </array>
+ <key>CFBundleVersion</key>
+ <string>$(FLUTTER_BUILD_NUMBER)</string>
+ <key>LSRequiresIPhoneOS</key>
+ <true/>
+ <key>NSBluetoothAlwaysUsageDescription</key>
+ <string>Bluetooth is used to communicate with identity verification devices.</string>
+ <key>NSBluetoothPeripheralUsageDescription</key>
+ <string>Bluetooth is used to communicate with identity verification devices.</string>
+ <key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
+ <string>Always Allow is required to improve scanning performance in the background</string>
+ <key>NSLocationAlwaysUsageDescription</key>
+ <string>Always Allow is required to improve scanning performance in the background</string>
+ <key>NSLocationWhenInUseUsageDescription</key>
+ <string>Always Allow is required to improve scanning performance in the background</string>
+ <key>UIApplicationSupportsIndirectInputEvents</key>
+ <true/>
+ <key>UIBackgroundModes</key>
+ <array>
+ <string>bluetooth-central</string>
+ <string>location</string>
+ </array>
+ <key>UILaunchStoryboardName</key>
+ <string>LaunchScreen</string>
+ <key>UIMainStoryboardFile</key>
+ <string>Main</string>
+ <key>UIStatusBarHidden</key>
+ <false/>
+ <key>UISupportedInterfaceOrientations</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+ <key>UISupportedInterfaceOrientations~ipad</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationPortraitUpsideDown</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+ <key>UIViewControllerBasedStatusBarAppearance</key>
+ <false/>
+ </dict>
</plist>
diff --git a/comwell_key_app/lib/home/bloc/home_bloc.dart b/comwell_key_app/lib/home/bloc/home_bloc.dart
index 3b36c25a..b710ee7c 100644
--- a/comwell_key_app/lib/home/bloc/home_bloc.dart
+++ b/comwell_key_app/lib/home/bloc/home_bloc.dart
@@ -24,7 +24,6 @@ class HomeBloc extends Bloc<HomeEvent, HomeState> {
}
});
-
on<SetupEndpoint>((event, emit) async {
emit(const HomeState.setupStarted());
try {
@@ -57,6 +56,19 @@ class HomeBloc extends Bloc<HomeEvent, HomeState> {
emit(const HomeState.invalidOrNoKey());
}
});
+
+ on<ProvisionKeyEvent>((event, emit) async {
+ if (kIsWeb) {
+ emit(const HomeState.keyProvisioned());
+ return;
+ }
+ try {
+ await homeRepository.provisionKey(event.bookingId);
+ emit(const HomeState.keyProvisioned());
+ } catch (_) {
+ emit(const HomeState.setupError());
+ }
+ });
}
}
diff --git a/comwell_key_app/lib/home/bloc/home_event.dart b/comwell_key_app/lib/home/bloc/home_event.dart
index 4e614398..4793b322 100644
--- a/comwell_key_app/lib/home/bloc/home_event.dart
+++ b/comwell_key_app/lib/home/bloc/home_event.dart
@@ -33,3 +33,13 @@ final class KeySelectedEvent extends HomeEvent {
@override
List<Object> get props => [key];
}
+
+
+final class ProvisionKeyEvent extends HomeEvent {
+ final String bookingId;
+
+ const ProvisionKeyEvent(this.bookingId);
+
+ @override
+ List<Object> get props => [bookingId];
+}
\ No newline at end of file
diff --git a/comwell_key_app/lib/home/bloc/home_state.dart b/comwell_key_app/lib/home/bloc/home_state.dart
index 1449720b..13474993 100644
--- a/comwell_key_app/lib/home/bloc/home_state.dart
+++ b/comwell_key_app/lib/home/bloc/home_state.dart
@@ -18,6 +18,7 @@ const HomeState.setupStarted() : this._(status: HomeStatus.setupStarted);
const HomeState.setupComplete() : this._(status: HomeStatus.setupComplete);
const HomeState.mobilePluginStarted() : this._(status: HomeStatus.mobilePluginStarted);
const HomeState.invalidOrNoKey() : this._(status: HomeStatus.invalidOrNoKey);
+const HomeState.keyProvisioned() : this._(status: HomeStatus.keyProvisioned);
const HomeState.multipleKeys({required keys}) : this._(status: HomeStatus.multipleKeys);
const HomeState.setupNotComplete() : this._(status: HomeStatus.setupNotComplete);
const HomeState.setupError() : this._(status: HomeStatus.setupError);
@@ -44,6 +45,7 @@ enum HomeStatus {
multipleKeys,
validKey,
invalidOrNoKey,
- main,
+ main,
+ keyProvisioned,
}
diff --git a/comwell_key_app/lib/home/home_page.dart b/comwell_key_app/lib/home/home_page.dart
index 9f648251..b1127a2b 100644
--- a/comwell_key_app/lib/home/home_page.dart
+++ b/comwell_key_app/lib/home/home_page.dart
@@ -19,50 +19,55 @@ class _HomeWidget extends State<HomeWidget> {
@override
Widget build(BuildContext context) {
- return BlocConsumer<HomeBloc, HomeState>(listener: (context, state) {
- if (state == const HomeState.mobilePluginStarted()) {
- context.read<HomeBloc>().add(SetupEndpoint());
- }
- if (state == const HomeState.setupError()) {
- ScaffoldMessenger.of(context).showSnackBar(const SnackBar(
- content: Text('Failed to start Mobile Keys Plugin')));
- }
- if (state == const HomeState.setupComplete()) {
- context.read<HomeBloc>().add(SearchForKeysEvent());
- }
- }, builder: (context, state) {
- if (state == const HomeState.unknown()) {
- context.read<HomeBloc>().add(HomeInitialEvent());
- }
- return Scaffold(
- extendBodyBehindAppBar: true,
- appBar: const ComwellAppBar(),
- body: Container(
- decoration: const BoxDecoration(
- image: DecorationImage(
- image: AssetImage('assets/images/booking_background.png'),
- fit: BoxFit.cover,
+ return BlocConsumer<HomeBloc, HomeState>(
+ listener: (context, state) {
+ if (state == const HomeState.mobilePluginStarted()) {
+ context.read<HomeBloc>().add(SetupEndpoint());
+ }
+ if (state == const HomeState.setupError()) {
+ ScaffoldMessenger.of(context).showSnackBar(const SnackBar(
+ content: Text('Failed to start Mobile Keys Plugin')));
+ }
+ if (state == const HomeState.setupComplete()) {
+ context.read<HomeBloc>().add(SearchForKeysEvent());
+ }
+ },
+ builder: (context, state) {
+ if (state == const HomeState.unknown()) {
+ context.read<HomeBloc>().add(HomeInitialEvent());
+ }
+ return Scaffold(
+ extendBodyBehindAppBar: true,
+ appBar: const ComwellAppBar(),
+ body: Container(
+ decoration: const BoxDecoration(
+ image: DecorationImage(
+ image: AssetImage('assets/images/booking_background.png'),
+ fit: BoxFit.cover,
+ ),
),
- ),
- child: const Stack(
- children: [
- BottomSheetWidget(
- widgetChildren: [
- SizedBox(
- height: 10,
- width: double.infinity,
- ),
- Text('Rooms'),
- SizedBox(height: 400),
- Text('Keys'),
- SizedBox(height: 400),
+ child: const SafeArea(
+ child: Stack(
+ children: [
+ BottomSheetWidget(
+ widgetChildren: [
+ SizedBox(
+ height: 10,
+ width: double.infinity,
+ ),
+ Text('Rooms'),
+ SizedBox(height: 400),
+ Text('Keys'),
+ SizedBox(height: 400),
+ ],
+ )
],
- )
- ],
+ ),
+ ),
),
- ),
- );
- },);
+ );
+ },
+ );
/* listener: (context, state) {
diff --git a/comwell_key_app/lib/home/home_repository.dart b/comwell_key_app/lib/home/home_repository.dart
index 5284c9d9..dd88ac20 100644
--- a/comwell_key_app/lib/home/home_repository.dart
+++ b/comwell_key_app/lib/home/home_repository.dart
@@ -39,11 +39,6 @@ class HomeRepository {
Future<void> setupEndpoint() async {
try {
- final String? bearerToken =
- await _secureStorage.read(constants.accessToken);
- if (bearerToken == null) {
- throw Exception('Failed to get bearer token');
- }
final Response<dynamic> code = await api.createEndpointRegistration();
await _seosMobileKeysPlugin.setupEndpoint(code.data['InvitationCode'] as String);
} catch (e) {
@@ -51,6 +46,14 @@ class HomeRepository {
}
}
+ Future<void> provisionKey(String bookingId) async {
+ try {
+ await api.provisionKey(bookingId);
+ } catch (e) {
+ throw Exception('Failed to provision a key - ${e.toString()}');
+ }
+ }
+
Future<bool> startMobilePlugin() async {
final mobileKeysOptions = {
"MobileKeysOptionApplicationId":
diff --git a/comwell_key_app/lib/login/login_page.dart b/comwell_key_app/lib/login/login_page.dart
index 890d8fd6..3eccc530 100644
--- a/comwell_key_app/lib/login/login_page.dart
+++ b/comwell_key_app/lib/login/login_page.dart
@@ -22,7 +22,7 @@ class LoginPage extends StatelessWidget {
fit: BoxFit.cover,
),
),
- child: Column(
+ child: SafeArea(child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
// Logo
@@ -46,7 +46,7 @@ class LoginPage extends StatelessWidget {
],
),
),
- );
+ ),);
}
Future<dynamic> openModal(BuildContext context, Auth authEnum) {
diff --git a/comwell_key_app/lib/overview/overview_page.dart b/comwell_key_app/lib/overview/overview_page.dart
index 69f66dd0..7ba52021 100644
--- a/comwell_key_app/lib/overview/overview_page.dart
+++ b/comwell_key_app/lib/overview/overview_page.dart
@@ -35,78 +35,80 @@ class OverviewTabViewState extends State<OverviewPage>
final OverviewCubit overviewCubit = BlocProvider.of<OverviewCubit>(context);
overviewCubit.fetchBookings();
- return BlocBuilder<OverviewCubit, OverviewState>(builder: (context, state) {
- return Scaffold(
+ return BlocBuilder<OverviewCubit, OverviewState>(
+ builder: (context, state) {
+ return Scaffold(
backgroundColor: Colors.white,
appBar: const ComwellAppBar(),
- body: Column(
- children: [
- Padding(
- padding: const EdgeInsets.all(8),
- child: Container(
- height: 39,
- decoration: BoxDecoration(
- color: sandColor[20],
- borderRadius: BorderRadius.circular(25),
- ),
- child: TabBar(
- controller: _tabController,
- indicatorPadding: const EdgeInsets.all(8),
- indicatorSize: TabBarIndicatorSize.tab,
- indicator: BoxDecoration(
+ body: SafeArea(
+ child: Column(
+ children: [
+ Padding(
+ padding: const EdgeInsets.all(8),
+ child: Container(
+ height: 39,
+ decoration: BoxDecoration(
+ color: sandColor[20],
borderRadius: BorderRadius.circular(25),
- color: sandColor,
),
- labelColor: Colors.white,
- labelStyle: Theme.of(context).textTheme.bodyMedium,
- unselectedLabelColor: Colors.black,
- dividerColor: Colors.transparent,
- tabs: [
- Tab(
- text: 'overview_tabbar_active'.tr(),
+ child: TabBar(
+ controller: _tabController,
+ indicatorPadding: const EdgeInsets.all(8),
+ indicatorSize: TabBarIndicatorSize.tab,
+ indicator: BoxDecoration(
+ borderRadius: BorderRadius.circular(25),
+ color: sandColor,
),
- Tab(text: 'overview_tabbar_past'.tr()),
- Tab(text: 'overview_tabbar_cancelled'.tr()),
- ],
+ labelColor: Colors.white,
+ labelStyle: Theme.of(context).textTheme.bodyMedium,
+ unselectedLabelColor: Colors.black,
+ dividerColor: Colors.transparent,
+ tabs: [
+ Tab(
+ text: 'overview_tabbar_active'.tr(),
+ ),
+ Tab(text: 'overview_tabbar_past'.tr()),
+ Tab(text: 'overview_tabbar_cancelled'.tr()),
+ ],
+ ),
),
),
- ),
- state is OverviewLoaded
- ? Expanded(
- child: TabBarView(
- controller: _tabController,
- children: [
- CurrentBookingsTabView(
- bookings: state.bookings.current,
- bookingsTitle:
- 'no_current_bookings'.tr(),
- bookingsSubtitle:
- 'no_current_bookings_subtitle'.tr(),
- bookingsImage: 'assets/images/no_current_bookings_background.jpeg'
- ),
- BookingsTabView(
- bookings: state.bookings.past,
- bookingsTitle:
- 'no_past_bookings_title'.tr(),
- bookingsSubtitle:
- 'no_past_bookings_subtitle'.tr(),
- bookingsIcon: 'assets/icons/account.svg',
- isCancelled: false),
- BookingsTabView(
- bookings: state.bookings.cancelled,
- bookingsTitle:
- 'no_cancelled_booking_title'.tr(),
- bookingsSubtitle:
- 'no_cancelled_booking_subtitle'.tr(),
- bookingsIcon: 'assets/icons/thumbs-up.svg',
- isCancelled: true
- ),
- ],
- ),
- )
- : const Center(child: CircularProgressIndicator()),
- ],
- ));
- });
+ state is OverviewLoaded
+ ? Expanded(
+ child: TabBarView(
+ controller: _tabController,
+ children: [
+ CurrentBookingsTabView(
+ bookings: state.bookings.current,
+ bookingsTitle: 'no_current_bookings'.tr(),
+ bookingsSubtitle:
+ 'no_current_bookings_subtitle'.tr(),
+ bookingsImage:
+ 'assets/images/no_current_bookings_background.jpeg'),
+ BookingsTabView(
+ bookings: state.bookings.past,
+ bookingsTitle: 'no_past_bookings_title'.tr(),
+ bookingsSubtitle:
+ 'no_past_bookings_subtitle'.tr(),
+ bookingsIcon: 'assets/icons/account.svg',
+ isCancelled: false),
+ BookingsTabView(
+ bookings: state.bookings.cancelled,
+ bookingsTitle:
+ 'no_cancelled_booking_title'.tr(),
+ bookingsSubtitle:
+ 'no_cancelled_booking_subtitle'.tr(),
+ bookingsIcon: 'assets/icons/thumbs-up.svg',
+ isCancelled: true),
+ ],
+ ),
+ )
+ : const Center(child: CircularProgressIndicator()),
+ ],
+ ),
+ ),
+ );
+ },
+ );
}
}
diff --git a/comwell_key_app/lib/profile/profile_page.dart b/comwell_key_app/lib/profile/profile_page.dart
index 2b2ae030..14188acb 100644
--- a/comwell_key_app/lib/profile/profile_page.dart
+++ b/comwell_key_app/lib/profile/profile_page.dart
@@ -16,159 +16,168 @@ class ProfilePage extends StatelessWidget {
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: sandColor[20],
- body: Column(
- children: [
- Padding(
- padding: const EdgeInsets.only(top: 50),
- child: Container(
- alignment: Alignment.centerRight,
- child: RoundIconButton(
- icon: "assets/icons/close-icon.svg",
- onPressed: () {
- context.pop();
- }),
- ),
- ),
- Expanded(
- child: Column(
- children: [
- const Spacer(),
- Stack(children: [
- Image.asset('assets/images/cc_inactive.png'),
- Positioned(
- bottom: 20,
- left: 20,
- child: Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Text(
- 'name_cc_sign'.tr(),
- style: const TextStyle(
- color: Colors.black,
- fontSize: 14,
- fontWeight: FontWeight.w600,
- ),
- ),
- const Text(
- 'Nikolaj King Lykkegaard',
- style: TextStyle(
- color: Colors.black,
- fontSize: 16,
- fontWeight: FontWeight.w600,
- ),
- ),
- ]),
- ),
- ]),
- const SizedBox(
- height: 20,
- )
- ],
+ body: SafeArea(
+ child: Column(
+ children: [
+ Padding(
+ padding: const EdgeInsets.only(top: 20),
+ child: Container(
+ alignment: Alignment.centerRight,
+ child: RoundIconButton(
+ icon: "assets/icons/close-icon.svg",
+ onPressed: () {
+ context.pop();
+ }),
+ ),
),
- ),
- Container(
- color: Colors.white,
- child: Column(
- children: [
- const SizedBox(height: 10),
- Container(
- margin: const EdgeInsets.symmetric(horizontal: 16),
- padding: const EdgeInsets.symmetric(vertical: 16),
- decoration: BoxDecoration(
- color: sandColor[10],
- borderRadius: const BorderRadius.all(Radius.circular(10)),
- ),
- height: 115,
- child: Row(
- mainAxisAlignment: MainAxisAlignment.spaceAround,
- children: [
- Column(
+ Expanded(
+ flex: 2,
+ child: Column(
+ children: [
+ const Spacer(),
+ Stack(children: [
+ Image.asset('assets/images/cc_inactive.png'),
+ Positioned(
+ bottom: 20,
+ left: 20,
+ child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
- Text("become_cc_member_title".tr(),
- textAlign: TextAlign.start,
- style: const TextStyle(
- color: Colors.black,
- fontSize: 16,
- fontWeight: FontWeight.w600)),
- SizedBox(
- width: 250,
- child: Text(
- "become_cc_member_subtitle".tr(),
- textAlign: TextAlign.start,
- maxLines: 4,
- style: const TextStyle(
- color: Colors.black,
- fontSize: 14,
- fontWeight: FontWeight.w500),
+ Text(
+ 'name_cc_sign'.tr(),
+ style: const TextStyle(
+ color: Colors.black,
+ fontSize: 14,
+ fontWeight: FontWeight.w600,
),
),
- ],
- ),
- const Icon(Icons.chevron_right, color: Colors.black, size: 24,),
- ],
- )),
- const SizedBox(height: 10),
- profileSettingsItem(
- context,
- icon: Image.asset('assets/icons/user-circle.png'),
- text: 'profile_settings_profile_menu'.tr(),
- trailingIcon: Icons.chevron_right,
- onTap: () {
- // Navigate to profile settings
- },
- ),
- const Padding(
- padding: EdgeInsets.symmetric(horizontal: 16.0),
- child: Divider(color: colorDivider),
- ),
- profileSettingsItem(
- context,
- icon: Image.asset('assets/icons/card.png'),
- text: 'payment_card_profile_menu'.tr(),
- trailingIcon: Icons.chevron_right,
- onTap: () {
- // Navigate to card
- },
- ),
- const Padding(
- padding: EdgeInsets.symmetric(horizontal: 16.0),
- child: Divider(color: colorDivider),
- ),
- profileSettingsItem(
- context,
- icon: Image.asset('assets/icons/bell.png'),
- trailingIcon: Icons.chevron_right,
- text: 'notifications_profile_menu'.tr(),
- onTap: () {
- // Navigate to notifications
- },
- ),
- const Padding(
- padding: EdgeInsets.symmetric(horizontal: 16.0),
- child: Divider(color: colorDivider),
- ),
- const SizedBox(height: 10),
- Center(
- child: OutlinedButton(
- style: OutlinedButton.styleFrom(
- side: const BorderSide(color: colorDivider),
+ const Text(
+ 'Nikolaj King Lykkegaard',
+ style: TextStyle(
+ color: Colors.black,
+ fontSize: 16,
+ fontWeight: FontWeight.w600,
+ ),
+ ),
+ ]),
),
- onPressed: () {
- secureStorage.deleteAll();
- showLogoutDialog(context);
+ ]),
+ const SizedBox(
+ height: 20,
+ )
+ ],
+ ),
+ ),
+ Container(
+ color: Colors.white,
+ child: Column(
+ children: [
+ const SizedBox(height: 10),
+ Container(
+ margin: const EdgeInsets.symmetric(horizontal: 16),
+ padding: const EdgeInsets.symmetric(vertical: 16),
+ decoration: BoxDecoration(
+ color: sandColor[10],
+ borderRadius:
+ const BorderRadius.all(Radius.circular(10)),
+ ),
+ height: 115,
+ child: Row(
+ mainAxisAlignment: MainAxisAlignment.spaceAround,
+ children: [
+ Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text("become_cc_member_title".tr(),
+ textAlign: TextAlign.start,
+ style: const TextStyle(
+ color: Colors.black,
+ fontSize: 16,
+ fontWeight: FontWeight.w600)),
+ SizedBox(
+ width: 250,
+ child: Text(
+ "become_cc_member_subtitle".tr(),
+ textAlign: TextAlign.start,
+ maxLines: 4,
+ style: const TextStyle(
+ color: Colors.black,
+ fontSize: 14,
+ fontWeight: FontWeight.w500),
+ ),
+ ),
+ ],
+ ),
+ const Icon(
+ Icons.chevron_right,
+ color: Colors.black,
+ size: 24,
+ ),
+ ],
+ )),
+ const SizedBox(height: 10),
+ profileSettingsItem(
+ context,
+ icon: Image.asset('assets/icons/user-circle.png'),
+ text: 'profile_settings_profile_menu'.tr(),
+ trailingIcon: Icons.chevron_right,
+ onTap: () {
+ // Navigate to profile settings
+ },
+ ),
+ const Padding(
+ padding: EdgeInsets.symmetric(horizontal: 16.0),
+ child: Divider(color: colorDivider),
+ ),
+ profileSettingsItem(
+ context,
+ icon: Image.asset('assets/icons/card.png'),
+ text: 'payment_card_profile_menu'.tr(),
+ trailingIcon: Icons.chevron_right,
+ onTap: () {
+ // Navigate to card
+ },
+ ),
+ const Padding(
+ padding: EdgeInsets.symmetric(horizontal: 16.0),
+ child: Divider(color: colorDivider),
+ ),
+ profileSettingsItem(
+ context,
+ icon: Image.asset('assets/icons/bell.png'),
+ trailingIcon: Icons.chevron_right,
+ text: 'notifications_profile_menu'.tr(),
+ onTap: () {
+ // Navigate to notifications
},
- child: Text(
- 'logout_profile_menu'.tr(),
- style: const TextStyle(color: colorDivider),
+ ),
+ const Padding(
+ padding: EdgeInsets.symmetric(horizontal: 16.0),
+ child: Divider(color: colorDivider),
+ ),
+ const SizedBox(height: 10),
+ Center(
+ child: OutlinedButton(
+ style: OutlinedButton.styleFrom(
+ side: const BorderSide(color: colorDivider),
+ ),
+ onPressed: () {
+ secureStorage.deleteAll();
+ showLogoutDialog(context);
+ },
+ child: Text(
+ 'logout_profile_menu'.tr(),
+ style: const TextStyle(color: colorDivider),
+ ),
),
),
- ),
- const SizedBox(height: 20),
- ],
+ const SizedBox(height: 20),
+
+ ],
+ ),
),
- ),
- ],
+ ],
+ ),
),
);
}
@@ -204,7 +213,9 @@ class ProfilePage extends StatelessWidget {
maximumSize: const Size(280, 52),
),
onPressed: () {
- context.read<AuthenticationBloc>().add(AuthenticationLogoutPressed());
+ context
+ .read<AuthenticationBloc>()
+ .add(AuthenticationLogoutPressed());
},
child: Text("logout_profile_menu".tr(),
style: const TextStyle(
diff --git a/comwell_key_app/pubspec.yaml b/comwell_key_app/pubspec.yaml
index 19435ab0..8720345a 100644
--- a/comwell_key_app/pubspec.yaml
+++ b/comwell_key_app/pubspec.yaml
@@ -50,6 +50,7 @@ dependencies:
mocktail: ^1.0.4
flutter_svg: ^2.0.10+1
jwt_decoder: ^2.0.1
+ flutter_launcher_icons: ^0.14.1
dev_dependencies:
flutter_test:
diff --git a/comwell_key_app/web/index.html b/comwell_key_app/web/index.html
index ecdd5134..1ba0630a 100644
--- a/comwell_key_app/web/index.html
+++ b/comwell_key_app/web/index.html
@@ -29,6 +29,9 @@
<title>comwell_key_app</title>
<link rel="manifest" href="manifest.json">
+
+
+ <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport">
<style id="splash-screen-style">
html {
height: 100%
@@ -37,8 +40,9 @@
body {
margin: 0;
min-height: 100%;
- background-color: #42a5f5;
- background-size: 100% 100%;
+ background-color: #ffffff;
+ background-image: url("splash/img/light-background.png");
+ background-size: 100% 100%;
}
.center {
@@ -94,7 +98,6 @@
document.body.style.background = "transparent";
}
</script>
- <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport">
</head>
<body>
<script src="flutter_bootstrap.js" async=""></script>
diff --git a/comwell_key_app/web/splash/img/light-background.png b/comwell_key_app/web/splash/img/light-background.png
new file mode 100644
index 00000000..d81f99df
Binary files /dev/null and b/comwell_key_app/web/splash/img/light-background.png differ