diff --git a/.idea/libraries/Dart_Packages.xml b/.idea/libraries/Dart_Packages.xml
index 7461e43..b6de5cc 100644
--- a/.idea/libraries/Dart_Packages.xml
+++ b/.idea/libraries/Dart_Packages.xml
@@ -5,63 +5,63 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -89,126 +89,133 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -222,56 +229,56 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -285,171 +292,180 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.idea/libraries/Flutter_Plugins.xml b/.idea/libraries/Flutter_Plugins.xml
index 1322da4..dcfea84 100644
--- a/.idea/libraries/Flutter_Plugins.xml
+++ b/.idea/libraries/Flutter_Plugins.xml
@@ -2,7 +2,7 @@
-
+
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index f4f13bd..b09ad33 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -6,29 +6,24 @@
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
@@ -43,12 +38,27 @@
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -56,21 +66,17 @@
-
-
-
+
+
-
+
-
-
-
-
-
+
+
@@ -78,9 +84,8 @@
-
-
-
+
+
@@ -88,9 +93,8 @@
-
-
-
+
+
@@ -98,9 +102,11 @@
-
-
-
+
+
+
+
+
@@ -108,8 +114,8 @@
-
-
+
+
@@ -117,6 +123,15 @@
+
+
+
+
+
+
+
+
+
@@ -129,7 +144,6 @@
- tablena
void _getTasks()
getTab
_getTasks()
@@ -159,6 +173,7 @@
onnewtasksave
detailsbut
stack
+ package:tasks
pendingTaskList
@@ -176,11 +191,6 @@
-
-
-
-
-
-
-
-
+
+
+
+
@@ -245,68 +254,46 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
@@ -315,11 +302,11 @@
-
-
-
+
+
+
@@ -345,8 +332,6 @@
-
-
@@ -356,38 +341,16 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -400,15 +363,12 @@
-
-
-
@@ -431,9 +391,6 @@
-
-
-
@@ -448,74 +405,74 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -523,23 +480,14 @@
-
+
-
-
-
-
-
-
-
-
-
-
+
@@ -547,16 +495,17 @@
-
-
-
+
+
+
+
-
+
@@ -564,16 +513,17 @@
-
-
-
+
+
+
+
-
+
@@ -581,9 +531,10 @@
-
-
-
+
+
+
+
@@ -592,8 +543,10 @@
-
-
+
+
+
+
@@ -601,216 +554,203 @@
-
-
-
+
+
+
+
-
-
-
+
+
+
+
-
-
-
+
-
-
-
+
-
-
-
+
-
-
-
+
-
-
+
+
-
-
-
+
-
-
-
+
-
+
-
-
+
+
-
-
-
+
-
+
-
-
-
-
+
-
+
-
-
+
+
-
+
+
-
-
+
+
-
+
-
-
-
+
+
-
+
-
-
-
+
+
-
+
-
-
-
+
+
-
-
+
-
-
+
+
-
+
+
-
-
+
+
+
+
+
-
+
-
-
+
+
-
+
-
-
-
+
+
-
+
-
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
-
+
+
+
+
+
+
-
+
-
-
+
+
-
+
diff --git a/assets/images/completed.png b/assets/images/completed.png
new file mode 100644
index 0000000..43c6dae
Binary files /dev/null and b/assets/images/completed.png differ
diff --git a/assets/images/new_list.png b/assets/images/new_list.png
new file mode 100644
index 0000000..0c842f9
Binary files /dev/null and b/assets/images/new_list.png differ
diff --git a/flutter_01.log b/flutter_01.log
new file mode 100644
index 0000000..4c4d47c
--- /dev/null
+++ b/flutter_01.log
@@ -0,0 +1,101 @@
+Flutter crash report; please file at https://github.com/flutter/flutter/issues.
+
+## command
+
+flutter packages get
+
+## exception
+
+YamlException: Error on line 47, column 3: Expected ':'.
+ # An image asset can refer to one or more resolution-specific "variants", see
+ ^
+
+```
+#0 Scanner._staleSimpleKeys (package:yaml/src/scanner.dart:491:9)
+#1 Scanner._fetchMoreTokens (package:yaml/src/scanner.dart:325:9)
+#2 Scanner.peek (package:yaml/src/scanner.dart:317:27)
+#3 Parser._parseBlockSequenceEntry (package:yaml/src/parser.dart:355:26)
+#4 Parser._stateMachine (package:yaml/src/parser.dart:77:16)
+#5 Parser.parse (package:yaml/src/parser.dart:47:19)
+#6 Loader._loadSequence (package:yaml/src/loader.dart:142:23)
+#7 Loader._loadNode (package:yaml/src/loader.dart:84:16)
+#8 Loader._loadMapping (package:yaml/src/loader.dart:165:19)
+#9 Loader._loadNode (package:yaml/src/loader.dart:86:16)
+#10 Loader._loadMapping (package:yaml/src/loader.dart:165:19)
+#11 Loader._loadNode (package:yaml/src/loader.dart:86:16)
+#12 Loader._loadDocument (package:yaml/src/loader.dart:62:20)
+#13 Loader.load (package:yaml/src/loader.dart:54:20)
+#14 loadYamlDocument (package:yaml/yaml.dart:51:25)
+#15 loadYamlNode (package:yaml/yaml.dart:42:5)
+#16 loadYaml (package:yaml/yaml.dart:34:5)
+#17 FlutterManifest.createFromString (package:flutter_tools/src/flutter_manifest.dart:42:28)
+
+#18 FlutterManifest.createFromPath (package:flutter_tools/src/flutter_manifest.dart:36:12)
+
+#19 FlutterProject._readManifest (package:flutter_tools/src/project.dart:128:60)
+
+#20 FlutterProject.fromDirectory (package:flutter_tools/src/project.dart:42:44)
+
+#21 FlutterProject.fromPath (package:flutter_tools/src/project.dart:57:58)
+#22 PackagesGetCommand.runCommand (package:flutter_tools/src/commands/packages.dart:83:61)
+
+#23 FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:383:18)
+#24 _asyncThenWrapperHelper. (dart:async/runtime/libasync_patch.dart:77:64)
+#25 _rootRunUnary (dart:async/zone.dart:1132:38)
+#26 _CustomZone.runUnary (dart:async/zone.dart:1029:19)
+#27 _FutureListener.handleValue (dart:async/future_impl.dart:129:18)
+#28 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:642:45)
+#29 Future._propagateToListeners (dart:async/future_impl.dart:671:32)
+#30 Future._complete (dart:async/future_impl.dart:476:7)
+#31 _SyncCompleter.complete (dart:async/future_impl.dart:51:12)
+#32 _AsyncAwaitCompleter.complete. (dart:async/runtime/libasync_patch.dart:33:20)
+#33 _rootRun (dart:async/zone.dart:1124:13)
+#34 _CustomZone.run (dart:async/zone.dart:1021:19)
+#35 _CustomZone.bindCallback. (dart:async/zone.dart:947:23)
+#36 _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
+#37 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
+#38 _runPendingImmediateCallback (dart:isolate/runtime/libisolate_patch.dart:115:13)
+#39 _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:172:5)
+```
+
+## flutter doctor
+
+```
+[✓] Flutter (Channel beta, v0.10.2, on Mac OS X 10.13.6 17G3025, locale en-US)
+ • Flutter version 0.10.2 at /Users/developer/flutter
+ • Framework revision d8cbb80206 (3 weeks ago), 2018-10-26 01:30:21 -0400
+ • Engine revision 6c2ade9fa2
+ • Dart version 2.1.0-dev.8.0.flutter-bf26f760b1
+
+[✓] Android toolchain - develop for Android devices (Android SDK 28.0.3)
+ • Android SDK at /Users/developer/Library/Android/sdk
+ • Android NDK location not configured (optional; useful for native profiling support)
+ • Platform android-28, build-tools 28.0.3
+ • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
+ • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)
+ • All Android licenses accepted.
+
+[!] iOS toolchain - develop for iOS devices (Xcode 10.1)
+ • Xcode at /Applications/Xcode.app/Contents/Developer
+ • Xcode 10.1, Build version 10B61
+ ✗ libimobiledevice and ideviceinstaller are not installed. To install, run:
+ brew install --HEAD libimobiledevice
+ brew install ideviceinstaller
+ • ios-deploy 1.9.2
+ • CocoaPods version 1.5.3
+
+[✓] Android Studio (version 3.2)
+ • Android Studio at /Applications/Android Studio.app/Contents
+ • Flutter plugin version 30.0.1
+ • Dart plugin version 181.5656
+ • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)
+
+[✓] VS Code (version 1.28.2)
+ • VS Code at /Applications/Visual Studio Code.app/Contents
+ • Flutter extension version 2.20.0
+
+[✓] Connected device (1 available)
+ • iPhone XR • 8740478D-307D-484F-BF6D-0C7D1967344D • ios • iOS 12.1 (simulator)
+
+! Doctor found issues in 1 category.
+```
diff --git a/ios/Flutter/Debug.xcconfig b/ios/Flutter/Debug.xcconfig
index 0b2d479..c242b3d 100644
--- a/ios/Flutter/Debug.xcconfig
+++ b/ios/Flutter/Debug.xcconfig
@@ -1 +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
index 0b2d479..6f07b31 100644
--- a/ios/Flutter/Release.xcconfig
+++ b/ios/Flutter/Release.xcconfig
@@ -1 +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..7c6cb6f
--- /dev/null
+++ b/ios/Podfile
@@ -0,0 +1,63 @@
+# 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'
+
+def parse_KV_file(file, separator='=')
+ file_abs_path = File.expand_path(file)
+ if !File.exists? file_abs_path
+ return [];
+ end
+ pods_ary = []
+ skip_line_start_symbols = ["#", "/"]
+ File.foreach(file_abs_path) { |line|
+ next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ }
+ plugin = line.split(pattern=separator)
+ if plugin.length == 2
+ podname = plugin[0].strip()
+ path = plugin[1].strip()
+ podpath = File.expand_path("#{path}", file_abs_path)
+ pods_ary.push({:name => podname, :path => podpath});
+ else
+ puts "Invalid plugin specification: #{line}"
+ end
+ }
+ return pods_ary
+end
+
+target 'Runner' do
+ # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock
+ # referring to absolute paths on developers' machines.
+ system('rm -rf .symlinks')
+ system('mkdir -p .symlinks/plugins')
+
+ # Flutter Pods
+ generated_xcode_build_settings = parse_KV_file('./Flutter/Generated.xcconfig')
+ if generated_xcode_build_settings.empty?
+ puts "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter packages get is executed first."
+ end
+ generated_xcode_build_settings.map { |p|
+ if p[:name] == 'FLUTTER_FRAMEWORK_DIR'
+ symlink = File.join('.symlinks', 'flutter')
+ File.symlink(File.dirname(p[:path]), symlink)
+ pod 'Flutter', :path => File.join(symlink, File.basename(p[:path]))
+ end
+ }
+
+ # Plugin Pods
+ plugin_pods = parse_KV_file('../.flutter-plugins')
+ plugin_pods.map { |p|
+ symlink = File.join('.symlinks', 'plugins', p[:name])
+ File.symlink(p[:path], symlink)
+ pod p[:name], :path => File.join(symlink, 'ios')
+ }
+end
+
+post_install do |installer|
+ installer.pods_project.targets.each do |target|
+ target.build_configurations.each do |config|
+ config.build_settings['ENABLE_BITCODE'] = 'NO'
+ end
+ end
+end
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
new file mode 100644
index 0000000..d9e59d9
--- /dev/null
+++ b/ios/Podfile.lock
@@ -0,0 +1,37 @@
+PODS:
+ - Flutter (1.0.0)
+ - FMDB (2.7.5):
+ - FMDB/standard (= 2.7.5)
+ - FMDB/standard (2.7.5)
+ - path_provider (0.0.1):
+ - Flutter
+ - sqflite (0.0.1):
+ - Flutter
+ - FMDB (~> 2.7.2)
+
+DEPENDENCIES:
+ - Flutter (from `.symlinks/flutter/ios`)
+ - path_provider (from `.symlinks/plugins/path_provider/ios`)
+ - sqflite (from `.symlinks/plugins/sqflite/ios`)
+
+SPEC REPOS:
+ https://github.com/cocoapods/specs.git:
+ - FMDB
+
+EXTERNAL SOURCES:
+ Flutter:
+ :path: ".symlinks/flutter/ios"
+ path_provider:
+ :path: ".symlinks/plugins/path_provider/ios"
+ sqflite:
+ :path: ".symlinks/plugins/sqflite/ios"
+
+SPEC CHECKSUMS:
+ Flutter: 9d0fac939486c9aba2809b7982dfdbb47a7b0296
+ FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
+ path_provider: 09407919825bfe3c2deae39453b7a5b44f467873
+ sqflite: 801b6b0983f722fa29baf00d1476e4556ada6de4
+
+PODFILE CHECKSUM: 1e5af4103afd21ca5ead147d7b81d06f494f51a2
+
+COCOAPODS: 1.5.3
diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj
index c643ab1..b821459 100644
--- a/ios/Runner.xcodeproj/project.pbxproj
+++ b/ios/Runner.xcodeproj/project.pbxproj
@@ -1,438 +1,506 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 46;
- objects = {
-
-/* Begin PBXBuildFile section */
- 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
- 2D5378261FAA1A9400D5DBA9 /* flutter_assets in Resources */ = {isa = PBXBuildFile; fileRef = 2D5378251FAA1A9400D5DBA9 /* flutter_assets */; };
- 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
- 3B80C3941E831B6300D905FE /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; };
- 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
- 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; };
- 9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
- 9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9740EEB21CF90195004384FC /* Debug.xcconfig */; };
- 9740EEB51CF90195004384FC /* Generated.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9740EEB31CF90195004384FC /* Generated.xcconfig */; };
- 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; };
- 97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; };
- 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 */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXCopyFilesBuildPhase section */
- 9705A1C41CF9048500538489 /* Embed Frameworks */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 2147483647;
- dstPath = "";
- dstSubfolderSpec = 10;
- files = (
- 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */,
- 9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */,
- );
- 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 = ""; };
- 2D5378251FAA1A9400D5DBA9 /* flutter_assets */ = {isa = PBXFileReference; lastKnownFileType = folder; name = flutter_assets; path = Flutter/flutter_assets; sourceTree = SOURCE_ROOT; };
- 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; };
- 3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = ""; };
- 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; };
- 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
- 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; 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 = ""; };
- 9740EEBA1CF902C7004384FC /* Flutter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Flutter.framework; path = Flutter/Flutter.framework; sourceTree = ""; };
- 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
- 97C146F21CF9000F007C117D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
- 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 = ""; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- 97C146EB1CF9000F007C117D /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */,
- 3B80C3941E831B6300D905FE /* App.framework in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 9740EEB11CF90186004384FC /* Flutter */ = {
- isa = PBXGroup;
- children = (
- 2D5378251FAA1A9400D5DBA9 /* flutter_assets */,
- 3B80C3931E831B6300D905FE /* App.framework */,
- 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
- 9740EEBA1CF902C7004384FC /* Flutter.framework */,
- 9740EEB21CF90195004384FC /* Debug.xcconfig */,
- 7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
- 9740EEB31CF90195004384FC /* Generated.xcconfig */,
- );
- name = Flutter;
- sourceTree = "";
- };
- 97C146E51CF9000F007C117D = {
- isa = PBXGroup;
- children = (
- 9740EEB11CF90186004384FC /* Flutter */,
- 97C146F01CF9000F007C117D /* Runner */,
- 97C146EF1CF9000F007C117D /* Products */,
- CF3B75C9A7D2FA2A4C99F110 /* Frameworks */,
- );
- sourceTree = "";
- };
- 97C146EF1CF9000F007C117D /* Products */ = {
- isa = PBXGroup;
- children = (
- 97C146EE1CF9000F007C117D /* Runner.app */,
- );
- name = Products;
- sourceTree = "";
- };
- 97C146F01CF9000F007C117D /* Runner */ = {
- isa = PBXGroup;
- children = (
- 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */,
- 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */,
- 97C146FA1CF9000F007C117D /* Main.storyboard */,
- 97C146FD1CF9000F007C117D /* Assets.xcassets */,
- 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
- 97C147021CF9000F007C117D /* Info.plist */,
- 97C146F11CF9000F007C117D /* Supporting Files */,
- 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
- 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
- );
- path = Runner;
- sourceTree = "";
- };
- 97C146F11CF9000F007C117D /* Supporting Files */ = {
- isa = PBXGroup;
- children = (
- 97C146F21CF9000F007C117D /* main.m */,
- );
- name = "Supporting Files";
- sourceTree = "";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- 97C146ED1CF9000F007C117D /* Runner */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
- buildPhases = (
- 9740EEB61CF901F6004384FC /* Run Script */,
- 97C146EA1CF9000F007C117D /* Sources */,
- 97C146EB1CF9000F007C117D /* Frameworks */,
- 97C146EC1CF9000F007C117D /* Resources */,
- 9705A1C41CF9048500538489 /* Embed Frameworks */,
- 3B06AD1E1E4923F5004D2608 /* Thin Binary */,
- );
- 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 = 0910;
- ORGANIZATIONNAME = "The Chromium Authors";
- TargetAttributes = {
- 97C146ED1CF9000F007C117D = {
- CreatedOnToolsVersion = 7.3.1;
- };
- };
- };
- buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
- compatibilityVersion = "Xcode 3.2";
- developmentRegion = English;
- 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 */,
- 9740EEB51CF90195004384FC /* Generated.xcconfig in Resources */,
- 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
- 9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */,
- 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
- 2D5378261FAA1A9400D5DBA9 /* flutter_assets in Resources */,
- 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXShellScriptBuildPhase section */
- 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\" 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";
- };
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
- 97C146EA1CF9000F007C117D /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */,
- 97C146F31CF9000F007C117D /* main.m 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 */
- 97C147031CF9000F007C117D /* Debug */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
- 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_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_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 = 8.0;
- MTL_ENABLE_DEBUG_INFO = YES;
- ONLY_ACTIVE_ARCH = YES;
- SDKROOT = iphoneos;
- TARGETED_DEVICE_FAMILY = "1,2";
- };
- name = Debug;
- };
- 97C147041CF9000F007C117D /* Release */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
- 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_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_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 = 8.0;
- MTL_ENABLE_DEBUG_INFO = NO;
- SDKROOT = iphoneos;
- TARGETED_DEVICE_FAMILY = "1,2";
- VALIDATE_PRODUCT = YES;
- };
- name = Release;
- };
- 97C147061CF9000F007C117D /* Debug */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
- buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- CURRENT_PROJECT_VERSION = 1;
- ENABLE_BITCODE = NO;
- FRAMEWORK_SEARCH_PATHS = (
- "$(inherited)",
- "$(PROJECT_DIR)/Flutter",
- );
- INFOPLIST_FILE = Runner/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(PROJECT_DIR)/Flutter",
- );
- PRODUCT_BUNDLE_IDENTIFIER = io.github.thelazyindian.tasks;
- PRODUCT_NAME = "$(TARGET_NAME)";
- VERSIONING_SYSTEM = "apple-generic";
- };
- name = Debug;
- };
- 97C147071CF9000F007C117D /* Release */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
- buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- CURRENT_PROJECT_VERSION = 1;
- ENABLE_BITCODE = NO;
- FRAMEWORK_SEARCH_PATHS = (
- "$(inherited)",
- "$(PROJECT_DIR)/Flutter",
- );
- INFOPLIST_FILE = Runner/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "$(PROJECT_DIR)/Flutter",
- );
- PRODUCT_BUNDLE_IDENTIFIER = io.github.thelazyindian.tasks;
- PRODUCT_NAME = "$(TARGET_NAME)";
- 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 */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 97C147061CF9000F007C117D /* Debug */,
- 97C147071CF9000F007C117D /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 97C146E61CF9000F007C117D /* Project object */;
-}
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
+ 2D5378261FAA1A9400D5DBA9 /* flutter_assets in Resources */ = {isa = PBXBuildFile; fileRef = 2D5378251FAA1A9400D5DBA9 /* flutter_assets */; };
+ 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
+ 3B80C3941E831B6300D905FE /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; };
+ 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
+ 8622989EDE39C571F1D63599 /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 65B07F8E60686D358073FE50 /* libPods-Runner.a */; };
+ 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; };
+ 9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
+ 9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9740EEB21CF90195004384FC /* Debug.xcconfig */; };
+ 9740EEB51CF90195004384FC /* Generated.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9740EEB31CF90195004384FC /* Generated.xcconfig */; };
+ 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; };
+ 97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; };
+ 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 */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ 9705A1C41CF9048500538489 /* Embed Frameworks */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */,
+ 9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */,
+ );
+ 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 = ""; };
+ 2D5378251FAA1A9400D5DBA9 /* flutter_assets */ = {isa = PBXFileReference; lastKnownFileType = folder; name = flutter_assets; path = Flutter/flutter_assets; sourceTree = SOURCE_ROOT; };
+ 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; };
+ 3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = ""; };
+ 65B07F8E60686D358073FE50 /* libPods-Runner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Runner.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; };
+ 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
+ 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; 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 = ""; };
+ 9740EEBA1CF902C7004384FC /* Flutter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Flutter.framework; path = Flutter/Flutter.framework; sourceTree = ""; };
+ 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 97C146F21CF9000F007C117D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
+ 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 = ""; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 97C146EB1CF9000F007C117D /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */,
+ 3B80C3941E831B6300D905FE /* App.framework in Frameworks */,
+ 8622989EDE39C571F1D63599 /* libPods-Runner.a in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 0244B7B9A1774AB64D07371A /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ );
+ name = Pods;
+ sourceTree = "";
+ };
+ 1EEA5ACB56F256EFCD06DBF9 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 65B07F8E60686D358073FE50 /* libPods-Runner.a */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
+ 9740EEB11CF90186004384FC /* Flutter */ = {
+ isa = PBXGroup;
+ children = (
+ 2D5378251FAA1A9400D5DBA9 /* flutter_assets */,
+ 3B80C3931E831B6300D905FE /* App.framework */,
+ 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
+ 9740EEBA1CF902C7004384FC /* Flutter.framework */,
+ 9740EEB21CF90195004384FC /* Debug.xcconfig */,
+ 7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
+ 9740EEB31CF90195004384FC /* Generated.xcconfig */,
+ );
+ name = Flutter;
+ sourceTree = "";
+ };
+ 97C146E51CF9000F007C117D = {
+ isa = PBXGroup;
+ children = (
+ 9740EEB11CF90186004384FC /* Flutter */,
+ 97C146F01CF9000F007C117D /* Runner */,
+ 97C146EF1CF9000F007C117D /* Products */,
+ 0244B7B9A1774AB64D07371A /* Pods */,
+ 1EEA5ACB56F256EFCD06DBF9 /* Frameworks */,
+ );
+ sourceTree = "";
+ };
+ 97C146EF1CF9000F007C117D /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 97C146EE1CF9000F007C117D /* Runner.app */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 97C146F01CF9000F007C117D /* Runner */ = {
+ isa = PBXGroup;
+ children = (
+ 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */,
+ 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */,
+ 97C146FA1CF9000F007C117D /* Main.storyboard */,
+ 97C146FD1CF9000F007C117D /* Assets.xcassets */,
+ 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
+ 97C147021CF9000F007C117D /* Info.plist */,
+ 97C146F11CF9000F007C117D /* Supporting Files */,
+ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
+ 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
+ );
+ path = Runner;
+ sourceTree = "";
+ };
+ 97C146F11CF9000F007C117D /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 97C146F21CF9000F007C117D /* main.m */,
+ );
+ name = "Supporting Files";
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 97C146ED1CF9000F007C117D /* Runner */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
+ buildPhases = (
+ 78B378F4A02D032B881E5BC5 /* [CP] Check Pods Manifest.lock */,
+ 9740EEB61CF901F6004384FC /* Run Script */,
+ 97C146EA1CF9000F007C117D /* Sources */,
+ 97C146EB1CF9000F007C117D /* Frameworks */,
+ 97C146EC1CF9000F007C117D /* Resources */,
+ 9705A1C41CF9048500538489 /* Embed Frameworks */,
+ 3B06AD1E1E4923F5004D2608 /* Thin Binary */,
+ 8A69D6C2406943101D36D83E /* [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 = 0910;
+ ORGANIZATIONNAME = "The Chromium Authors";
+ TargetAttributes = {
+ 97C146ED1CF9000F007C117D = {
+ CreatedOnToolsVersion = 7.3.1;
+ DevelopmentTeam = 9FK3425VTA;
+ };
+ };
+ };
+ buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ 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 */,
+ 9740EEB51CF90195004384FC /* Generated.xcconfig in Resources */,
+ 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
+ 9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */,
+ 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
+ 2D5378261FAA1A9400D5DBA9 /* flutter_assets in Resources */,
+ 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+ 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\" thin";
+ };
+ 78B378F4A02D032B881E5BC5 /* [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;
+ };
+ 8A69D6C2406943101D36D83E /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ "${SRCROOT}/Pods/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
+ "${PODS_ROOT}/../.symlinks/flutter/ios/Flutter.framework",
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Flutter.framework",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ 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";
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 97C146EA1CF9000F007C117D /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */,
+ 97C146F31CF9000F007C117D /* main.m 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 */
+ 97C147031CF9000F007C117D /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
+ 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_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_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 = 8.0;
+ MTL_ENABLE_DEBUG_INFO = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = Debug;
+ };
+ 97C147041CF9000F007C117D /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
+ 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_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_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 = 8.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VALIDATE_PRODUCT = YES;
+ };
+ name = Release;
+ };
+ 97C147061CF9000F007C117D /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CURRENT_PROJECT_VERSION = 1;
+ DEVELOPMENT_TEAM = 9FK3425VTA;
+ ENABLE_BITCODE = NO;
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)/Flutter",
+ );
+ INFOPLIST_FILE = Runner/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)/Flutter",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = io.github.thelazyindian.tasks;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ VERSIONING_SYSTEM = "apple-generic";
+ };
+ name = Debug;
+ };
+ 97C147071CF9000F007C117D /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CURRENT_PROJECT_VERSION = 1;
+ DEVELOPMENT_TEAM = 9FK3425VTA;
+ ENABLE_BITCODE = NO;
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)/Flutter",
+ );
+ INFOPLIST_FILE = Runner/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)/Flutter",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = io.github.thelazyindian.tasks;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ 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 */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 97C147061CF9000F007C117D /* Debug */,
+ 97C147071CF9000F007C117D /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 97C146E61CF9000F007C117D /* Project object */;
+}
diff --git a/ios/Runner.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcworkspace/contents.xcworkspacedata
index 59c6d39..21a3cc1 100644
--- a/ios/Runner.xcworkspace/contents.xcworkspacedata
+++ b/ios/Runner.xcworkspace/contents.xcworkspacedata
@@ -1,7 +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..949b678
--- /dev/null
+++ b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
@@ -0,0 +1,8 @@
+
+
+
+
+ BuildSystemType
+ Original
+
+
diff --git a/lib/containers/app_bar/main_list.dart b/lib/containers/app_bar/main_list.dart
new file mode 100644
index 0000000..4c65271
--- /dev/null
+++ b/lib/containers/app_bar/main_list.dart
@@ -0,0 +1,28 @@
+import 'package:flutter/material.dart';
+
+class MainListAppBar extends StatelessWidget {
+ final String name;
+ MainListAppBar({this.name});
+ @override
+ Widget build(BuildContext context) {
+ return SliverAppBar(
+ backgroundColor: Colors.white,
+ expandedHeight: 85.0,
+ floating: false,
+ snap: false,
+ elevation: 0.0,
+ flexibleSpace: FlexibleSpaceBar(
+ title: (name != "" && name != null)
+ ? Text(
+ name,
+ style: TextStyle(
+ color: Colors.black,
+ fontSize: 25.0,
+ fontWeight: FontWeight.w400,
+ ),
+ )
+ : Text(""),
+ ),
+ );
+ }
+}
diff --git a/lib/containers/bottom_sheet/menu.dart b/lib/containers/bottom_sheet/menu.dart
new file mode 100644
index 0000000..41d7480
--- /dev/null
+++ b/lib/containers/bottom_sheet/menu.dart
@@ -0,0 +1,182 @@
+import 'package:flutter/material.dart';
+
+class MenuWidget extends StatelessWidget {
+ final List listNames;
+ final String activeList;
+ final ValueChanged listChange;
+ final VoidCallback createList;
+ MenuWidget(
+ {this.listNames, this.listChange, this.createList, this.activeList});
+ @override
+ Widget build(BuildContext context) {
+ return Container(
+ //height: 530.0,
+ decoration: BoxDecoration(
+ color: Colors.white,
+ borderRadius: BorderRadius.only(
+ topLeft: const Radius.circular(10.0),
+ topRight: const Radius.circular(10.0),
+ ),
+ ),
+ child: SafeArea(
+ child: Column(
+ mainAxisSize: MainAxisSize.min,
+ //mainAxisAlignment: MainAxisAlignment.end,
+ children: [
+ // UserAccountsDrawerHeader(
+ // currentAccountPicture: DecoratedBox(
+ // decoration: BoxDecoration(
+ // image: DecorationImage(
+ // image: AssetImage("assets/user/satya_profile.png"),
+ // ),
+ // ),
+ // ),
+ // margin: EdgeInsets.all(0.0),
+ // accountEmail: Text(
+ // "satyabrat.me@gmail.com",
+ // style: TextStyle(
+ // color: Colors.black,
+ // ),
+ // ),
+ // accountName: Text(
+ // "Satyabrat Sahoo",
+ // style: TextStyle(
+ // color: Colors.black,
+ // ),
+ // ),
+ // decoration: BoxDecoration(
+ // color: Colors.white,
+ // ),
+ // ),
+ Divider(
+ height: 4.0,
+ indent: 2.0,
+ ),
+ SizedBox(
+ height: listNames.length > 3 ? 200.0 : null,
+ child: Scrollbar(
+ child: ListView.builder(
+ shrinkWrap: true,
+ itemCount: listNames.length,
+ itemBuilder: (context, index) {
+ final _listItem = listNames[index];
+ return GestureDetector(
+ onTap: () {
+ listChange(_listItem);
+ Navigator.pop(context);
+ },
+ child: Padding(
+ child: DecoratedBox(
+ decoration: BoxDecoration(
+ color: (activeList == _listItem)
+ ? Color(0x4D90CAF9)
+ : Colors.white,
+ borderRadius: BorderRadius.only(
+ topRight: Radius.circular(30.0),
+ bottomRight: Radius.circular(30.0),
+ ),
+ ),
+ child: ListTile(
+ selected: true,
+ title: Text(
+ _listItem,
+ style: TextStyle(
+ color: (activeList == _listItem)
+ ? Colors.blueAccent
+ : Colors.black,
+ fontWeight: FontWeight.w700,
+ ),
+ ),
+ ),
+ ),
+ padding: EdgeInsets.only(
+ // left: 8.0,
+ top: 8.0,
+ bottom: 8.0,
+ right: 10.0),
+ ),
+ );
+ }),
+ ),
+ ),
+ Divider(
+ height: 4.0,
+ ),
+ ListTile(
+ leading: Icon(
+ Icons.add,
+ ),
+ title: Text(
+ "Create list",
+ style: TextStyle(
+ fontWeight: FontWeight.w700,
+ ),
+ ),
+ onTap: createList,
+ ),
+ Divider(
+ height: 4.0,
+ ),
+ ListTile(
+ leading: Icon(
+ Icons.feedback,
+ ),
+ title: Text(
+ "Send feedback",
+ style: TextStyle(
+ fontWeight: FontWeight.w700,
+ ),
+ ),
+ ),
+ Divider(
+ height: 4.0,
+ ),
+ ListTile(
+ title: Text(
+ "Open-source licenses",
+ style: TextStyle(
+ fontWeight: FontWeight.w700,
+ ),
+ ),
+ ),
+ Divider(
+ height: 4.0,
+ ),
+ Padding(
+ padding: EdgeInsets.only(top: 6.0, bottom: 6.0),
+ child: Row(
+ mainAxisAlignment: MainAxisAlignment.center,
+ children: [
+ Text(
+ "Privacy Policy",
+ style: TextStyle(
+ fontSize: 13.0,
+ fontWeight: FontWeight.w700,
+ ),
+ ),
+ Container(
+ width: 25.0,
+ child: Icon(
+ Icons.arrow_drop_down_circle,
+ size: 5.0,
+ ),
+ ),
+ //new Icon(
+ //Icons.,
+ //),
+ Text(
+ "Terms of service",
+ style: TextStyle(
+ fontSize: 13.0,
+ fontWeight: FontWeight.w700,
+ ),
+ ),
+ ],
+ ),
+ ),
+ ],
+ ),
+ ),
+ );
+ }
+}
diff --git a/lib/containers/bottom_sheet/more.dart b/lib/containers/bottom_sheet/more.dart
new file mode 100644
index 0000000..df099f3
--- /dev/null
+++ b/lib/containers/bottom_sheet/more.dart
@@ -0,0 +1,129 @@
+import 'package:flutter/material.dart';
+
+enum SortBy { custom, date }
+
+class MoreWidget extends StatelessWidget {
+ final VoidCallback renameList, deleteList, deleteCompletedTasks;
+ final bool canDelete;
+ final int completedTasksCount;
+ final SortBy sort;
+ final ValueChanged sortChanged;
+ MoreWidget({
+ this.renameList,
+ this.deleteList,
+ this.deleteCompletedTasks,
+ this.canDelete,
+ this.completedTasksCount,
+ this.sort,
+ this.sortChanged,
+ });
+ @override
+ Widget build(BuildContext context) {
+ return Container(
+ padding: EdgeInsets.only(
+ left: 5.0,
+ right: 5.0,
+ top: 5.0,
+ bottom: 5.0,
+ ),
+ decoration: BoxDecoration(
+ color: Colors.white,
+ borderRadius: BorderRadius.only(
+ topLeft: const Radius.circular(10.0),
+ topRight: const Radius.circular(10.0))),
+ child: SafeArea(
+ child: Wrap(
+ children: [
+ ListTile(
+ title: const Text(
+ 'Sort By',
+ style: TextStyle(
+ fontSize: 14.0,
+ fontWeight: FontWeight.w700,
+ ),
+ ),
+ ),
+ ListTile(
+ leading: Container(
+ width: 4.0,
+ ),
+ title: const Text(
+ 'My Order',
+ style: TextStyle(
+ fontSize: 14.0,
+ fontWeight: FontWeight.w700,
+ ),
+ ),
+ onTap: () {
+ sortChanged(SortBy.custom);
+ Navigator.pop(context);
+ },
+ trailing: sort != null && sort == SortBy.custom
+ ? Icon(Icons.check)
+ : Icon(Icons.info, color: Colors.transparent),
+ ),
+ ListTile(
+ leading: Container(
+ width: 4.0,
+ ),
+ title: const Text(
+ 'Date',
+ style: TextStyle(
+ fontSize: 14.0,
+ fontWeight: FontWeight.w700,
+ ),
+ ),
+ onTap: () {
+ sortChanged(SortBy.date);
+ Navigator.pop(context);
+ },
+ trailing: sort != null && sort == SortBy.date
+ ? Icon(Icons.check)
+ : Icon(Icons.info, color: Colors.transparent),
+ ),
+ Divider(
+ height: 10.0,
+ ),
+ ListTile(
+ title: const Text(
+ 'Rename List',
+ style: TextStyle(
+ fontSize: 14.0,
+ fontWeight: FontWeight.w700,
+ ),
+ ),
+ onTap: renameList,
+ ),
+ ListTile(
+ title: Text(
+ 'Delete List',
+ style: TextStyle(
+ fontSize: 14.0,
+ fontWeight: FontWeight.w700,
+ color: canDelete ?? true ? Colors.black : Colors.grey,
+ ),
+ ),
+ enabled: canDelete ?? true,
+ onTap: deleteList,
+ ),
+ ListTile(
+ title: Text(
+ 'Delete all completed tasks',
+ style: TextStyle(
+ fontSize: 14.0,
+ fontWeight: FontWeight.w700,
+ color: completedTasksCount != null && completedTasksCount > 0
+ ? Colors.black
+ : Colors.grey,
+ ),
+ ),
+ onTap: completedTasksCount != null && completedTasksCount > 0
+ ? deleteCompletedTasks
+ : null,
+ ),
+ ],
+ ),
+ ),
+ );
+ }
+}
diff --git a/lib/containers/lists/completed.dart b/lib/containers/lists/completed.dart
new file mode 100644
index 0000000..aa1e031
--- /dev/null
+++ b/lib/containers/lists/completed.dart
@@ -0,0 +1,67 @@
+import 'package:flutter/material.dart';
+import '../../model/task.dart';
+import '../../pages/task_details.dart';
+
+class CompletedList extends StatelessWidget {
+ final List items;
+ final String listName;
+ final VoidCallback listRefresh;
+ final ValueChanged restoreTask;
+ CompletedList(
+ {this.items, this.listRefresh, this.listName, this.restoreTask});
+ @override
+ Widget build(BuildContext context) {
+ if (items == null || items.isEmpty) return SliverFillRemaining();
+ return SliverToBoxAdapter(
+ child: ExpansionTile(
+ title: Text('Completed (${items.length})'),
+ backgroundColor: Colors.white,
+ children: [
+ Container(
+ height: 70.0 * items.length,
+ child: ListView.builder(
+ itemCount: items.length,
+ shrinkWrap: true,
+ itemBuilder: (context, index) {
+ final item = items[index];
+ return Column(
+ mainAxisSize: MainAxisSize.min,
+ mainAxisAlignment: MainAxisAlignment.start,
+ children: [
+ Container(
+ padding: EdgeInsets.only(left: 16.0, right: 16.0),
+ child: ListTile(
+ leading: IconButton(
+ icon: Icon(Icons.check, color: Colors.blue),
+ onPressed: () => restoreTask(item),
+ ),
+ title: Text(
+ item.title,
+ style:
+ TextStyle(decoration: TextDecoration.lineThrough),
+ ),
+ subtitle: item?.subtitle == null ||
+ (item?.subtitle?.isEmpty ?? true)
+ ? null
+ : Text(item.subtitle),
+ onTap: () async {
+ var route = MaterialPageRoute(
+ builder: (BuildContext context) {
+ return TaskDetailsPage(listName, item);
+ });
+ var value = await Navigator.of(context).push(route);
+ if (value != null) listRefresh();
+ },
+ ),
+ ),
+ ],
+ );
+ },
+ ),
+ ),
+ Divider(height: 1.0),
+ ],
+ ),
+ );
+ }
+}
diff --git a/lib/containers/lists/pending.dart b/lib/containers/lists/pending.dart
new file mode 100644
index 0000000..3a6fa56
--- /dev/null
+++ b/lib/containers/lists/pending.dart
@@ -0,0 +1,78 @@
+import 'package:flutter/material.dart';
+import '../../model/task.dart';
+import '../../widgets/date_widget.dart';
+import '../../pages/task_details.dart';
+
+class PendingList extends StatelessWidget {
+ final List items;
+ final ValueChanged dismissedTask;
+ final VoidCallback listRefresh;
+ final String listName;
+ PendingList(
+ {this.items, this.dismissedTask, this.listRefresh, this.listName});
+ @override
+ Widget build(BuildContext context) {
+ return SliverList(
+ delegate: SliverChildListDelegate(
+ List.generate(
+ items.length,
+ (int index) {
+ final item = items[index];
+ return Dismissible(
+ direction: DismissDirection.startToEnd,
+ key: Key(item.id.toString()),
+ onDismissed: (direction) => dismissedTask(item),
+ background: Container(
+ color: Colors.blue,
+ ),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.center,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Container(
+ // padding: EdgeInsets.only(
+ // left: 5.0,
+ // right: 5.0,
+ // ),
+ child: ListTile(
+ onTap: () async {
+ var route =
+ MaterialPageRoute(builder: (BuildContext context) {
+ return TaskDetailsPage(listName, item);
+ });
+ var detailsPage =
+ await Navigator.of(context).push(route);
+ if (detailsPage != null) {
+ listRefresh();
+ }
+ },
+ leading: IconButton(
+ icon: Icon(Icons.radio_button_unchecked),
+ onPressed: () => dismissedTask(item),
+ ),
+ title: Text(item?.title ?? ""),
+ subtitle: item?.subtitle == null ||
+ (item?.subtitle?.isEmpty ?? true)
+ ? null
+ : Text(item.subtitle),
+ ),
+ ),
+ item.date != null
+ ? ListTile(
+ leading: Icon(Icons.info, color: Colors.transparent),
+ title: Row(
+ mainAxisSize: MainAxisSize.min,
+ children: [DateViewWidget(date: item.date)],
+ ),
+ )
+ : Container(height: 0.0),
+ Divider(height: 1.0),
+ ],
+ ),
+ );
+ },
+ ),
+ ),
+ );
+ }
+}
diff --git a/lib/data/data_handler.dart b/lib/data/data_handler.dart
new file mode 100644
index 0000000..b04d3e2
--- /dev/null
+++ b/lib/data/data_handler.dart
@@ -0,0 +1,139 @@
+import '../model/task.dart';
+import '../model/list.dart';
+import 'package:flutter/material.dart';
+
+// -- Lists --
+List _lists = [];
+
+List getLists() {
+ if (_lists == null || _lists.isEmpty) {
+ _lists.add(TaskList(name: "My Tasks", tasks: []));
+ }
+ return _lists;
+}
+
+TaskList getList(String name) {
+ TaskList _newList;
+ for (var _list in _lists) {
+ if (name == _list.name) {
+ _newList = _list;
+ }
+ }
+ if (_newList == null) {
+ addList(name);
+ }
+ for (var _list in _lists) {
+ if (name == _list.name) {
+ _newList = _list;
+ }
+ }
+ return _newList;
+}
+
+void addList(String name) {
+ var _list = TaskList(name: name, tasks: []);
+ _lists.add(_list);
+}
+
+void updateListName(String oldName, String name) {
+ for (var _list in _lists) {
+ if (oldName == _list.name) {
+ _list.name = name;
+ }
+ }
+}
+
+void removeList(String name) {
+ print("Lists: " + _lists?.length.toString() + " List: $name");
+ TaskList _toRemove;
+ for (var _list in _lists) {
+ if (name == _list.name) _toRemove = _list;
+ }
+ _lists.remove(_toRemove);
+}
+
+void updateList(String name, TaskList list) {
+ for (var _list in _lists) {
+ if (name == _list.name) {
+ _list = list;
+ }
+ }
+}
+
+void clearLists() {
+ _lists.clear();
+}
+
+// -- Tasks --
+
+void addTask(Task task, {@required String listName}) {
+ print("Adding Task: " + task?.title + " for: $listName");
+ var _tasks = getList(listName)?.tasks ?? [];
+ if (task != null) _tasks.add(task);
+}
+
+void removeTask(Task task, {@required String listName}) {
+ var _tasks = getList(listName)?.tasks ?? [];
+ if (task != null) _tasks.remove(task);
+}
+
+List getTasks(String listName) {
+ var _tasks = getList(listName)?.tasks ?? [];
+ return _tasks;
+}
+
+List getTasksByStatus(String status, {@required String listName}) {
+ var _tasks = getList(listName)?.tasks ?? [];
+ List _list = [];
+ for (var _task in _tasks) {
+ if (_task.status
+ .toUpperCase()
+ .trim()
+ .contains(status.toUpperCase().trim())) {
+ _list.add(_task);
+ }
+ }
+ return _list;
+}
+
+void clearTasks(String listName) {
+ var _tasks = getList(listName)?.tasks ?? [];
+ _tasks.clear();
+}
+
+Task getTask(int id, {@required String listName}) {
+ var _tasks = getList(listName)?.tasks ?? [];
+ for (var _task in _tasks) {
+ if (id == _task.id) return _task;
+ }
+ return null;
+}
+
+void updateTask(int id, Task task, {@required String listName}) {
+ var _tasks = getList(listName)?.tasks ?? [];
+ for (var _task in _tasks) {
+ if (id == _task.id) {
+ _task = task;
+ }
+ }
+}
+
+void clearCompletedTasks(String listName) {
+ var _tasks = getList(listName)?.tasks ?? [];
+ List removeTasks = [];
+
+ for (var _task in _tasks) {
+ if (_task.status == "COMPLETED") {
+ removeTasks.add(_task);
+ }
+ }
+ for (var _task in removeTasks) {
+ _tasks.remove(_task);
+ }
+}
+
+// -- Storage --
+enum StorageProvider { sqlLite, memory, firebase }
+
+// Default Storage
+StorageProvider storage = StorageProvider.memory;
diff --git a/lib/data/database_helper.dart b/lib/data/database_helper.dart
deleted file mode 100644
index 562f739..0000000
--- a/lib/data/database_helper.dart
+++ /dev/null
@@ -1,207 +0,0 @@
-import 'dart:async';
-import 'dart:io' as io;
-
-import 'package:path/path.dart';
-import 'package:path_provider/path_provider.dart';
-import 'package:sqflite/sqflite.dart';
-import 'package:tasks/model/task.dart';
-
-class DatabaseHelper {
- static final DatabaseHelper _instance = new DatabaseHelper.internal();
-
- factory DatabaseHelper() => _instance;
-
- DatabaseHelper.internal();
-
- static Database _db;
- String _dbFileName = "task.db";
- String _tableName = "My Tasks";
- String _columnId = "id";
- String _columnTask = "task";
- String _columnStatus = "status";
- String _columnDetails = "details";
- String _columnDate = "date";
-
- Future get db async {
- if (_db != null) {
- return _db;
- }
- _db = await initDb();
- return _db;
- }
-
- static DatabaseHelper get() {
- return _instance;
- }
-
- initDb() async {
- print("Tasks: Running initDb");
- io.Directory documentDirectory = await getApplicationDocumentsDirectory();
- String path = join(documentDirectory.path, _dbFileName);
- var ourDb = await openDatabase(
- path,
- version: 1,
- onCreate: _onCreate,
- );
- return ourDb;
- }
-
- void _onCreate(Database db, int version) async {
- await db.execute(
- "CREATE TABLE $_tableName($_columnId INTEGER PRIMARY KEY, $_columnTask TEXT, $_columnStatus TEXT, $_columnDetails TEXT, $_columnDate TEXT)");
- print("Table $_tableName is created");
- }
-
- Future> getTables() async {
- var dbClient = await db;
- List