From bb0c168764f515bc43ed131065ee8e626aa06ee0 Mon Sep 17 00:00:00 2001 From: Harsh Mehta Date: Tue, 25 Jun 2019 15:25:47 +0530 Subject: [PATCH 1/6] first commit --- harsh-mehta/demo_app/.gitignore | 70 +++ harsh-mehta/demo_app/.metadata | 10 + harsh-mehta/demo_app/README.md | 16 + harsh-mehta/demo_app/android/app/build.gradle | 61 +++ .../android/app/src/debug/AndroidManifest.xml | 7 + .../android/app/src/main/AndroidManifest.xml | 33 ++ .../com/example/demo_app/MainActivity.java | 13 + .../main/res/drawable/launch_background.xml | 12 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 544 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 442 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 721 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 1031 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 1443 bytes .../app/src/main/res/values/styles.xml | 8 + .../app/src/profile/AndroidManifest.xml | 7 + harsh-mehta/demo_app/android/build.gradle | 29 + .../demo_app/android/gradle.properties | 1 + .../gradle/wrapper/gradle-wrapper.properties | 6 + harsh-mehta/demo_app/android/settings.gradle | 15 + .../ios/Flutter/AppFrameworkInfo.plist | 26 + .../demo_app/ios/Flutter/Debug.xcconfig | 1 + .../demo_app/ios/Flutter/Release.xcconfig | 1 + .../ios/Runner.xcodeproj/project.pbxproj | 506 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/xcschemes/Runner.xcscheme | 93 ++++ .../contents.xcworkspacedata | 7 + harsh-mehta/demo_app/ios/Runner/AppDelegate.h | 6 + harsh-mehta/demo_app/ios/Runner/AppDelegate.m | 13 + .../AppIcon.appiconset/Contents.json | 122 +++++ .../Icon-App-1024x1024@1x.png | Bin 0 -> 11112 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 + .../Runner/Base.lproj/LaunchScreen.storyboard | 37 ++ .../ios/Runner/Base.lproj/Main.storyboard | 26 + harsh-mehta/demo_app/ios/Runner/Info.plist | 45 ++ harsh-mehta/demo_app/ios/Runner/main.m | 9 + harsh-mehta/demo_app/lib/main.dart | 111 ++++ harsh-mehta/demo_app/pubspec.yaml | 72 +++ harsh-mehta/demo_app/test/widget_test.dart | 30 ++ 56 files changed, 1428 insertions(+) create mode 100644 harsh-mehta/demo_app/.gitignore create mode 100644 harsh-mehta/demo_app/.metadata create mode 100644 harsh-mehta/demo_app/README.md create mode 100644 harsh-mehta/demo_app/android/app/build.gradle create mode 100644 harsh-mehta/demo_app/android/app/src/debug/AndroidManifest.xml create mode 100644 harsh-mehta/demo_app/android/app/src/main/AndroidManifest.xml create mode 100644 harsh-mehta/demo_app/android/app/src/main/java/com/example/demo_app/MainActivity.java create mode 100644 harsh-mehta/demo_app/android/app/src/main/res/drawable/launch_background.xml create mode 100644 harsh-mehta/demo_app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 harsh-mehta/demo_app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 harsh-mehta/demo_app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 harsh-mehta/demo_app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 harsh-mehta/demo_app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 harsh-mehta/demo_app/android/app/src/main/res/values/styles.xml create mode 100644 harsh-mehta/demo_app/android/app/src/profile/AndroidManifest.xml create mode 100644 harsh-mehta/demo_app/android/build.gradle create mode 100644 harsh-mehta/demo_app/android/gradle.properties create mode 100644 harsh-mehta/demo_app/android/gradle/wrapper/gradle-wrapper.properties create mode 100644 harsh-mehta/demo_app/android/settings.gradle create mode 100644 harsh-mehta/demo_app/ios/Flutter/AppFrameworkInfo.plist create mode 100644 harsh-mehta/demo_app/ios/Flutter/Debug.xcconfig create mode 100644 harsh-mehta/demo_app/ios/Flutter/Release.xcconfig create mode 100644 harsh-mehta/demo_app/ios/Runner.xcodeproj/project.pbxproj create mode 100644 harsh-mehta/demo_app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 harsh-mehta/demo_app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 harsh-mehta/demo_app/ios/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 harsh-mehta/demo_app/ios/Runner/AppDelegate.h create mode 100644 harsh-mehta/demo_app/ios/Runner/AppDelegate.m create mode 100644 harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 harsh-mehta/demo_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json create mode 100644 harsh-mehta/demo_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png create mode 100644 harsh-mehta/demo_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png create mode 100644 harsh-mehta/demo_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png create mode 100644 harsh-mehta/demo_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md create mode 100644 harsh-mehta/demo_app/ios/Runner/Base.lproj/LaunchScreen.storyboard create mode 100644 harsh-mehta/demo_app/ios/Runner/Base.lproj/Main.storyboard create mode 100644 harsh-mehta/demo_app/ios/Runner/Info.plist create mode 100644 harsh-mehta/demo_app/ios/Runner/main.m create mode 100644 harsh-mehta/demo_app/lib/main.dart create mode 100644 harsh-mehta/demo_app/pubspec.yaml create mode 100644 harsh-mehta/demo_app/test/widget_test.dart diff --git a/harsh-mehta/demo_app/.gitignore b/harsh-mehta/demo_app/.gitignore new file mode 100644 index 0000000..07488ba --- /dev/null +++ b/harsh-mehta/demo_app/.gitignore @@ -0,0 +1,70 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# Visual Studio Code related +.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +.dart_tool/ +.flutter-plugins +.packages +.pub-cache/ +.pub/ +/build/ + +# Android related +**/android/**/gradle-wrapper.jar +**/android/.gradle +**/android/captures/ +**/android/gradlew +**/android/gradlew.bat +**/android/local.properties +**/android/**/GeneratedPluginRegistrant.java + +# iOS/XCode related +**/ios/**/*.mode1v3 +**/ios/**/*.mode2v3 +**/ios/**/*.moved-aside +**/ios/**/*.pbxuser +**/ios/**/*.perspectivev3 +**/ios/**/*sync/ +**/ios/**/.sconsign.dblite +**/ios/**/.tags* +**/ios/**/.vagrant/ +**/ios/**/DerivedData/ +**/ios/**/Icon? +**/ios/**/Pods/ +**/ios/**/.symlinks/ +**/ios/**/profile +**/ios/**/xcuserdata +**/ios/.generated/ +**/ios/Flutter/App.framework +**/ios/Flutter/Flutter.framework +**/ios/Flutter/Generated.xcconfig +**/ios/Flutter/app.flx +**/ios/Flutter/app.zip +**/ios/Flutter/flutter_assets/ +**/ios/ServiceDefinitions.json +**/ios/Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!**/ios/**/default.mode1v3 +!**/ios/**/default.mode2v3 +!**/ios/**/default.pbxuser +!**/ios/**/default.perspectivev3 +!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages diff --git a/harsh-mehta/demo_app/.metadata b/harsh-mehta/demo_app/.metadata new file mode 100644 index 0000000..033ad2a --- /dev/null +++ b/harsh-mehta/demo_app/.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: 7a4c33425ddd78c54aba07d86f3f9a4a0051769b + channel: stable + +project_type: app diff --git a/harsh-mehta/demo_app/README.md b/harsh-mehta/demo_app/README.md new file mode 100644 index 0000000..47d90e1 --- /dev/null +++ b/harsh-mehta/demo_app/README.md @@ -0,0 +1,16 @@ +# demo_app + +A new Flutter project. + +## 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/harsh-mehta/demo_app/android/app/build.gradle b/harsh-mehta/demo_app/android/app/build.gradle new file mode 100644 index 0000000..fb4396e --- /dev/null +++ b/harsh-mehta/demo_app/android/app/build.gradle @@ -0,0 +1,61 @@ +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 from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" + +android { + compileSdkVersion 28 + + lintOptions { + disable 'InvalidPackage' + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId "com.example.demo_app" + minSdkVersion 16 + targetSdkVersion 28 + versionCode flutterVersionCode.toInteger() + versionName flutterVersionName + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + } + + 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 { + testImplementation 'junit:junit:4.12' + androidTestImplementation 'com.android.support.test:runner:1.0.2' + androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' +} diff --git a/harsh-mehta/demo_app/android/app/src/debug/AndroidManifest.xml b/harsh-mehta/demo_app/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..cef74c2 --- /dev/null +++ b/harsh-mehta/demo_app/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/harsh-mehta/demo_app/android/app/src/main/AndroidManifest.xml b/harsh-mehta/demo_app/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..9fe40c5 --- /dev/null +++ b/harsh-mehta/demo_app/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + diff --git a/harsh-mehta/demo_app/android/app/src/main/java/com/example/demo_app/MainActivity.java b/harsh-mehta/demo_app/android/app/src/main/java/com/example/demo_app/MainActivity.java new file mode 100644 index 0000000..2f4359a --- /dev/null +++ b/harsh-mehta/demo_app/android/app/src/main/java/com/example/demo_app/MainActivity.java @@ -0,0 +1,13 @@ +package com.example.demo_app; + +import android.os.Bundle; +import io.flutter.app.FlutterActivity; +import io.flutter.plugins.GeneratedPluginRegistrant; + +public class MainActivity extends FlutterActivity { + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + GeneratedPluginRegistrant.registerWith(this); + } +} diff --git a/harsh-mehta/demo_app/android/app/src/main/res/drawable/launch_background.xml b/harsh-mehta/demo_app/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 0000000..304732f --- /dev/null +++ b/harsh-mehta/demo_app/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/harsh-mehta/demo_app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/harsh-mehta/demo_app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..db77bb4b7b0906d62b1847e87f15cdcacf6a4f29 GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ literal 0 HcmV?d00001 diff --git a/harsh-mehta/demo_app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/harsh-mehta/demo_app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..17987b79bb8a35cc66c3c1fd44f5a5526c1b78be GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ literal 0 HcmV?d00001 diff --git a/harsh-mehta/demo_app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/harsh-mehta/demo_app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d5f1c8d34e7a88e3f88bea192c3a370d44689c3c GIT binary patch literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof literal 0 HcmV?d00001 diff --git a/harsh-mehta/demo_app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/harsh-mehta/demo_app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4d6372eebdb28e45604e46eeda8dd24651419bc0 GIT binary patch literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` literal 0 HcmV?d00001 diff --git a/harsh-mehta/demo_app/android/app/src/main/res/values/styles.xml b/harsh-mehta/demo_app/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..00fa441 --- /dev/null +++ b/harsh-mehta/demo_app/android/app/src/main/res/values/styles.xml @@ -0,0 +1,8 @@ + + + + diff --git a/harsh-mehta/demo_app/android/app/src/profile/AndroidManifest.xml b/harsh-mehta/demo_app/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 0000000..cef74c2 --- /dev/null +++ b/harsh-mehta/demo_app/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/harsh-mehta/demo_app/android/build.gradle b/harsh-mehta/demo_app/android/build.gradle new file mode 100644 index 0000000..bb8a303 --- /dev/null +++ b/harsh-mehta/demo_app/android/build.gradle @@ -0,0 +1,29 @@ +buildscript { + repositories { + google() + jcenter() + } + + dependencies { + classpath 'com.android.tools.build:gradle:3.2.1' + } +} + +allprojects { + repositories { + google() + jcenter() + } +} + +rootProject.buildDir = '../build' +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" +} +subprojects { + project.evaluationDependsOn(':app') +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/harsh-mehta/demo_app/android/gradle.properties b/harsh-mehta/demo_app/android/gradle.properties new file mode 100644 index 0000000..8bd86f6 --- /dev/null +++ b/harsh-mehta/demo_app/android/gradle.properties @@ -0,0 +1 @@ +org.gradle.jvmargs=-Xmx1536M diff --git a/harsh-mehta/demo_app/android/gradle/wrapper/gradle-wrapper.properties b/harsh-mehta/demo_app/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..2819f02 --- /dev/null +++ b/harsh-mehta/demo_app/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-4.10.2-all.zip diff --git a/harsh-mehta/demo_app/android/settings.gradle b/harsh-mehta/demo_app/android/settings.gradle new file mode 100644 index 0000000..5a2f14f --- /dev/null +++ b/harsh-mehta/demo_app/android/settings.gradle @@ -0,0 +1,15 @@ +include ':app' + +def flutterProjectRoot = rootProject.projectDir.parentFile.toPath() + +def plugins = new Properties() +def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins') +if (pluginsFile.exists()) { + pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) } +} + +plugins.each { name, path -> + def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile() + include ":$name" + project(":$name").projectDir = pluginDirectory +} diff --git a/harsh-mehta/demo_app/ios/Flutter/AppFrameworkInfo.plist b/harsh-mehta/demo_app/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 0000000..9367d48 --- /dev/null +++ b/harsh-mehta/demo_app/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 + 8.0 + + diff --git a/harsh-mehta/demo_app/ios/Flutter/Debug.xcconfig b/harsh-mehta/demo_app/ios/Flutter/Debug.xcconfig new file mode 100644 index 0000000..592ceee --- /dev/null +++ b/harsh-mehta/demo_app/ios/Flutter/Debug.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/harsh-mehta/demo_app/ios/Flutter/Release.xcconfig b/harsh-mehta/demo_app/ios/Flutter/Release.xcconfig new file mode 100644 index 0000000..592ceee --- /dev/null +++ b/harsh-mehta/demo_app/ios/Flutter/Release.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/harsh-mehta/demo_app/ios/Runner.xcodeproj/project.pbxproj b/harsh-mehta/demo_app/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..10f0605 --- /dev/null +++ b/harsh-mehta/demo_app/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,506 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + 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 */; }; + 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 */; }; + 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 = ""; }; + 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 = ( + 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 */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets 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 */ + 249021D3217E4FDB00AE95B9 /* Profile */ = { + 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 = Profile; + }; + 249021D4217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = S8QB4VV633; + 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 = com.example.demoApp; + PRODUCT_NAME = "$(TARGET_NAME)"; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Profile; + }; + 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 = "$(FLUTTER_BUILD_NUMBER)"; + 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 = com.example.demoApp; + 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 = "$(FLUTTER_BUILD_NUMBER)"; + 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 = com.example.demoApp; + 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 */, + 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/harsh-mehta/demo_app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/harsh-mehta/demo_app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/harsh-mehta/demo_app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/harsh-mehta/demo_app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/harsh-mehta/demo_app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..786d6aa --- /dev/null +++ b/harsh-mehta/demo_app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/harsh-mehta/demo_app/ios/Runner.xcworkspace/contents.xcworkspacedata b/harsh-mehta/demo_app/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/harsh-mehta/demo_app/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/harsh-mehta/demo_app/ios/Runner/AppDelegate.h b/harsh-mehta/demo_app/ios/Runner/AppDelegate.h new file mode 100644 index 0000000..36e21bb --- /dev/null +++ b/harsh-mehta/demo_app/ios/Runner/AppDelegate.h @@ -0,0 +1,6 @@ +#import +#import + +@interface AppDelegate : FlutterAppDelegate + +@end diff --git a/harsh-mehta/demo_app/ios/Runner/AppDelegate.m b/harsh-mehta/demo_app/ios/Runner/AppDelegate.m new file mode 100644 index 0000000..59a72e9 --- /dev/null +++ b/harsh-mehta/demo_app/ios/Runner/AppDelegate.m @@ -0,0 +1,13 @@ +#include "AppDelegate.h" +#include "GeneratedPluginRegistrant.h" + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application + didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + [GeneratedPluginRegistrant registerWithRegistry:self]; + // Override point for customization after application launch. + return [super application:application didFinishLaunchingWithOptions:launchOptions]; +} + +@end diff --git a/harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..d36b1fa --- /dev/null +++ b/harsh-mehta/demo_app/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/harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..3d43d11e66f4de3da27ed045ca4fe38ad8b48094 GIT binary patch literal 11112 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 P-1+_A+?hGkL;m(J7kc&K literal 0 HcmV?d00001 diff --git a/harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..28c6bf03016f6c994b70f38d1b7346e5831b531f GIT binary patch literal 564 zcmV-40?Yl0P)Px$?ny*JR5%f>l)FnDQ543{x%ZCiu33$Wg!pQFfT_}?5Q|_VSlIbLC`dpoMXL}9 zHfd9&47Mo(7D231gb+kjFxZHS4-m~7WurTH&doVX2KI5sU4v(sJ1@T9eCIKPjsqSr z)C01LsCxk=72-vXmX}CQD#BD;Cthymh&~=f$Q8nn0J<}ZrusBy4PvRNE}+1ceuj8u z0mW5k8fmgeLnTbWHGwfKA3@PdZxhn|PypR&^p?weGftrtCbjF#+zk_5BJh7;0`#Wr zgDpM_;Ax{jO##IrT`Oz;MvfwGfV$zD#c2xckpcXC6oou4ML~ezCc2EtnsQTB4tWNg z?4bkf;hG7IMfhgNI(FV5Gs4|*GyMTIY0$B=_*mso9Ityq$m^S>15>-?0(zQ<8Qy<_TjHE33(?_M8oaM zyc;NxzRVK@DL6RJnX%U^xW0Gpg(lXp(!uK1v0YgHjs^ZXSQ|m#lV7ip7{`C_J2TxPmfw%h$|%acrYHt)Re^PB%O&&=~a zhS(%I#+V>J-vjIib^<+s%ludY7y^C(P8nmqn9fp!i+?vr`bziDE=bx`%2W#Xyrj|i z!XQ4v1%L`m{7KT7q+LZNB^h8Ha2e=`Wp65^0;J00)_^G=au=8Yo;1b`CV&@#=jIBo zjN^JNVfYSs)+kDdGe7`1&8!?MQYKS?DuHZf3iogk_%#9E|5S zWeHrmAo>P;ejX7mwq#*}W25m^ZI+{(Z8fI?4jM_fffY0nok=+88^|*_DwcW>mR#e+ zX$F_KMdb6sRz!~7KkyN0G(3XQ+;z3X%PZ4gh;n-%62U<*VUKNv(D&Q->Na@Xb&u5Q3`3DGf+a8O5x7c#7+R+EAYl@R5us)CIw z7sT@_y~Ao@uL#&^LIh&QceqiT^+lb0YbFZt_SHOtWA%mgPEKVNvVgCsXy{5+zl*X8 zCJe)Q@y>wH^>l4;h1l^Y*9%-23TSmE>q5nI@?mt%n;Sj4Qq`Z+ib)a*a^cJc%E9^J zB;4s+K@rARbcBLT5P=@r;IVnBMKvT*)ew*R;&8vu%?Z&S>s?8?)3*YawM0P4!q$Kv zMmKh3lgE~&w&v%wVzH3Oe=jeNT=n@Y6J6TdHWTjXfX~-=1A1Bw`EW8rn}MqeI34nh zexFeA?&C3B2(E?0{drE@DA2pu(A#ElY&6el60Rn|Qpn-FkfQ8M93AfWIr)drgDFEU zghdWK)^71EWCP(@(=c4kfH1Y(4iugD4fve6;nSUpLT%!)MUHs1!zJYy4y||C+SwQ! z)KM&$7_tyM`sljP2fz6&Z;jxRn{Wup8IOUx8D4uh&(=O zx-7$a;U><*5L^!%xRlw)vAbh;sdlR||& ze}8_8%)c2Fwy=F&H|LM+p{pZB5DKTx>Y?F1N%BlZkXf!}JeGuMZk~LPi7{cidvUGB zAJ4LVeNV%XO>LTrklB#^-;8nb;}6l;1oW&WS=Mz*Az!4cqqQzbOSFq`$Q%PfD7srM zpKgP-D_0XPTRX*hAqeq0TDkJ;5HB1%$3Np)99#16c{ zJImlNL(npL!W|Gr_kxl1GVmF5&^$^YherS7+~q$p zt}{a=*RiD2Ikv6o=IM1kgc7zqpaZ;OB)P!1zz*i3{U()Dq#jG)egvK}@uFLa`oyWZ zf~=MV)|yJn`M^$N%ul5);JuQvaU1r2wt(}J_Qgyy`qWQI`hEeRX0uC@c1(dQ2}=U$ tNIIaX+dr)NRWXcxoR{>fqI{SF_dm1Ylv~=3YHI)h002ovPDHLkV1g(pWS;;4 literal 0 HcmV?d00001 diff --git a/harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/harsh-mehta/demo_app/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/harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/harsh-mehta/demo_app/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/harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/harsh-mehta/demo_app/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/harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/harsh-mehta/demo_app/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/harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/harsh-mehta/demo_app/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/harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/harsh-mehta/demo_app/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/harsh-mehta/demo_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/harsh-mehta/demo_app/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/harsh-mehta/demo_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/harsh-mehta/demo_app/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/harsh-mehta/demo_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/harsh-mehta/demo_app/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/harsh-mehta/demo_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/harsh-mehta/demo_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 0000000..89c2725 --- /dev/null +++ b/harsh-mehta/demo_app/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/harsh-mehta/demo_app/ios/Runner/Base.lproj/LaunchScreen.storyboard b/harsh-mehta/demo_app/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..f2e259c --- /dev/null +++ b/harsh-mehta/demo_app/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/harsh-mehta/demo_app/ios/Runner/Base.lproj/Main.storyboard b/harsh-mehta/demo_app/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 0000000..f3c2851 --- /dev/null +++ b/harsh-mehta/demo_app/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/harsh-mehta/demo_app/ios/Runner/Info.plist b/harsh-mehta/demo_app/ios/Runner/Info.plist new file mode 100644 index 0000000..4ec7988 --- /dev/null +++ b/harsh-mehta/demo_app/ios/Runner/Info.plist @@ -0,0 +1,45 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + demo_app + 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/harsh-mehta/demo_app/ios/Runner/main.m b/harsh-mehta/demo_app/ios/Runner/main.m new file mode 100644 index 0000000..dff6597 --- /dev/null +++ b/harsh-mehta/demo_app/ios/Runner/main.m @@ -0,0 +1,9 @@ +#import +#import +#import "AppDelegate.h" + +int main(int argc, char* argv[]) { + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} diff --git a/harsh-mehta/demo_app/lib/main.dart b/harsh-mehta/demo_app/lib/main.dart new file mode 100644 index 0000000..f4ebf1d --- /dev/null +++ b/harsh-mehta/demo_app/lib/main.dart @@ -0,0 +1,111 @@ +import 'package:flutter/material.dart'; + +void main() => runApp(MyApp()); + +class MyApp extends StatelessWidget { + // This widget is the root of your application. + @override + Widget build(BuildContext context) { + return MaterialApp( + title: 'Flutter Demo', + theme: ThemeData( + // This is the theme of your application. + // + // Try running your application with "flutter run". You'll see the + // application has a blue toolbar. Then, without quitting the app, try + // changing the primarySwatch below to Colors.green and then invoke + // "hot reload" (press "r" in the console where you ran "flutter run", + // or simply save your changes to "hot reload" in a Flutter IDE). + // Notice that the counter didn't reset back to zero; the application + // is not restarted. + primarySwatch: Colors.blue, + ), + home: MyHomePage(title: 'Flutter Demo Home Page'), + ); + } +} + +class MyHomePage extends StatefulWidget { + MyHomePage({Key key, this.title}) : super(key: key); + + // This widget is the home page of your application. It is stateful, meaning + // that it has a State object (defined below) that contains fields that affect + // how it looks. + + // This class is the configuration for the state. It holds the values (in this + // case the title) provided by the parent (in this case the App widget) and + // used by the build method of the State. Fields in a Widget subclass are + // always marked "final". + + final String title; + + @override + _MyHomePageState createState() => _MyHomePageState(); +} + +class _MyHomePageState extends State { + int _counter = 0; + + void _incrementCounter() { + setState(() { + // This call to setState tells the Flutter framework that something has + // changed in this State, which causes it to rerun the build method below + // so that the display can reflect the updated values. If we changed + // _counter without calling setState(), then the build method would not be + // called again, and so nothing would appear to happen. + _counter++; + }); + } + + @override + Widget build(BuildContext context) { + // This method is rerun every time setState is called, for instance as done + // by the _incrementCounter method above. + // + // The Flutter framework has been optimized to make rerunning build methods + // fast, so that you can just rebuild anything that needs updating rather + // than having to individually change instances of widgets. + return Scaffold( + appBar: AppBar( + // Here we take the value from the MyHomePage object that was created by + // the App.build method, and use it to set our appbar title. + title: Text(widget.title), + ), + body: Center( + // Center is a layout widget. It takes a single child and positions it + // in the middle of the parent. + child: Column( + // Column is also layout widget. It takes a list of children and + // arranges them vertically. By default, it sizes itself to fit its + // children horizontally, and tries to be as tall as its parent. + // + // Invoke "debug painting" (press "p" in the console, choose the + // "Toggle Debug Paint" action from the Flutter Inspector in Android + // Studio, or the "Toggle Debug Paint" command in Visual Studio Code) + // to see the wireframe for each widget. + // + // Column has various properties to control how it sizes itself and + // how it positions its children. Here we use mainAxisAlignment to + // center the children vertically; the main axis here is the vertical + // axis because Columns are vertical (the cross axis would be + // horizontal). + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + 'You have pushed the button this many times:', + ), + Text( + '$_counter', + style: Theme.of(context).textTheme.display1, + ), + ], + ), + ), + floatingActionButton: FloatingActionButton( + onPressed: _incrementCounter, + tooltip: 'Increment', + child: Icon(Icons.add), + ), // This trailing comma makes auto-formatting nicer for build methods. + ); + } +} diff --git a/harsh-mehta/demo_app/pubspec.yaml b/harsh-mehta/demo_app/pubspec.yaml new file mode 100644 index 0000000..aea05f5 --- /dev/null +++ b/harsh-mehta/demo_app/pubspec.yaml @@ -0,0 +1,72 @@ +name: demo_app +description: A new Flutter project. + +# The following defines the version and build number for your application. +# A version number is three numbers separated by dots, like 1.2.43 +# followed by an optional build number separated by a +. +# Both the version and the builder number may be overridden in flutter +# build by specifying --build-name and --build-number, respectively. +# In Android, build-name is used as versionName while build-number used as versionCode. +# Read more about Android versioning at https://developer.android.com/studio/publish/versioning +# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. +# Read more about iOS versioning at +# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html +version: 1.0.0+1 + +environment: + sdk: ">=2.1.0 <3.0.0" + +dependencies: + flutter: + sdk: flutter + + # The following adds the Cupertino Icons font to your application. + # Use with the CupertinoIcons class for iOS style icons. + cupertino_icons: ^0.1.2 + +dev_dependencies: + flutter_test: + sdk: flutter + + +# For information on the generic Dart part of this file, see the +# following page: https://www.dartlang.org/tools/pub/pubspec + +# The following section is specific to Flutter. +flutter: + + # The following line ensures that the Material Icons font is + # included with your application, so that you can use the icons in + # the material Icons class. + uses-material-design: true + + # To add assets to your application, add an assets section, like this: + # assets: + # - images/a_dot_burr.jpeg + # - images/a_dot_ham.jpeg + + # An image asset can refer to one or more resolution-specific "variants", see + # https://flutter.dev/assets-and-images/#resolution-aware. + + # For details regarding adding assets from package dependencies, see + # https://flutter.dev/assets-and-images/#from-packages + + # To add custom fonts to your application, add a fonts section here, + # in this "flutter" section. Each entry in this list should have a + # "family" key with the font family name, and a "fonts" key with a + # list giving the asset and other descriptors for the font. For + # example: + # fonts: + # - family: Schyler + # fonts: + # - asset: fonts/Schyler-Regular.ttf + # - asset: fonts/Schyler-Italic.ttf + # style: italic + # - family: Trajan Pro + # fonts: + # - asset: fonts/TrajanPro.ttf + # - asset: fonts/TrajanPro_Bold.ttf + # weight: 700 + # + # For details regarding fonts from package dependencies, + # see https://flutter.dev/custom-fonts/#from-packages diff --git a/harsh-mehta/demo_app/test/widget_test.dart b/harsh-mehta/demo_app/test/widget_test.dart new file mode 100644 index 0000000..5f34344 --- /dev/null +++ b/harsh-mehta/demo_app/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:demo_app/main.dart'; + +void main() { + testWidgets('Counter increments smoke test', (WidgetTester tester) async { + // Build our app and trigger a frame. + await tester.pumpWidget(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); + }); +} From 1fc9839d8f56dd1e1e3d1c97478adad480d14b47 Mon Sep 17 00:00:00 2001 From: Harsh Mehta Date: Wed, 26 Jun 2019 14:52:34 +0530 Subject: [PATCH 2/6] blank app --- harsh-mehta/demo_app/lib/main.dart | 110 ++--------------------------- 1 file changed, 7 insertions(+), 103 deletions(-) diff --git a/harsh-mehta/demo_app/lib/main.dart b/harsh-mehta/demo_app/lib/main.dart index f4ebf1d..23466ca 100644 --- a/harsh-mehta/demo_app/lib/main.dart +++ b/harsh-mehta/demo_app/lib/main.dart @@ -2,110 +2,14 @@ import 'package:flutter/material.dart'; void main() => runApp(MyApp()); -class MyApp extends StatelessWidget { - // This widget is the root of your application. - @override - Widget build(BuildContext context) { +class MyApp extends StatelessWidget{ + @override + Widget build(BuildContext context){ return MaterialApp( - title: 'Flutter Demo', - theme: ThemeData( - // This is the theme of your application. - // - // Try running your application with "flutter run". You'll see the - // application has a blue toolbar. Then, without quitting the app, try - // changing the primarySwatch below to Colors.green and then invoke - // "hot reload" (press "r" in the console where you ran "flutter run", - // or simply save your changes to "hot reload" in a Flutter IDE). - // Notice that the counter didn't reset back to zero; the application - // is not restarted. - primarySwatch: Colors.blue, + home: Scaffold( + floatingActionButton: FloatingActionButton(), + appBar: AppBar(title: Text("My First"),), ), - home: MyHomePage(title: 'Flutter Demo Home Page'), ); } -} - -class MyHomePage extends StatefulWidget { - MyHomePage({Key key, this.title}) : super(key: key); - - // This widget is the home page of your application. It is stateful, meaning - // that it has a State object (defined below) that contains fields that affect - // how it looks. - - // This class is the configuration for the state. It holds the values (in this - // case the title) provided by the parent (in this case the App widget) and - // used by the build method of the State. Fields in a Widget subclass are - // always marked "final". - - final String title; - - @override - _MyHomePageState createState() => _MyHomePageState(); -} - -class _MyHomePageState extends State { - int _counter = 0; - - void _incrementCounter() { - setState(() { - // This call to setState tells the Flutter framework that something has - // changed in this State, which causes it to rerun the build method below - // so that the display can reflect the updated values. If we changed - // _counter without calling setState(), then the build method would not be - // called again, and so nothing would appear to happen. - _counter++; - }); - } - - @override - Widget build(BuildContext context) { - // This method is rerun every time setState is called, for instance as done - // by the _incrementCounter method above. - // - // The Flutter framework has been optimized to make rerunning build methods - // fast, so that you can just rebuild anything that needs updating rather - // than having to individually change instances of widgets. - return Scaffold( - appBar: AppBar( - // Here we take the value from the MyHomePage object that was created by - // the App.build method, and use it to set our appbar title. - title: Text(widget.title), - ), - body: Center( - // Center is a layout widget. It takes a single child and positions it - // in the middle of the parent. - child: Column( - // Column is also layout widget. It takes a list of children and - // arranges them vertically. By default, it sizes itself to fit its - // children horizontally, and tries to be as tall as its parent. - // - // Invoke "debug painting" (press "p" in the console, choose the - // "Toggle Debug Paint" action from the Flutter Inspector in Android - // Studio, or the "Toggle Debug Paint" command in Visual Studio Code) - // to see the wireframe for each widget. - // - // Column has various properties to control how it sizes itself and - // how it positions its children. Here we use mainAxisAlignment to - // center the children vertically; the main axis here is the vertical - // axis because Columns are vertical (the cross axis would be - // horizontal). - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text( - 'You have pushed the button this many times:', - ), - Text( - '$_counter', - style: Theme.of(context).textTheme.display1, - ), - ], - ), - ), - floatingActionButton: FloatingActionButton( - onPressed: _incrementCounter, - tooltip: 'Increment', - child: Icon(Icons.add), - ), // This trailing comma makes auto-formatting nicer for build methods. - ); - } -} +} \ No newline at end of file From 90f3466c74519a997246129e21c1c60e01456182 Mon Sep 17 00:00:00 2001 From: Harsh Mehta Date: Wed, 26 Jun 2019 16:25:45 +0530 Subject: [PATCH 3/6] added image --- harsh-mehta/demo_app/assets/image-1.png | Bin 0 -> 46254 bytes harsh-mehta/demo_app/lib/main.dart | 11 ++++++++++- harsh-mehta/demo_app/pubspec.yaml | 4 ++-- 3 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 harsh-mehta/demo_app/assets/image-1.png diff --git a/harsh-mehta/demo_app/assets/image-1.png b/harsh-mehta/demo_app/assets/image-1.png new file mode 100644 index 0000000000000000000000000000000000000000..425ff2b24575af88122e694b4c98039a29debc3b GIT binary patch literal 46254 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%0DH5(~IaiNg_-N5nCGmjm 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 literal 0 HcmV?d00001 diff --git a/harsh-mehta/demo_app/lib/main.dart b/harsh-mehta/demo_app/lib/main.dart index 23466ca..d3a10dd 100644 --- a/harsh-mehta/demo_app/lib/main.dart +++ b/harsh-mehta/demo_app/lib/main.dart @@ -7,8 +7,17 @@ class MyApp extends StatelessWidget{ Widget build(BuildContext context){ return MaterialApp( home: Scaffold( + drawer: Drawer(), floatingActionButton: FloatingActionButton(), - appBar: AppBar(title: Text("My First"),), + appBar: AppBar(title: Text("My First App"),), + body: Card( + child: Column( + children: [ + Image.asset("./assets/image-1.png"), + Text("Hello") + ], + ), + ), ), ); } diff --git a/harsh-mehta/demo_app/pubspec.yaml b/harsh-mehta/demo_app/pubspec.yaml index aea05f5..1af13dd 100644 --- a/harsh-mehta/demo_app/pubspec.yaml +++ b/harsh-mehta/demo_app/pubspec.yaml @@ -41,8 +41,8 @@ flutter: uses-material-design: true # To add assets to your application, add an assets section, like this: - # assets: - # - images/a_dot_burr.jpeg + assets: + - assets/image-1.png # - images/a_dot_ham.jpeg # An image asset can refer to one or more resolution-specific "variants", see From c0acf5ef8ca310f25f8ebebeabfc39ccfc4eda1d Mon Sep 17 00:00:00 2001 From: Harsh Mehta Date: Fri, 28 Jun 2019 14:57:55 +0530 Subject: [PATCH 4/6] added navigation --- harsh-mehta/demo_app/lib/main.dart | 23 +++++------------------ harsh-mehta/demo_app/lib/page1.dart | 28 ++++++++++++++++++++++++++++ harsh-mehta/demo_app/lib/page2.dart | 21 +++++++++++++++++++++ 3 files changed, 54 insertions(+), 18 deletions(-) create mode 100644 harsh-mehta/demo_app/lib/page1.dart create mode 100644 harsh-mehta/demo_app/lib/page2.dart diff --git a/harsh-mehta/demo_app/lib/main.dart b/harsh-mehta/demo_app/lib/main.dart index d3a10dd..a121b54 100644 --- a/harsh-mehta/demo_app/lib/main.dart +++ b/harsh-mehta/demo_app/lib/main.dart @@ -1,24 +1,11 @@ import 'package:flutter/material.dart'; +import 'package:demo_app/page1.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget{ - @override - Widget build(BuildContext context){ - return MaterialApp( - home: Scaffold( - drawer: Drawer(), - floatingActionButton: FloatingActionButton(), - appBar: AppBar(title: Text("My First App"),), - body: Card( - child: Column( - children: [ - Image.asset("./assets/image-1.png"), - Text("Hello") - ], - ), - ), - ), - ); - } + @override + Widget build(BuildContext context) => MaterialApp( + home: Page1(), + ); } \ No newline at end of file diff --git a/harsh-mehta/demo_app/lib/page1.dart b/harsh-mehta/demo_app/lib/page1.dart new file mode 100644 index 0000000..054cfd5 --- /dev/null +++ b/harsh-mehta/demo_app/lib/page1.dart @@ -0,0 +1,28 @@ +import 'package:flutter/material.dart'; +import 'package:demo_app/page2.dart'; + +class Page1 extends StatelessWidget{ + @override + Widget build(BuildContext context){ + return MaterialApp( + home: Scaffold( + drawer: Drawer(), + floatingActionButton: FloatingActionButton( + onPressed: () { + Navigator.push(context, MaterialPageRoute( + builder: (context) => Page2() + )); + } + ), + appBar: AppBar(title: Text("Page 1"),), + body: Card( + child: Column( + children: [ + Text("Hello") + ], + ), + ), + ), + ); + } +} \ No newline at end of file diff --git a/harsh-mehta/demo_app/lib/page2.dart b/harsh-mehta/demo_app/lib/page2.dart new file mode 100644 index 0000000..e9edeef --- /dev/null +++ b/harsh-mehta/demo_app/lib/page2.dart @@ -0,0 +1,21 @@ +import 'package:flutter/material.dart'; + + +class Page2 extends StatelessWidget{ + @override + Widget build(BuildContext context) { + return MaterialApp( + home: Scaffold( + floatingActionButton: FloatingActionButton( + onPressed: (){ + Navigator.pop(context); + }, + ), + appBar: AppBar(title: Text("Page 2"),), + body: Center( + child: Text("Welcome"), + ), + ) + ); + } +} \ No newline at end of file From 9f2ddcb27306ef50a333f6b78b1ab3bb3906353b Mon Sep 17 00:00:00 2001 From: Harsh Mehta Date: Sat, 29 Jun 2019 21:59:42 +0530 Subject: [PATCH 5/6] completed assignment --- harsh-mehta/demo_app/assets/login-image.png | Bin 0 -> 2645 bytes harsh-mehta/demo_app/lib/main.dart | 4 ++ harsh-mehta/demo_app/lib/page1.dart | 60 ++++++++++++++------ harsh-mehta/demo_app/lib/page2.dart | 27 ++++++--- harsh-mehta/demo_app/pubspec.yaml | 2 +- 5 files changed, 68 insertions(+), 25 deletions(-) create mode 100644 harsh-mehta/demo_app/assets/login-image.png diff --git a/harsh-mehta/demo_app/assets/login-image.png b/harsh-mehta/demo_app/assets/login-image.png new file mode 100644 index 0000000000000000000000000000000000000000..7be2a28a9cacff848d0dd29c7751a314b052978b GIT binary patch literal 2645 zcmV-b3aa&qP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D3F=8iK~#8N?VNjT zTUQ;&QwD<#1Wej^NRtrnY0?m*TKtIZ>$FYd>$Do8ix6TD1lbb1PSQLaC+ooNmbQuQ z3@U9%8;zaUny2G5Em^z5Qrm$sRuI!V*74kvb$@Jwl|j3s50RQ=@ac!!T??39L&E&=ajGhYYyLG9R^L)WkG9mE2+TI6a!P5{X3F zI%s-+$1)z(8x^HlFU#mu+CFT!;0*~Mp&&Tv=v@%M%`#rruA@~#~%nCZ_H6i1D3!S+Sgj8~}#o>*J^FAG;od1ssgf7I?~nXc5%!yA~!W}>dJwVs0H zD1p-dTbAicxu+~lQ!`Q9q~$mT$&tamU4Klx#4=r}Y&u|BEn|FrXc;i^5?O{T1vMnm zFu*o76E%()|4YGgWFP~&S*9!1eLVg8|7ztNGF+lyIWo}vOtVZ^>PK^%n1*I52h<`8 zmLmhR-`}%LSBka&yB0Y@2A%&x36|k%HI8II1VzD6_8khEgY1dfu45UlmUGa+G&EDSj+swU&>SQ%zvWt% z;Yvw!0EU@sk$c)aNI`RuiHX`PSf(qrZ{Ef|Nj@p3;umy`a3TE%@-4&gMW{}=Y77I&4Gu9`+j}fRrEM*0}+2mX}DT@ zpIrSZh;))V;6&Lv3O0#HPOkq@Z%o_*MjimY#)?O#f($zcY5Nsq(!Rd9O^*W(3Qk)< zBu}yuAgeorV<_p=I&OKIf?VP!Pi_4)l;pi&`WaT(IaN%29ct4_+A(hW%m2d=A7njWOF|z4F^4Un*9N8Gh4@L~~a!ywL)$e#RzOA-*UG`?1Atr>t#Py3YB8(6S?S4tG) z+1i%)1~ku`$)fxN9a0A?B5R!ov`(0x#0eFY{(rNcTMD9r(~I*IvMGPykPI^61$88P zPKZo{)2U_5@;pwupxr;JeqJdG((xNCOk`F52%NCp3}bWY71SkVxE9nhX8IG3CVWwG zThen%Tu>X{>W$e1vMPVD+HB|0%5TJ=pxJp!9?C(+J)?ZaWJrBXc`)bN9K3VRwg>8g+%MPIni{m zBH@A>iw6K$@l7S%^T2oCnnx?7=eWayv={Due4~_Mm{CdL$LwB8ZvKFp@HK2oIvK~( zag6T{TZU^BwO7#X5;$Uj3`o1ex)$}Eut}#g@Q6J0GhkS9djl*R)w_@nqMa+xiCP$e^5r^?tYz) zE+qkmzN$7jm9S&O*IuDCB_&YnD#|Hu2>4-TBoNe5nyrt(`uz#IpJT7P4cVt7(&KDI!FetdtHM{u+N@{U{j`-=M zhz;mOx+D>Z+e~Wnaa4oD$fWO;n516=o38v8C9`Cwq6zt6c#(f)+S1tc5w9T1?YfZ0zFsXUw$Kf zECC(W_DmPSv?w&+GhO+8N>&MwC|d`$;Q>}+N=+^p?Rcimw^GVV0Lgq^KPxe%rl!X# z-tC$*CDm%p1AW4NR$@v`_*)ju5#f`RtkM8V{;p+-3F=;J8ZvHk4jL~lyQV?mNT)q) zIY3D&9l-p%)ro=6PCE}6K8M%ari44NGgIHAB{hyzyjNQ7J%KBs4MF{RWn!Qc{wpq5 z&@B?~u+V}fOnILcgmH3D33Da+>n)A_rt84$S5%2Qdj(e0NX1!APOLHkCSJFx6ILHA zZ>P&?!B>Pjrmdku)&|_UYCc%;7SzJ-qO9TPlDnY2WHdeDRPTMIqWkgc&vs0i54nbn zOIw_|7Iyxv runApp(MyApp()); class MyApp extends StatelessWidget{ @override Widget build(BuildContext context) => MaterialApp( + routes: { + '/page1': (BuildContext context) => new Page1() + }, home: Page1(), ); + } \ No newline at end of file diff --git a/harsh-mehta/demo_app/lib/page1.dart b/harsh-mehta/demo_app/lib/page1.dart index 054cfd5..ba680c4 100644 --- a/harsh-mehta/demo_app/lib/page1.dart +++ b/harsh-mehta/demo_app/lib/page1.dart @@ -6,23 +6,51 @@ class Page1 extends StatelessWidget{ Widget build(BuildContext context){ return MaterialApp( home: Scaffold( - drawer: Drawer(), - floatingActionButton: FloatingActionButton( - onPressed: () { - Navigator.push(context, MaterialPageRoute( - builder: (context) => Page2() - )); - } - ), - appBar: AppBar(title: Text("Page 1"),), - body: Card( - child: Column( - children: [ - Text("Hello") - ], - ), + body: Center( + child: Container( + margin: const EdgeInsets.all(20.0), + child: ListView( + padding: EdgeInsets.symmetric(horizontal: 10.0), + children: [ + SizedBox(height: 50.0,), + Container( + height: 96.0, + width: 96.0, + child: Image.asset("assets/login-image.png"), + ), + SizedBox(height: 30.0,), + TextField( + obscureText: false, + textCapitalization: TextCapitalization.none, + autofocus: true, + decoration: InputDecoration( + labelText: "Email" + ), + ), + SizedBox(height: 10.0,), + TextField( + obscureText: true, + decoration: InputDecoration( + labelText: "Password" + ), + ), + SizedBox(height: 10.0,), + RaisedButton( + onPressed: () { + Navigator.push(context, new MaterialPageRoute( + builder: (context) => Page2() + )); + }, + child: Text("LOGIN"), + textColor: Colors.white, + color: Colors.blue, + ) + ], + ) + + ) ), - ), + ) ); } } \ No newline at end of file diff --git a/harsh-mehta/demo_app/lib/page2.dart b/harsh-mehta/demo_app/lib/page2.dart index e9edeef..affc80b 100644 --- a/harsh-mehta/demo_app/lib/page2.dart +++ b/harsh-mehta/demo_app/lib/page2.dart @@ -1,20 +1,31 @@ import 'package:flutter/material.dart'; - class Page2 extends StatelessWidget{ @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( - floatingActionButton: FloatingActionButton( - onPressed: (){ - Navigator.pop(context); - }, - ), - appBar: AppBar(title: Text("Page 2"),), + appBar: AppBar(title: Text("Hi"),), body: Center( - child: Text("Welcome"), + child: Container( + margin: const EdgeInsets.all(20.0), + child: ListView( + children: [ + Center( + child: Text("THIS APP SUCKS"), + ), + RaisedButton( + color: Colors.blue, + textColor: Colors.white, + child: Text("BYE"), + onPressed: (){ + Navigator.pop(context); + }, + ) + ], + ), ), + ) ) ); } diff --git a/harsh-mehta/demo_app/pubspec.yaml b/harsh-mehta/demo_app/pubspec.yaml index 1af13dd..d5fdfc4 100644 --- a/harsh-mehta/demo_app/pubspec.yaml +++ b/harsh-mehta/demo_app/pubspec.yaml @@ -42,7 +42,7 @@ flutter: # To add assets to your application, add an assets section, like this: assets: - - assets/image-1.png + - assets/login-image.png # - images/a_dot_ham.jpeg # An image asset can refer to one or more resolution-specific "variants", see From f3f921b9a9b6b68f1322d4129460272cfd0be837 Mon Sep 17 00:00:00 2001 From: Harsh Mehta Date: Sat, 29 Jun 2019 22:08:25 +0530 Subject: [PATCH 6/6] added button --- harsh-mehta/demo_app/lib/page1.dart | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/harsh-mehta/demo_app/lib/page1.dart b/harsh-mehta/demo_app/lib/page1.dart index ba680c4..e390bde 100644 --- a/harsh-mehta/demo_app/lib/page1.dart +++ b/harsh-mehta/demo_app/lib/page1.dart @@ -44,6 +44,12 @@ class Page1 extends StatelessWidget{ child: Text("LOGIN"), textColor: Colors.white, color: Colors.blue, + ), + RaisedButton( + onPressed: () {}, + child: Text("This button is of no use"), + textColor: Colors.white, + color: Colors.blue, ) ], )