From ec890331e53d6bd1a2335f326336aefe70a5583c Mon Sep 17 00:00:00 2001 From: Sreelal TS Date: Sun, 27 Feb 2022 23:56:02 +0530 Subject: [PATCH] =?UTF-8?q?Shoot=20it=20to=20the=20horizon=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 46 ++ .metadata | 10 + README.md | 16 + analysis_options.yaml | 29 + android/.gitignore | 13 + android/app/build.gradle | 68 +++ android/app/src/debug/AndroidManifest.xml | 7 + android/app/src/main/AndroidManifest.xml | 34 ++ .../app/src/main/ic_launcher-playstore.png | Bin 0 -> 25799 bytes .../morseflasher/flashmorse/MainActivity.kt | 6 + .../res/drawable-v21/launch_background.xml | 12 + .../res/drawable/ic_launcher_background.xml | 74 +++ .../main/res/drawable/launch_background.xml | 12 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 3282 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 4452 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 2045 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2680 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 4487 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 6378 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 7136 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10014 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 10487 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 14545 bytes .../app/src/main/res/values-night/styles.xml | 18 + android/app/src/main/res/values/styles.xml | 18 + android/app/src/profile/AndroidManifest.xml | 7 + android/build.gradle | 31 + android/gradle.properties | 3 + .../gradle/wrapper/gradle-wrapper.properties | 6 + android/settings.gradle | 11 + images/icon.png | Bin 0 -> 86838 bytes ios/.gitignore | 34 ++ ios/Flutter/AppFrameworkInfo.plist | 26 + ios/Flutter/Debug.xcconfig | 2 + ios/Flutter/Release.xcconfig | 2 + ios/Podfile | 41 ++ ios/Podfile.lock | 35 ++ ios/Runner.xcodeproj/project.pbxproj | 552 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 87 +++ .../contents.xcworkspacedata | 10 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + ios/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/Contents.json | 122 ++++ .../Icon-App-1024x1024@1x.png | Bin 0 -> 10932 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 564 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 1283 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 1588 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 1025 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 1716 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 1920 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 1283 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 1895 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 2665 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 2665 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 3831 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 1888 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 3294 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 3612 bytes .../LaunchImage.imageset/Contents.json | 23 + .../LaunchImage.imageset/LaunchImage.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/README.md | 5 + ios/Runner/Base.lproj/LaunchScreen.storyboard | 37 ++ ios/Runner/Base.lproj/Main.storyboard | 26 + ios/Runner/Info.plist | 47 ++ ios/Runner/Runner-Bridging-Header.h | 1 + lib.zip | Bin 0 -> 4733 bytes lib/main.dart | 29 + lib/screens/converter.dart | 70 +++ lib/screens/home.dart | 181 ++++++ lib/screens/splash.dart | 22 + lib/utils/theme.dart | 6 + lib/utils/toast.dart | 5 + pubspec.lock | 215 +++++++ pubspec.yaml | 26 + test/widget_test.dart | 30 + 83 files changed, 2117 insertions(+) create mode 100644 .gitignore create mode 100644 .metadata create mode 100644 README.md create mode 100644 analysis_options.yaml create mode 100644 android/.gitignore create mode 100644 android/app/build.gradle create mode 100644 android/app/src/debug/AndroidManifest.xml create mode 100644 android/app/src/main/AndroidManifest.xml create mode 100644 android/app/src/main/ic_launcher-playstore.png create mode 100644 android/app/src/main/kotlin/com/owliverse/morseflasher/flashmorse/MainActivity.kt create mode 100644 android/app/src/main/res/drawable-v21/launch_background.xml create mode 100644 android/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 android/app/src/main/res/drawable/launch_background.xml create mode 100644 android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/values-night/styles.xml create mode 100644 android/app/src/main/res/values/styles.xml create mode 100644 android/app/src/profile/AndroidManifest.xml create mode 100644 android/build.gradle create mode 100644 android/gradle.properties create mode 100644 android/gradle/wrapper/gradle-wrapper.properties create mode 100644 android/settings.gradle create mode 100644 images/icon.png create mode 100644 ios/.gitignore create mode 100644 ios/Flutter/AppFrameworkInfo.plist create mode 100644 ios/Flutter/Debug.xcconfig create mode 100644 ios/Flutter/Release.xcconfig create mode 100644 ios/Podfile create mode 100644 ios/Podfile.lock create mode 100644 ios/Runner.xcodeproj/project.pbxproj create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 ios/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 ios/Runner/AppDelegate.swift create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md create mode 100644 ios/Runner/Base.lproj/LaunchScreen.storyboard create mode 100644 ios/Runner/Base.lproj/Main.storyboard create mode 100644 ios/Runner/Info.plist create mode 100644 ios/Runner/Runner-Bridging-Header.h create mode 100644 lib.zip create mode 100644 lib/main.dart create mode 100644 lib/screens/converter.dart create mode 100644 lib/screens/home.dart create mode 100644 lib/screens/splash.dart create mode 100644 lib/utils/theme.dart create mode 100644 lib/utils/toast.dart create mode 100644 pubspec.lock create mode 100644 pubspec.yaml create mode 100644 test/widget_test.dart diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0fa6b67 --- /dev/null +++ b/.gitignore @@ -0,0 +1,46 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.packages +.pub-cache/ +.pub/ +/build/ + +# Web related +lib/generated_plugin_registrant.dart + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release diff --git a/.metadata b/.metadata new file mode 100644 index 0000000..0a999ee --- /dev/null +++ b/.metadata @@ -0,0 +1,10 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled and should not be manually edited. + +version: + revision: db747aa1331bd95bc9b3874c842261ca2d302cd5 + channel: stable + +project_type: app diff --git a/README.md b/README.md new file mode 100644 index 0000000..85de650 --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +# flashmorse + +Simple Morse Code Flasher App + +## Getting Started + +This project is a starting point for a Flutter application. + +A few resources to get you started if this is your first Flutter project: + +- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab) +- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook) + +For help getting started with Flutter, view our +[online documentation](https://flutter.dev/docs), which offers tutorials, +samples, guidance on mobile development, and a full API reference. diff --git a/analysis_options.yaml b/analysis_options.yaml new file mode 100644 index 0000000..61b6c4d --- /dev/null +++ b/analysis_options.yaml @@ -0,0 +1,29 @@ +# This file configures the analyzer, which statically analyzes Dart code to +# check for errors, warnings, and lints. +# +# The issues identified by the analyzer are surfaced in the UI of Dart-enabled +# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be +# invoked from the command line by running `flutter analyze`. + +# The following line activates a set of recommended lints for Flutter apps, +# packages, and plugins designed to encourage good coding practices. +include: package:flutter_lints/flutter.yaml + +linter: + # The lint rules applied to this project can be customized in the + # section below to disable rules from the `package:flutter_lints/flutter.yaml` + # included above or to enable additional rules. A list of all available lints + # and their documentation is published at + # https://dart-lang.github.io/linter/lints/index.html. + # + # Instead of disabling a lint rule for the entire project in the + # section below, it can also be suppressed for a single line of code + # or a specific dart file by using the `// ignore: name_of_lint` and + # `// ignore_for_file: name_of_lint` syntax on the line or in the file + # producing the lint. + rules: + # avoid_print: false # Uncomment to disable the `avoid_print` rule + # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options diff --git a/android/.gitignore b/android/.gitignore new file mode 100644 index 0000000..6f56801 --- /dev/null +++ b/android/.gitignore @@ -0,0 +1,13 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java + +# Remember to never publicly share your keystore. +# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +key.properties +**/*.keystore +**/*.jks diff --git a/android/app/build.gradle b/android/app/build.gradle new file mode 100644 index 0000000..3f3cdae --- /dev/null +++ b/android/app/build.gradle @@ -0,0 +1,68 @@ +def localProperties = new Properties() +def localPropertiesFile = rootProject.file('local.properties') +if (localPropertiesFile.exists()) { + localPropertiesFile.withReader('UTF-8') { reader -> + localProperties.load(reader) + } +} + +def flutterRoot = localProperties.getProperty('flutter.sdk') +if (flutterRoot == null) { + throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") +} + +def flutterVersionCode = localProperties.getProperty('flutter.versionCode') +if (flutterVersionCode == null) { + flutterVersionCode = '1' +} + +def flutterVersionName = localProperties.getProperty('flutter.versionName') +if (flutterVersionName == null) { + flutterVersionName = '1.0' +} + +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' +apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" + +android { + compileSdkVersion flutter.compileSdkVersion + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = '1.8' + } + + sourceSets { + main.java.srcDirs += 'src/main/kotlin' + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId "com.owliverse.morseflasher.flashmorse" + minSdkVersion 21 + targetSdkVersion 31 + versionCode flutterVersionCode.toInteger() + versionName flutterVersionName + } + + buildTypes { + release { + // TODO: Add your own signing config for the release build. + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig signingConfigs.debug + } + } +} + +flutter { + source '../..' +} + +dependencies { + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" +} diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..2831378 --- /dev/null +++ b/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..432d780 --- /dev/null +++ b/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + diff --git a/android/app/src/main/ic_launcher-playstore.png b/android/app/src/main/ic_launcher-playstore.png new file mode 100644 index 0000000000000000000000000000000000000000..0451ac890caa67d88e264ced2938bd7b5d5f1827 GIT binary patch literal 25799 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 A8UO$Q literal 0 HcmV?d00001 diff --git a/android/app/src/main/kotlin/com/owliverse/morseflasher/flashmorse/MainActivity.kt b/android/app/src/main/kotlin/com/owliverse/morseflasher/flashmorse/MainActivity.kt new file mode 100644 index 0000000..8d7b18c --- /dev/null +++ b/android/app/src/main/kotlin/com/owliverse/morseflasher/flashmorse/MainActivity.kt @@ -0,0 +1,6 @@ +package com.owliverse.morseflasher.flashmorse + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() { +} diff --git a/android/app/src/main/res/drawable-v21/launch_background.xml b/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 0000000..f74085f --- /dev/null +++ b/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/android/app/src/main/res/drawable/ic_launcher_background.xml b/android/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..ca3826a --- /dev/null +++ b/android/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/android/app/src/main/res/drawable/launch_background.xml b/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 0000000..304732f --- /dev/null +++ b/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..c4a603d --- /dev/null +++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..c4a603d --- /dev/null +++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..a9da8e9948a9b93732e36323a883854044016515 GIT binary patch literal 3282 zcmdT{=|2>V7M4;Z%Va5eBO{4OUX6WBvPH6H%TBTr6K1i5Vi==j$vU=%B%`d!GOwLs zjEU?_maz=N4B5GL-%s~XxF60rAI|Tb-}5}@%X8vPjP$t9UOLOd!osD0PuuKwE%+1c zr+?=bhM+JD%ef4FZOw-;ht-^MbAe95*fP~!;Xc&D57jRqMd}v`$Ud0A(e0$WMJQe>*FlTQ3X=7dfz^F@p^e&w<}&NKm@0>dN5kmYGP z^2So$v=yOBhsCbu+lq^Pt0C*f(TnXpfw+ULl6QT52y(8)Sb%M(J%VxY;a7bl)7HyZ zZ55YT&!G&kk|5uD5uXEU-pRqL-k0)zc?N_S?FB&-sL&?~=ESDdzRE!gg|^Fl6MRr{ zC;_Tc{}v7j{l#hTzp}acPpTLA0-p&`5wxm=sCYe{YeJ)dVoXZ9O%32VoX1lxDZ&u1 z>p2HE2bBAEylTvjRv*H(H@oJSICgh*Y=tNN>&g$CwyIM7ltA#3SwB{Tws^*Et-N>b zjxdp0Va#j_ZXlJR8W&)m5D2g1c$i*0sH|aKVtAyrc!JOB`_}`9i)iQ_0J|x9^eFL0}(5} z&{vk+0%ew`25oMyLUr!kkR@C;!7nJX-fdfuBUaZz4m(6-Y;o=I=LMbIqISNet&O=3 zv7*hdL?g=D`CLd-%dqdNxH9Yr0htQS>uc$Xix0JYWXmJ<2Y{FhNgry`au5ow6|BXl zWaIlPzK_;Rjw-*c#v?1TB=K5D2*~4~lQ+!9=y651OV0?3i9f>$D8KJA1;UaSzE#h1 zmNZGHdEI|v(oRo$_LRmhZLbj(pByvrQ=-*#Vdl!%r3>%MPOFsv7jJc`%Q^V9m}dmh zz|g=Ec5%PUhczJ&`#1FqtCb1jjCx>a*;;IJ2ba|toG+s4F(24qy{~#yoB9Gl+xi?w zte!wE>-aD?uT8tg2(gwK(y?-L4!WW!Wn`@a$VT^|G$li~!J}3sVy6hM=ilHpi97oq z>X!DKbZ#{?)w>QbjJ6J;thA?po1r~ApcIz-Zct@TM!|ZJSIFY@faSJeQ_VNuhO!pv z%5zD6anfSuqJ`}5nRKI~Kv|_31b{O*qtLGC$P6z?2o5R+%r>JOj`ob_Pbu;kZtnEd zwBGic1H!eJH|__GV|EtvMa|8b;kdHe=Ej-jPW=z4w+-l>+*sRG?=J#YaXWL} z8egHsNT=rYyvGNN`A>Li`&XtDBkKE5orYW#7Yuf9LM_mzN?;`JQ-?)>jpxx@D>#-^RqYFa|1LqoQmf)7%@rHce8M&Z$;!=t zGv;4#xbHX8Hd@Wx?y7mUSdUYaJ$+;>=wF4bP&=)4f341Aw$v>}H72~fskd9E!XOFj@r+{8;_@2F?x`_BEZVd47i@Z?72mXmH!T zVHZXB&N2GNtOcYqfs1YgKxZoxt>F}#EH8Yo_Lgg2%S4mSd-crXmuv&+&Xdts?SrwX zkf9)ja59(ou%2JyF%TD|^qcu?!26?Irg4qEi(&X&Ny~Lu%yx7BWO&2azUY~%_}GoMzd0uy_RqYEt1bbq$5TAoXJg&~GwQc_tMD}YJY!fi z8=Ms6$O)Z+9j8s;hgK`%U5P)IhQ`bV&@M9N%Eqx2|>O#?k^=Ovv#XA37`1)0`?bq3+zr#I9|&Fl_6KvUaxxtDiwN34?3j>s?(X{iVdDboAO#^sF2Vy z@qy!ewJfbHtKNbYH~A_J`Iw=0J@dyNycl7P*HN)t?~z{N8O+qcrgf_O_(K4JvljRK5bl@wFX4nBWN~sMGEIsW z7Fis*!)zP!W~A^yDstSAJ!^7k3&1PmPYXZ?eak=6UPvN1k_IjtalonF_15Jy4&Osg z7u9CX=XyxFgoiU?2XIioa1^-oq|D|=J64EY==LPIQ{?~Q# z_5-nm*II0BXs(~2bYuZl0Eg4>*ys@dg`cmy3G5x8f^T8u`TDO1WFkgh!xi&#zQE{ahL5G!X~qOW75jlb&@^&e>ND3AaE literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..2b7ac2fee3289a65994f2883e880fe107005afca GIT binary patch literal 4452 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..c3232717226dacb9ca93344639d0c92e4487cc90 GIT binary patch literal 10487 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..906cc42ec88ae10e2cef08c1b6f8433dfea3377d GIT binary patch literal 14545 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 + + + + + + diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..d460d1e --- /dev/null +++ b/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/android/app/src/profile/AndroidManifest.xml b/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 0000000..2831378 --- /dev/null +++ b/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/android/build.gradle b/android/build.gradle new file mode 100644 index 0000000..74dfc66 --- /dev/null +++ b/android/build.gradle @@ -0,0 +1,31 @@ +buildscript { + ext.kotlin_version = '1.6.10' + repositories { + google() + mavenCentral() + } + + dependencies { + classpath 'com.android.tools.build:gradle:4.2.1' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + } +} + +allprojects { + repositories { + google() + mavenCentral() + } +} + +rootProject.buildDir = '../build' +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" +} +subprojects { + project.evaluationDependsOn(':app') +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/android/gradle.properties b/android/gradle.properties new file mode 100644 index 0000000..94adc3a --- /dev/null +++ b/android/gradle.properties @@ -0,0 +1,3 @@ +org.gradle.jvmargs=-Xmx1536M +android.useAndroidX=true +android.enableJetifier=true diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..939efa2 --- /dev/null +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Fri Jun 23 08:50:38 CEST 2017 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip diff --git a/android/settings.gradle b/android/settings.gradle new file mode 100644 index 0000000..44e62bc --- /dev/null +++ b/android/settings.gradle @@ -0,0 +1,11 @@ +include ':app' + +def localPropertiesFile = new File(rootProject.projectDir, "local.properties") +def properties = new Properties() + +assert localPropertiesFile.exists() +localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + +def flutterSdkPath = properties.getProperty("flutter.sdk") +assert flutterSdkPath != null, "flutter.sdk not set in local.properties" +apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/images/icon.png b/images/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d6c86cc8a9990ef51cf156b825e580cc13411b43 GIT binary patch literal 86838 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 Wo#pHnEgMGv->q%1^Zs_~+5ZRe)Dn{b literal 0 HcmV?d00001 diff --git a/ios/.gitignore b/ios/.gitignore new file mode 100644 index 0000000..7a7f987 --- /dev/null +++ b/ios/.gitignore @@ -0,0 +1,34 @@ +**/dgph +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/ephemeral/ +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 0000000..8d4492f --- /dev/null +++ b/ios/Flutter/AppFrameworkInfo.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 9.0 + + diff --git a/ios/Flutter/Debug.xcconfig b/ios/Flutter/Debug.xcconfig new file mode 100644 index 0000000..ec97fc6 --- /dev/null +++ b/ios/Flutter/Debug.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" +#include "Generated.xcconfig" diff --git a/ios/Flutter/Release.xcconfig b/ios/Flutter/Release.xcconfig new file mode 100644 index 0000000..c4855bf --- /dev/null +++ b/ios/Flutter/Release.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" +#include "Generated.xcconfig" diff --git a/ios/Podfile b/ios/Podfile new file mode 100644 index 0000000..1e8c3c9 --- /dev/null +++ b/ios/Podfile @@ -0,0 +1,41 @@ +# Uncomment this line to define a global platform for your project +# platform :ios, '9.0' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_ios_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_ios_build_settings(target) + end +end diff --git a/ios/Podfile.lock b/ios/Podfile.lock new file mode 100644 index 0000000..b1d8c33 --- /dev/null +++ b/ios/Podfile.lock @@ -0,0 +1,35 @@ +PODS: + - Flutter (1.0.0) + - fluttertoast (0.0.2): + - Flutter + - Toast + - Toast (4.0.0) + - torch_light (0.0.1): + - Flutter + +DEPENDENCIES: + - Flutter (from `Flutter`) + - fluttertoast (from `.symlinks/plugins/fluttertoast/ios`) + - torch_light (from `.symlinks/plugins/torch_light/ios`) + +SPEC REPOS: + trunk: + - Toast + +EXTERNAL SOURCES: + Flutter: + :path: Flutter + fluttertoast: + :path: ".symlinks/plugins/fluttertoast/ios" + torch_light: + :path: ".symlinks/plugins/torch_light/ios" + +SPEC CHECKSUMS: + Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a + fluttertoast: 16fbe6039d06a763f3533670197d01fc73459037 + Toast: 91b396c56ee72a5790816f40d3a94dd357abc196 + torch_light: 682062fa12102172fa38b6b14c106d93b060f83e + +PODFILE CHECKSUM: aafe91acc616949ddb318b77800a7f51bffa2a4c + +COCOAPODS: 1.10.2 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..297db67 --- /dev/null +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,552 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + B3D4C3CE97628FF8D26478A1 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EB078F5513EB4A3C50665C2C /* Pods_Runner.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 9705A1C41CF9048500538489 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 8516340CCD1CB772BE58A21E /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; + 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; + 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + B96D5797DC75130B63D2DB72 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + E4CD1695D1DC6A271BAC4DD4 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + EB078F5513EB4A3C50665C2C /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B3D4C3CE97628FF8D26478A1 /* Pods_Runner.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 63154EC4FCD61F0547E427C1 /* Pods */ = { + isa = PBXGroup; + children = ( + B96D5797DC75130B63D2DB72 /* Pods-Runner.debug.xcconfig */, + E4CD1695D1DC6A271BAC4DD4 /* Pods-Runner.release.xcconfig */, + 8516340CCD1CB772BE58A21E /* Pods-Runner.profile.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; + 9740EEB11CF90186004384FC /* Flutter */ = { + isa = PBXGroup; + children = ( + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 9740EEB31CF90195004384FC /* Generated.xcconfig */, + ); + name = Flutter; + sourceTree = ""; + }; + 97C146E51CF9000F007C117D = { + isa = PBXGroup; + children = ( + 9740EEB11CF90186004384FC /* Flutter */, + 97C146F01CF9000F007C117D /* Runner */, + 97C146EF1CF9000F007C117D /* Products */, + 63154EC4FCD61F0547E427C1 /* Pods */, + 994ADDE32C3773AAF7369D17 /* Frameworks */, + ); + sourceTree = ""; + }; + 97C146EF1CF9000F007C117D /* Products */ = { + isa = PBXGroup; + children = ( + 97C146EE1CF9000F007C117D /* Runner.app */, + ); + name = Products; + sourceTree = ""; + }; + 97C146F01CF9000F007C117D /* Runner */ = { + isa = PBXGroup; + children = ( + 97C146FA1CF9000F007C117D /* Main.storyboard */, + 97C146FD1CF9000F007C117D /* Assets.xcassets */, + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, + 97C147021CF9000F007C117D /* Info.plist */, + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, + ); + path = Runner; + sourceTree = ""; + }; + 994ADDE32C3773AAF7369D17 /* Frameworks */ = { + isa = PBXGroup; + children = ( + EB078F5513EB4A3C50665C2C /* Pods_Runner.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + AD42F1908C738FFA9E89B5BD /* [CP] Check Pods Manifest.lock */, + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 97C146EC1CF9000F007C117D /* Resources */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + 2F246DBDEC338F039F9D8665 /* [CP] Embed Pods Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Runner; + productName = Runner; + productReference = 97C146EE1CF9000F007C117D /* Runner.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 97C146E61CF9000F007C117D /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1300; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 97C146ED1CF9000F007C117D = { + CreatedOnToolsVersion = 7.3.1; + LastSwiftMigration = 1100; + }; + }; + }; + buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 97C146E51CF9000F007C117D; + productRefGroup = 97C146EF1CF9000F007C117D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97C146ED1CF9000F007C117D /* Runner */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 97C146EC1CF9000F007C117D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 2F246DBDEC338F039F9D8665 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Thin Binary"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + }; + AD42F1908C738FFA9E89B5BD /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 97C146EA1CF9000F007C117D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 97C146FA1CF9000F007C117D /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C146FB1CF9000F007C117D /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C147001CF9000F007C117D /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 249021D3217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Profile; + }; + 249021D4217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 4DJ68NCRV9; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.owliverse.morseflasher.flashmorse; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Profile; + }; + 97C147031CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 97C147041CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 97C147061CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 4DJ68NCRV9; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.owliverse.morseflasher.flashmorse; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 97C147071CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 4DJ68NCRV9; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.owliverse.morseflasher.flashmorse; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147031CF9000F007C117D /* Debug */, + 97C147041CF9000F007C117D /* Release */, + 249021D3217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147061CF9000F007C117D /* Debug */, + 97C147071CF9000F007C117D /* Release */, + 249021D4217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 97C146E61CF9000F007C117D /* Project object */; +} diff --git a/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..c87d15a --- /dev/null +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..21a3cc1 --- /dev/null +++ b/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift new file mode 100644 index 0000000..70693e4 --- /dev/null +++ b/ios/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import UIKit +import Flutter + +@UIApplicationMain +@objc class AppDelegate: FlutterAppDelegate { + override func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { + GeneratedPluginRegistrant.register(with: self) + return super.application(application, didFinishLaunchingWithOptions: launchOptions) + } +} diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..d36b1fa --- /dev/null +++ b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ + "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" + } +} diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..dc9ada4725e9b0ddb1deab583e5b5102493aa332 GIT binary patch literal 10932 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..f091b6b0bca859a3f474b03065bef75ba58a9e4c GIT binary patch literal 1588 zcmV-42Fv-0P)C1SqPt}wig>|5Crh^=oyX$BK<}M8eLU3e2hGT;=G|!_SP)7zNI6fqUMB=)y zRAZ>eDe#*r`yDAVgB_R*LB*MAc)8(b{g{9McCXW!lq7r(btRoB9!8B-#AI6JMb~YFBEvdsV)`mEQO^&#eRKx@b&x- z5lZm*!WfD8oCLzfHGz#u7sT0^VLMI1MqGxF^v+`4YYnVYgk*=kU?HsSz{v({E3lb9 z>+xILjBN)t6`=g~IBOelGQ(O990@BfXf(DRI5I$qN$0Gkz-FSc$3a+2fX$AedL4u{ z4V+5Ong(9LiGcIKW?_352sR;LtDPmPJXI{YtT=O8=76o9;*n%_m|xo!i>7$IrZ-{l z-x3`7M}qzHsPV@$v#>H-TpjDh2UE$9g6sysUREDy_R(a)>=eHw-WAyfIN z*qb!_hW>G)Tu8nSw9yn#3wFMiLcfc4pY0ek1}8(NqkBR@t4{~oC>ryc-h_ByH(Cg5 z>ao-}771+xE3um9lWAY1FeQFxowa1(!J(;Jg*wrg!=6FdRX+t_<%z&d&?|Bn){>zm zZQj(aA_HeBY&OC^jj*)N`8fa^ePOU72VpInJoI1?`ty#lvlNzs(&MZX+R%2xS~5Kh zX*|AU4QE#~SgPzOXe9>tRj>hjU@c1k5Y_mW*Jp3fI;)1&g3j|zDgC+}2Q_v%YfDax z!?umcN^n}KYQ|a$Lr+51Nf9dkkYFSjZZjkma$0KOj+;aQ&721~t7QUKx61J3(P4P1 zstI~7-wOACnWP4=8oGOwz%vNDqD8w&Q`qcNGGrbbf&0s9L0De{4{mRS?o0MU+nR_! zrvshUau0G^DeMhM_v{5BuLjb#Hh@r23lDAk8oF(C+P0rsBpv85EP>4CVMx#04MOfG z;P%vktHcXwTj~+IE(~px)3*MY77e}p#|c>TD?sMatC0Tu4iKKJ0(X8jxQY*gYtxsC z(zYC$g|@+I+kY;dg_dE>scBf&bP1Nc@Hz<3R)V`=AGkc;8CXqdi=B4l2k|g;2%#m& z*jfX^%b!A8#bI!j9-0Fi0bOXl(-c^AB9|nQaE`*)Hw+o&jS9@7&Gov#HbD~#d{twV zXd^Tr^mWLfFh$@Dr$e;PBEz4(-2q1FF0}c;~B5sA}+Q>TOoP+t>wf)V9Iy=5ruQa;z)y zI9C9*oUga6=hxw6QasLPnee@3^Rr*M{CdaL5=R41nLs(AHk_=Y+A9$2&H(B7!_pURs&8aNw7?`&Z&xY_Ye z)~D5Bog^td-^QbUtkTirdyK^mTHAOuptDflut!#^lnKqU md>ggs(5nOWAqO?umG&QVYK#ibz}*4>0000U6E9hRK9^#O7(mu>ETqrXGsduA8$)?`v2seloOCza43C{NQ$$gAOH**MCn0Q?+L7dl7qnbRdqZ8LSVp1ItDxhxD?t@5_yHg6A8yI zC*%Wgg22K|8E#!~cTNYR~@Y9KepMPrrB8cABapAFa=`H+UGhkXUZV1GnwR1*lPyZ;*K(i~2gp|@bzp8}og7e*#% zEnr|^CWdVV!-4*Y_7rFvlww2Ze+>j*!Z!pQ?2l->4q#nqRu9`ELo6RMS5=br47g_X zRw}P9a7RRYQ%2Vsd0Me{_(EggTnuN6j=-?uFS6j^u69elMypu?t>op*wBx<=Wx8?( ztpe^(fwM6jJX7M-l*k3kEpWOl_Vk3@(_w4oc}4YF4|Rt=2V^XU?#Yz`8(e?aZ@#li0n*=g^qOcVpd-Wbok=@b#Yw zqn8u9a)z>l(1kEaPYZ6hwubN6i<8QHgsu0oE) ziJ(p;Wxm>sf!K+cw>R-(^Y2_bahB+&KI9y^);#0qt}t-$C|Bo71lHi{_+lg#f%RFy z0um=e3$K3i6K{U_4K!EX?F&rExl^W|G8Z8;`5z-k}OGNZ0#WVb$WCpQu-_YsiqKP?BB# vzVHS-CTUF4Ozn5G+mq_~Qqto~ahA+K`|lyv3(-e}00000NkvXXu0mjfd`9t{ literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..d0ef06e7edb86cdfe0d15b4b0d98334a86163658 GIT binary patch literal 1716 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c8f9ed8f5cee1c98386d13b17e89f719e83555b2 GIT binary patch literal 1895 zcmV-t2blPYP)FQtfgmafE#=YDCq`qUBt#QpG%*H6QHY765~R=q zZ6iudfM}q!Pz#~9JgOi8QJ|DSu?1-*(kSi1K4#~5?#|rh?sS)(-JQqX*}ciXJ56_H zdw=^s_srbAdqxlvGyrgGet#6T7_|j;95sL%MtM;q86vOxKM$f#puR)Bjv9Zvz9-di zXOTSsZkM83)E9PYBXC<$6(|>lNLVBb&&6y{NByFCp%6+^ALR@NCTse_wqvNmSWI-m z!$%KlHFH2omF!>#%1l3LTZg(s7eof$7*xB)ZQ0h?ejh?Ta9fDv59+u#MokW+1t8Zb zgHv%K(u9G^Lv`lh#f3<6!JVTL3(dCpxHbnbA;kKqQyd1~^Xe0VIaYBSWm6nsr;dFj z4;G-RyL?cYgsN1{L4ZFFNa;8)Rv0fM0C(~Tkit94 zz#~A)59?QjD&pAPSEQ)p8gP|DS{ng)j=2ux)_EzzJ773GmQ_Cic%3JJhC0t2cx>|v zJcVusIB!%F90{+}8hG3QU4KNeKmK%T>mN57NnCZ^56=0?&3@!j>a>B43pi{!u z7JyDj7`6d)qVp^R=%j>UIY6f+3`+qzIc!Y_=+uN^3BYV|o+$vGo-j-Wm<10%A=(Yk^beI{t%ld@yhKjq0iNjqN4XMGgQtbKubPM$JWBz}YA65k%dm*awtC^+f;a-x4+ddbH^7iDWGg&N0n#MW{kA|=8iMUiFYvMoDY@sPC#t$55gn6ykUTPAr`a@!(;np824>2xJthS z*ZdmT`g5-`BuJs`0LVhz+D9NNa3<=6m;cQLaF?tCv8)zcRSh66*Z|vXhG@$I%U~2l z?`Q zykI#*+rQ=z6Jm=Bui-SfpDYLA=|vzGE(dYm=OC8XM&MDo7ux4UF1~0J1+i%aCUpRe zt3L_uNyQ*cE(38Uy03H%I*)*Bh=Lb^Xj3?I^Hnbeq72(EOK^Y93CNp*uAA{5Lc=ky zx=~RKa4{iTm{_>_vSCm?$Ej=i6@=m%@VvAITnigVg{&@!7CDgs908761meDK5azA} z4?=NOH|PdvabgJ&fW2{Mo$Q0CcD8Qc84%{JPYt5EiG{MdLIAeX%T=D7NIP4%Hw}p9 zg)==!2Lbp#j{u_}hMiao9=!VSyx0gHbeCS`;q&vzeq|fs`y&^X-lso(Ls@-706qmA z7u*T5PMo_w3{se1t2`zWeO^hOvTsohG_;>J0wVqVe+n)AbQCx)yh9;w+J6?NF5Lmo zecS@ieAKL8%bVd@+-KT{yI|S}O>pYckUFs;ry9Ow$CD@ztz5K-*D$^{i(_1llhSh^ zEkL$}tsQt5>QA^;QgjgIfBDmcOgi5YDyu?t6vSnbp=1+@6D& z5MJ}B8q;bRlVoxasyhcUF1+)o`&3r0colr}QJ3hcSdLu;9;td>kf@Tcn<@9sIx&=m z;AD;SCh95=&p;$r{Xz3iWCO^MX83AGJ(yH&eTXgv|0=34#-&WAmw{)U7OU9!Wz^!7 zZ%jZFi@JR;>Mhi7S>V7wQ176|FdW2m?&`qa(ScO^CFPR80HucLHOTy%5s*HR0^8)i h0WYBP*#0Ks^FNSabJA*5${_#%002ovPDHLkV1oKhTl@e3 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..a6d6b8609df07bf62e5100a53a01510388bd2b22 GIT binary patch literal 2665 zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8 zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5 z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~ z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0k_hS{T4PF*TDrgdXp+dzsE? z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah- zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~ z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR? zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1< zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-! zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s XsPq=LnkwKG00000NkvXXu0mjfhAk5^ literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a6d6b8609df07bf62e5100a53a01510388bd2b22 GIT binary patch literal 2665 zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8 zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5 z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~ z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0k_hS{T4PF*TDrgdXp+dzsE? z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah- zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~ z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR? zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1< zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-! zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s XsPq=LnkwKG00000NkvXXu0mjfhAk5^ literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..75b2d164a5a98e212cca15ea7bf2ab5de5108680 GIT binary patch literal 3831 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..c4df70d39da7941ef3f6dcb7f06a192d8dcb308d GIT binary patch literal 1888 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 iW8Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 0000000..89c2725 --- /dev/null +++ b/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md @@ -0,0 +1,5 @@ +# Launch Screen Assets + +You can customize the launch screen with your own desired assets by replacing the image files in this directory. + +You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/ios/Runner/Base.lproj/LaunchScreen.storyboard b/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..f2e259c --- /dev/null +++ b/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner/Base.lproj/Main.storyboard b/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 0000000..f3c2851 --- /dev/null +++ b/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist new file mode 100644 index 0000000..9e1f63e --- /dev/null +++ b/ios/Runner/Info.plist @@ -0,0 +1,47 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Flashmorse + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + flashmorse + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + + diff --git a/ios/Runner/Runner-Bridging-Header.h b/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 0000000..308a2a5 --- /dev/null +++ b/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/lib.zip b/lib.zip new file mode 100644 index 0000000000000000000000000000000000000000..6e6c6d15eb8746369c977546076ac9d1410b7389 GIT binary patch literal 4733 zcmb7Hc|4Tu*T3zOov}^Io_*gU3E8)?D@$f%X9i1QGU`1w!B|02A~`zHd`J_5?m%@g?x2Zjd2w35Iu!u}s| zY<`P`dLIYr=S^?V5*O3m!xj~VzsR$VpxeRQVDg#J}BZ@J;5=oh0~pH@C41aNC+)Rxw$s- zZMnSL*^PG3<&TPC8nJwlfvDLq^yr=Iw~BP#?Qe`WEa19*mTze*0*%>{fme2pzv7g6 zUJ9BqSHJTyCD(%SQl3Fp+Z+?b6_$xG-~z2c*`tzjwO0HZP%Mk(hck=af z@;$6;doCDuV87M1%-jw!EXf=)SkW+F5TiFi6@&HH42MTl(VeS{X_MzpZAiH3qFvYc zAnW6l&o0K3iSBL_-??`uFWo{=?&>e<)5!qYJt*&WsOr( zpas+Fltzg+%}LjofP$(*{DBo8e$w`m>qXt=d#jvc?6ldAicgebMnj2 zv7ui)!$Y^kIC`dRf)Z5~)mrvi8Hld?U5{N{dJ7r;P(VWyAf;CF9v^_ zGY2uQ#a(;zbSqsaH|XUHMv;^qqN}Eiwb0k`Du(aU1B7v%LBsTa$u5g(7emcmy3V65 z)z@aK2db61OOmMXYN*MZOWl)8ZlVn>=Zc#GOP`c0wB=0kdPdtxPmN~%t{wb7a!kTu zLeA;rNZIAupy_XKOxVIx78B;}hfG%QM(lu@_>}9zEfEe*YsMk;JFX$~p(E+o$)zi^ z7aS^1y<8pxEyWXCK!CTPmrR}RpCzL_X#7P(uUVbe(=QH(H5vLza6Gs*wJLD}|Xn(a@ zEbD&HoU(yj4$4rmx`nI#gM^l7^1`OJ(%2PqhNybn-;d&rWg~1s7JHecWbOTkbzPH1 zACvN(!Als!ubxgS{co2a?O`qXW?l(+eWW0?>P%UFx+XCI5E}BZRsC`gTeTE_pECcW zRsCF@yqpf(6m$y=JFwr{)T^(Gs$G)4>w}81j}6MC&ADn3GBY_BEk&LxFp=vZ)ZC~x zCcZbbv)yTXT*MDEks7Z0W>|k@^PHInuBMT}LxF9MF$SnRSI!S&v8E0cbo1M=;R?L@ zw-nQ$cXOyn>f+w(6O+-dL+I|+$}Xy5=H24%vL zBmZx12q@C;FgIWPJ@1D%!v0%sef?rR62c}B2_1t0BLm}Fy*?o^Azd-yUSm=5A?>$| z1$-=+`!+})%z{gyAhXLnc88_NgA~i`^tM1`9{(t8juaAX;9drVsEDd$LqA$NXpY*} z+TtUnpnQmk>9NMgMu_h)@}{!Gsyt-@0MLF_4(5t0;%He~^1-kJ`z`cU>!)zA0)6w2 zP}ieCGF%CtW|+e`t`-EATEeN7{QxwfkjAtNk(c1Qs&paf=sBq^cG$qvT0L(a1t$f32VORJ%;G^%ggAs*5ef zHps;6R1x{MPM$}Nj$*Ub+(bXU2U>MaWwGNs1wOCS*8VjjQS#=ycbBeBr{zSa>9XbZ z`|y;*&?aO8Z^z9T&6>uLic{B@OtvNn-TD-ksmY-{+@@giNH9HX!$zA^Z?kLsW=S5lIj#SEUOz?7d|BI0sw)*$nh3G8u zGPpH6OPM_!#rI552&N^h0!7N^m+!P$ejWTvew#^c-6&A`@tbjB19B~I@!Om8I(7ka znszP?ybL)5Qi&SU}1qEEucAARjM8bqyABc@CqqA{zb$ zzN6%lv+-nVIrAxdLD1`o)#3n7>FZ|8K77=Yl9Yidsg7*}8J&UHrN3L%7aTx}D+P3R z=ole>i%YWnId^3~ed}9}R&VmUTDR5RXpiv9^p6`!WOonYU!nf7y)bg8We=Dmi+y;8 zC*P5Xt+gotdQbLSXon7Nu;F@IBJ}}>9WGCr(Y26OJl176kf|NuU1&a(~rvt zmXA9_vX5yhnULn0;vS!A&Qog%uBf^Hty@^_I=gV@phw)c#&6Um;1?BplO^G8JGQrM_fM`xnFhwQav zxN}poA>ORC>blC%_^tFOFP0=4JX2e%If2Hyz}j9ZeMfN-3jbNx@vbpdauNr(@Eee% ztqb0nNplTjEw#zrW9;a8U9%2G1Gix#*W$V#KALkT?;GouQb8zflo3Mz>8sD|9B5Df zdJ+Jc3}4}uR(kS0UgrsqW{>)qmYJ)?=t=B`wVSr!$XXJduH-GviHz4pqC(O$Y$c(? z%w4^GsnYU6% z?UqcskzM$08^aN6hT>*V5EEtWBqU=l$eH!rgWQYy#wI1GtLb3wR*P$2X7me8XB>n? z2W1QN8r#C0*{Th!KaFlmvuWqnJ%g3-yULN8KNr#wx~&sEDqx$)Hl{lf}A~N~a@( zmZpbTQ#6FCt6)lP-|OizozzBVn`46~94)70E;?zJabq>6!4?O>nr-O~{UZ6(RndCJo7!N4FFG6XM_#dFuh( z!`fDUWb^*9=bx9cvq6SQ<@9A2(dI=~;nk;FyfiMB5!1-+3A`)Zb|vwy=diA`@Or~u z``Kf-8_I1jcsswBJeaYi7EwmxK%;Qn*BN*{l%$msH1gb!CZEk~6H!Xo5f#y}- zst9mfbG~a6VSdq}By&rlWU>L355RR`E3TR)Pq~3%TzDhwzs)6-i3(n=(7)LfF%sot)Pr>UxgKY9AEAjt_q?RA=JWS! zuHkxeWBm*fhs7#vs(bTlz+fHxtW-R>fX@9^fp48Wq+dX!!fX?m7jrUJXb;18ylQni>0^XySef!t2y8fP5r3OZo4 z7q3zDY3<8ze}a|3hiXWGPx2Va3eShO_ukr&IL!5OiD9a|1flXhzFxZZn0ud~O1aLd zJ4{Vjs9s=6XPK>N8xdz~Pgk&DX?&&vTp^1(%cjp{zM(Q_xnZU9s}oIM(!DLSroKs% z(W-3Vf~q@MxUf8YF$l-|>oER1jd#=wfsh}ivjjqZuyA1pWJkUHIXyq> zfk2Co($0T+5X8Ushk5w@F-bn^fk0o6ULgefda!U|v-=(n%KOJ;_NWWOU3Bz4AlyX< i3l|nh^DBu17yrf01koqM#|Hq%@E;Srs%N1i{Q4i@%QnIQ literal 0 HcmV?d00001 diff --git a/lib/main.dart b/lib/main.dart new file mode 100644 index 0000000..00ef73e --- /dev/null +++ b/lib/main.dart @@ -0,0 +1,29 @@ +import 'package:flashmorse/screens/splash.dart'; +import 'package:flashmorse/utils/theme.dart'; +import 'package:flutter/material.dart'; + +void main() => runApp(const MyApp()); + +class MyApp extends StatelessWidget { + const MyApp({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + return MaterialApp( + theme: ThemeData( + primaryColor: FlashColors.primary, + colorScheme: ColorScheme.light( + secondary: FlashColors.primary, + ), + appBarTheme: AppBarTheme( + backgroundColor: FlashColors.primary, + elevation: 0, + foregroundColor: Colors.black, + ), + ), + debugShowCheckedModeBanner: false, + title: 'Flash Morse', + home: const FlashSplash(), + ); + } +} diff --git a/lib/screens/converter.dart b/lib/screens/converter.dart new file mode 100644 index 0000000..0c804aa --- /dev/null +++ b/lib/screens/converter.dart @@ -0,0 +1,70 @@ +import 'package:torch_light/torch_light.dart'; + +class XooniMorse { + static const morseCode = { + "A": ".-", + "B": "-...", + "C": "-.-.", + "D": "-..", + "E": ".", + "F": "..-.", + "G": "--.", + "H": "....", + "I": "..", + "J": ".---", + "K": "-.-", + "L": ".-..", + "M": "--", + "N": "-.", + "O": "---", + "P": ".--.", + "Q": "--.-", + "R": ".-.", + "S": "...", + "T": "-", + "U": "..-", + "W": ".--", + "X": "-..-", + "Y": "-.--", + "Z": "--..", + " ": "\t", + "\n": "\n", + }; + + static String convert(String phrase) { + String result = ""; + phrase.toUpperCase().split(" ").forEach((word) { + word.split("").forEach((letter) { + if (morseCode.containsKey(letter)) { + result += morseCode[letter]! + " "; + } + }); + result += " "; + }); + return result; + } + + static Future flashIt(String morse) async { + // flash torch light if letter is - and turn off if letter is . + const short = Duration(milliseconds: 200); + const long = Duration(milliseconds: 500); + + for (int i = 0; i < morse.length; i++) { + if (morse[i] == '-') { + // long flashes + await TorchLight.enableTorch(); + await Future.delayed(long); + await TorchLight.disableTorch(); + await Future.delayed(long); + } else if (morse[i] == '.') { + // short flashes + await TorchLight.enableTorch(); + await Future.delayed(short); + await TorchLight.disableTorch(); + await Future.delayed(short); + } else { + await Future.delayed(long); + } + } + } +} diff --git a/lib/screens/home.dart b/lib/screens/home.dart new file mode 100644 index 0000000..674ab1f --- /dev/null +++ b/lib/screens/home.dart @@ -0,0 +1,181 @@ +import 'package:flashmorse/utils/toast.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:torch_light/torch_light.dart'; + +import 'converter.dart'; + +class FlashHome extends StatefulWidget { + const FlashHome({Key? key}) : super(key: key); + + @override + FlashHomeState createState() => FlashHomeState(); +} + +class FlashHomeState extends State { + final TextEditingController _input = TextEditingController(); + final TextEditingController _output = TextEditingController(); + final FocusNode _inputFocus = FocusNode(); + + bool _alreadyFlashing = false; + + void _setFlashing(bool already) async { + _alreadyFlashing = already; + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: const Text('Flash Morse 🔦'), + actions: [ + IconButton( + onPressed: () { + showAboutDialog( + context: context, + applicationName: 'Flash Morse', + applicationVersion: "1.0.0", + applicationIcon: SizedBox( + child: Image.asset( + "images/icon.png", + fit: BoxFit.cover, + ), + width: 50, + height: 50, + ), + children: [ + const Text( + "Flash Morse is a simple app that allows you to flash your Morse code on your device.", + ), + const SizedBox( + height: 30, + ), + const Text( + "Made with ❤️ by Team Flutter / 83 for the TinkerHub Co-Coder program!", + ), + ], + ); + }, + icon: const Icon( + Icons.info_outline, + ), + ) + ], + ), + body: Column( + children: [ + ListTile( + leading: const Icon(Icons.description_outlined), + title: const Text( + "Enter a word or phrase to translate to Morse code: ", + ), + trailing: IconButton( + onPressed: () { + _input.clear(); + _output.clear(); + }, + icon: const Icon( + Icons.cancel_outlined, + ), + ), + ), + // and an input field to enter a word or phrase + Expanded( + child: TextField( + controller: _input, + focusNode: _inputFocus, + maxLines: 20, + minLines: 20, + textAlignVertical: TextAlignVertical.top, + decoration: const InputDecoration( + contentPadding: EdgeInsets.all(18), + border: UnderlineInputBorder( + borderSide: BorderSide( + color: Colors.black, + width: 2.0, + ), + ), + hintText: 'Type something... ', + alignLabelWithHint: true, + ), + onChanged: (String phrase) { + if (phrase.isEmpty) { + _output.clear(); + return; + } + _output.text = XooniMorse.convert(phrase); + }, + textCapitalization: TextCapitalization.sentences, + ), + ), + const SizedBox( + height: 20, + ), + ListTile( + leading: const Icon(Icons.description_outlined), + title: const Text("Translated Morse code: "), + trailing: IconButton( + onPressed: () { + if (_output.text.trim().isEmpty) { + return showMsg("No translation yet! 😕"); + } + FocusScope.of(context).unfocus(); + Clipboard.setData(ClipboardData(text: _output.text.trim())); + showMsg("Morse code copied to clipboard! 🎉"); + }, + icon: const Icon( + Icons.content_copy, + ), + tooltip: "Copy to clipboard", + ), + ), + + // An output field to show the translated Morse code + Expanded( + child: TextField( + controller: _output, + onTap: () => FocusScope.of(context).unfocus(), + readOnly: true, + maxLines: 20, + minLines: 20, + textAlignVertical: TextAlignVertical.top, + decoration: const InputDecoration( + contentPadding: EdgeInsets.all(18), + border: UnderlineInputBorder( + borderSide: BorderSide( + color: Colors.black, + width: 2.0, + ), + ), + hintText: 'Result... ', + alignLabelWithHint: true, + ), + textCapitalization: TextCapitalization.sentences, + ), + ), + ], + ), + floatingActionButton: FloatingActionButton.extended( + onPressed: () async { + if (_output.text.trim().isEmpty) { + showMsg("Type something to flash! 👀"); + _inputFocus.requestFocus(); + return; + } + if (_alreadyFlashing) { + return showMsg("Already flashing! 🤔"); + } + FocusScope.of(context).unfocus(); + bool x = await TorchLight.isTorchAvailable(); + if (!x) { + return showMsg("Torch is not available!"); + } + _setFlashing(true); + await XooniMorse.flashIt(_output.text.trim()); + _setFlashing(false); + }, + label: const Text("Flash 🔦"), + ), + ); + } +} diff --git a/lib/screens/splash.dart b/lib/screens/splash.dart new file mode 100644 index 0000000..2019c30 --- /dev/null +++ b/lib/screens/splash.dart @@ -0,0 +1,22 @@ +import 'package:animated_splash_screen/animated_splash_screen.dart'; +import 'package:flashmorse/screens/home.dart'; +import 'package:flutter/material.dart'; + +class FlashSplash extends StatelessWidget { + const FlashSplash({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + return AnimatedSplashScreen( + splash: ClipRRect( + borderRadius: BorderRadius.circular(2000), + child: Image.asset( + "images/icon.png", + fit: BoxFit.cover, + width: 200, + ), + ), + nextScreen: const FlashHome(), + ); + } +} diff --git a/lib/utils/theme.dart b/lib/utils/theme.dart new file mode 100644 index 0000000..6547fd9 --- /dev/null +++ b/lib/utils/theme.dart @@ -0,0 +1,6 @@ +import 'package:flutter/material.dart'; + +class FlashColors { + static Color get primary => const Color(0xFFF5F5B3); + static Color get orange => const Color(0xFFFFB454); +} diff --git a/lib/utils/toast.dart b/lib/utils/toast.dart new file mode 100644 index 0000000..5014656 --- /dev/null +++ b/lib/utils/toast.dart @@ -0,0 +1,5 @@ +import 'package:fluttertoast/fluttertoast.dart'; + +void showMsg(String msg) { + Fluttertoast.showToast(msg: msg); +} diff --git a/pubspec.lock b/pubspec.lock new file mode 100644 index 0000000..0fe6d7f --- /dev/null +++ b/pubspec.lock @@ -0,0 +1,215 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + animated_splash_screen: + dependency: "direct main" + description: + name: animated_splash_screen + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0" + async: + dependency: transitive + description: + name: async + url: "https://pub.dartlang.org" + source: hosted + version: "2.8.2" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + characters: + dependency: transitive + description: + name: characters + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0" + charcode: + dependency: transitive + description: + name: charcode + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.1" + clock: + dependency: transitive + description: + name: clock + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0" + collection: + dependency: transitive + description: + name: collection + url: "https://pub.dartlang.org" + source: hosted + version: "1.15.0" + cupertino_icons: + dependency: "direct main" + description: + name: cupertino_icons + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.4" + fake_async: + dependency: transitive + description: + name: fake_async + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.4" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + flutter_web_plugins: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + fluttertoast: + dependency: "direct main" + description: + name: fluttertoast + url: "https://pub.dartlang.org" + source: hosted + version: "8.0.9" + js: + dependency: transitive + description: + name: js + url: "https://pub.dartlang.org" + source: hosted + version: "0.6.3" + lints: + dependency: transitive + description: + name: lints + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.1" + matcher: + dependency: transitive + description: + name: matcher + url: "https://pub.dartlang.org" + source: hosted + version: "0.12.11" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + url: "https://pub.dartlang.org" + source: hosted + version: "0.1.3" + meta: + dependency: transitive + description: + name: meta + url: "https://pub.dartlang.org" + source: hosted + version: "1.7.0" + page_transition: + dependency: transitive + description: + name: page_transition + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.5" + path: + dependency: transitive + description: + name: path + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.0" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_span: + dependency: transitive + description: + name: source_span + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.1" + stack_trace: + dependency: transitive + description: + name: stack_trace + url: "https://pub.dartlang.org" + source: hosted + version: "1.10.0" + stream_channel: + dependency: transitive + description: + name: stream_channel + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + string_scanner: + dependency: transitive + description: + name: string_scanner + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0" + term_glyph: + dependency: transitive + description: + name: term_glyph + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0" + test_api: + dependency: transitive + description: + name: test_api + url: "https://pub.dartlang.org" + source: hosted + version: "0.4.8" + torch_light: + dependency: "direct main" + description: + name: torch_light + url: "https://pub.dartlang.org" + source: hosted + version: "0.4.0" + typed_data: + dependency: transitive + description: + name: typed_data + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.0" + vector_math: + dependency: transitive + description: + name: vector_math + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.1" +sdks: + dart: ">=2.16.1 <3.0.0" + flutter: ">=1.20.0" diff --git a/pubspec.yaml b/pubspec.yaml new file mode 100644 index 0000000..93d0590 --- /dev/null +++ b/pubspec.yaml @@ -0,0 +1,26 @@ +name: flashmorse +description: Simple Morse Code Flasher App + +publish_to: 'none' +version: 1.0.0+1 + +environment: + sdk: ">=2.16.1 <3.0.0" + +dependencies: + flutter: + sdk: flutter + cupertino_icons: ^1.0.2 + torch_light: ^0.4.0 + fluttertoast: ^8.0.9 + animated_splash_screen: ^1.2.0 + +dev_dependencies: + flutter_test: + sdk: flutter + flutter_lints: ^1.0.0 + +flutter: + uses-material-design: true + assets: + - images/ diff --git a/test/widget_test.dart b/test/widget_test.dart new file mode 100644 index 0000000..ebd1668 --- /dev/null +++ b/test/widget_test.dart @@ -0,0 +1,30 @@ +// This is a basic Flutter widget test. +// +// To perform an interaction with a widget in your test, use the WidgetTester +// utility that Flutter provides. For example, you can send tap and scroll +// gestures. You can also use WidgetTester to find child widgets in the widget +// tree, read text, and verify that the values of widget properties are correct. + +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import 'package:flashmorse/main.dart'; + +void main() { + testWidgets('Counter increments smoke test', (WidgetTester tester) async { + // Build our app and trigger a frame. + await tester.pumpWidget(const MyApp()); + + // Verify that our counter starts at 0. + expect(find.text('0'), findsOneWidget); + expect(find.text('1'), findsNothing); + + // Tap the '+' icon and trigger a frame. + await tester.tap(find.byIcon(Icons.add)); + await tester.pump(); + + // Verify that our counter has incremented. + expect(find.text('0'), findsNothing); + expect(find.text('1'), findsOneWidget); + }); +}