Skip to content

Commit 4b33731

Browse files
committed
Initial commit
0 parents  commit 4b33731

File tree

118 files changed

+5321
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

118 files changed

+5321
-0
lines changed

.gitignore

+96
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
# Miscellaneous
2+
*.class
3+
*.lock
4+
*.log
5+
*.pyc
6+
*.swp
7+
.DS_Store
8+
.atom/
9+
.buildlog/
10+
.history
11+
.svn/
12+
13+
# IntelliJ related
14+
*.iml
15+
*.ipr
16+
*.iws
17+
.idea/
18+
19+
# Visual Studio Code related
20+
.vscode/
21+
22+
# Flutter repo-specific
23+
/bin/cache/
24+
/bin/mingit/
25+
/dev/benchmarks/mega_gallery/
26+
/dev/bots/.recipe_deps
27+
/dev/bots/android_tools/
28+
/dev/docs/doc/
29+
/dev/docs/flutter.docs.zip
30+
/dev/docs/lib/
31+
/dev/docs/pubspec.yaml
32+
/packages/flutter/coverage/
33+
version
34+
35+
# Flutter/Dart/Pub related
36+
**/doc/api/
37+
.dart_tool/
38+
.flutter-plugins
39+
.packages
40+
.pub-cache/
41+
.pub/
42+
build/
43+
flutter_*.png
44+
linked_*.ds
45+
unlinked.ds
46+
unlinked_spec.ds
47+
.flutter-plugins-dependencies
48+
49+
# Android related
50+
**/android/**/gradle-wrapper.jar
51+
**/android/.gradle
52+
**/android/captures/
53+
**/android/gradlew
54+
**/android/gradlew.bat
55+
**/android/local.properties
56+
**/android/**/GeneratedPluginRegistrant.java
57+
**/android/key.properties
58+
*.jks
59+
60+
# iOS/XCode related
61+
**/ios/**/*.mode1v3
62+
**/ios/**/*.mode2v3
63+
**/ios/**/*.moved-aside
64+
**/ios/**/*.pbxuser
65+
**/ios/**/*.perspectivev3
66+
**/ios/**/*sync/
67+
**/ios/**/.sconsign.dblite
68+
**/ios/**/.tags*
69+
**/ios/**/.vagrant/
70+
**/ios/**/DerivedData/
71+
**/ios/**/Icon?
72+
**/ios/**/Pods/
73+
**/ios/**/.symlinks/
74+
**/ios/**/profile
75+
**/ios/**/xcuserdata
76+
**/ios/.generated/
77+
**/ios/Flutter/App.framework
78+
**/ios/Flutter/Flutter.framework
79+
**/ios/Flutter/Generated.xcconfig
80+
**/ios/Flutter/app.flx
81+
**/ios/Flutter/app.zip
82+
**/ios/Flutter/flutter_assets/
83+
**/ios/ServiceDefinitions.json
84+
**/ios/Runner/GeneratedPluginRegistrant.*
85+
**/ios/Flutter/flutter_export_environment.sh
86+
87+
# Exceptions to above rules.
88+
!**/ios/**/default.mode1v3
89+
!**/ios/**/default.mode2v3
90+
!**/ios/**/default.pbxuser
91+
!**/ios/**/default.perspectivev3
92+
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
93+
94+
# Firebase configuration files
95+
ios/Runner/GoogleService-Info.plist
96+
android/app/google-services.json

.metadata

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# This file tracks properties of this Flutter project.
2+
# Used by Flutter tool to assess capabilities and perform upgrades etc.
3+
#
4+
# This file should be version controlled and should not be manually edited.
5+
6+
version:
7+
revision: 27321ebbad34b0a3fafe99fac037102196d655ff
8+
channel: stable
9+
10+
project_type: app

LICENSE.md

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Copyright (c) 2019 Andrea Bizzotto [bizz84@gmail.com](mailto:bizz84@gmail.com)
2+
3+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4+
5+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6+
7+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Starter Architecture Demo for Flutter & Firebase Realtime Apps
2+

android/.gitignore

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
gradle-wrapper.jar
2+
/.gradle
3+
/captures/
4+
/gradlew
5+
/gradlew.bat
6+
/local.properties
7+
GeneratedPluginRegistrant.java

android/app/build.gradle

+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
def localProperties = new Properties()
2+
def localPropertiesFile = rootProject.file('local.properties')
3+
if (localPropertiesFile.exists()) {
4+
localPropertiesFile.withReader('UTF-8') { reader ->
5+
localProperties.load(reader)
6+
}
7+
}
8+
9+
def flutterRoot = localProperties.getProperty('flutter.sdk')
10+
if (flutterRoot == null) {
11+
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
12+
}
13+
14+
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
15+
if (flutterVersionCode == null) {
16+
flutterVersionCode = '1'
17+
}
18+
19+
def flutterVersionName = localProperties.getProperty('flutter.versionName')
20+
if (flutterVersionName == null) {
21+
flutterVersionName = '1.0'
22+
}
23+
24+
apply plugin: 'com.android.application'
25+
apply plugin: 'kotlin-android'
26+
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
27+
28+
android {
29+
compileSdkVersion 28
30+
31+
sourceSets {
32+
main.java.srcDirs += 'src/main/kotlin'
33+
}
34+
35+
lintOptions {
36+
disable 'InvalidPackage'
37+
}
38+
39+
defaultConfig {
40+
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
41+
applicationId "com.example.starter_architecture_flutter_firebase"
42+
minSdkVersion 16
43+
targetSdkVersion 28
44+
versionCode flutterVersionCode.toInteger()
45+
versionName flutterVersionName
46+
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
47+
multiDexEnabled true
48+
}
49+
50+
buildTypes {
51+
release {
52+
// TODO: Add your own signing config for the release build.
53+
// Signing with the debug keys for now, so `flutter run --release` works.
54+
signingConfig signingConfigs.debug
55+
}
56+
}
57+
}
58+
59+
flutter {
60+
source '../..'
61+
}
62+
63+
dependencies {
64+
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
65+
testImplementation 'junit:junit:4.12'
66+
androidTestImplementation 'androidx.test:runner:1.1.1'
67+
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
68+
implementation 'com.android.support:multidex:1.0.3'
69+
}
70+
71+
apply plugin: 'com.google.gms.google-services'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
2+
package="com.example.starter_architecture_flutter_firebase">
3+
<!-- Flutter needs it to communicate with the running application
4+
to allow setting breakpoints, to provide hot reload, etc.
5+
-->
6+
<uses-permission android:name="android.permission.INTERNET"/>
7+
</manifest>
+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
2+
package="com.example.starter_architecture_flutter_firebase">
3+
<!-- io.flutter.app.FlutterApplication is an android.app.Application that
4+
calls FlutterMain.startInitialization(this); in its onCreate method.
5+
In most cases you can leave this as-is, but you if you want to provide
6+
additional functionality it is fine to subclass or reimplement
7+
FlutterApplication and put your custom class here. -->
8+
<application
9+
android:name="io.flutter.app.FlutterApplication"
10+
android:label="starter_architecture_flutter_firebase"
11+
android:icon="@mipmap/ic_launcher">
12+
<activity
13+
android:name=".MainActivity"
14+
android:launchMode="singleTop"
15+
android:theme="@style/LaunchTheme"
16+
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
17+
android:hardwareAccelerated="true"
18+
android:windowSoftInputMode="adjustResize">
19+
<intent-filter>
20+
<action android:name="android.intent.action.MAIN"/>
21+
<category android:name="android.intent.category.LAUNCHER"/>
22+
</intent-filter>
23+
</activity>
24+
<!-- Don't delete the meta-data below.
25+
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
26+
<meta-data
27+
android:name="flutterEmbedding"
28+
android:value="2" />
29+
</application>
30+
</manifest>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.example.starter_architecture_flutter_firebase
2+
3+
import androidx.annotation.NonNull;
4+
import io.flutter.embedding.android.FlutterActivity
5+
import io.flutter.embedding.engine.FlutterEngine
6+
import io.flutter.plugins.GeneratedPluginRegistrant
7+
8+
class MainActivity: FlutterActivity() {
9+
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
10+
GeneratedPluginRegistrant.registerWith(flutterEngine);
11+
}
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!-- Modify this file to customize your launch splash screen -->
3+
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
4+
<item android:drawable="@android:color/white" />
5+
6+
<!-- You can insert your own image assets here -->
7+
<!-- <item>
8+
<bitmap
9+
android:gravity="center"
10+
android:src="@mipmap/launch_image" />
11+
</item> -->
12+
</layer-list>
Loading
Loading
Loading
Loading
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
4+
<!-- Show a splash screen on the activity. Automatically removed when
5+
Flutter draws its first frame -->
6+
<item name="android:windowBackground">@drawable/launch_background</item>
7+
</style>
8+
</resources>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
2+
package="com.example.starter_architecture_flutter_firebase">
3+
<!-- Flutter needs it to communicate with the running application
4+
to allow setting breakpoints, to provide hot reload, etc.
5+
-->
6+
<uses-permission android:name="android.permission.INTERNET"/>
7+
</manifest>

android/build.gradle

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
buildscript {
2+
ext.kotlin_version = '1.3.50'
3+
repositories {
4+
google()
5+
jcenter()
6+
}
7+
8+
dependencies {
9+
classpath 'com.android.tools.build:gradle:3.5.0'
10+
classpath 'com.google.gms:google-services:4.0.1'
11+
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
12+
}
13+
}
14+
15+
allprojects {
16+
repositories {
17+
google()
18+
jcenter()
19+
}
20+
}
21+
22+
rootProject.buildDir = '../build'
23+
subprojects {
24+
project.buildDir = "${rootProject.buildDir}/${project.name}"
25+
}
26+
subprojects {
27+
project.evaluationDependsOn(':app')
28+
}
29+
30+
task clean(type: Delete) {
31+
delete rootProject.buildDir
32+
}

android/gradle.properties

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
org.gradle.jvmargs=-Xmx1536M
2+
android.enableR8=true
3+
android.useAndroidX=true
4+
android.enableJetifier=true
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#Fri Jun 23 08:50:38 CEST 2017
2+
distributionBase=GRADLE_USER_HOME
3+
distributionPath=wrapper/dists
4+
zipStoreBase=GRADLE_USER_HOME
5+
zipStorePath=wrapper/dists
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip

android/settings.gradle

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
include ':app'
2+
3+
def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
4+
5+
def plugins = new Properties()
6+
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
7+
if (pluginsFile.exists()) {
8+
pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
9+
}
10+
11+
plugins.each { name, path ->
12+
def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
13+
include ":$name"
14+
project(":$name").projectDir = pluginDirectory
15+
}

ios/.gitignore

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
*.mode1v3
2+
*.mode2v3
3+
*.moved-aside
4+
*.pbxuser
5+
*.perspectivev3
6+
**/*sync/
7+
.sconsign.dblite
8+
.tags*
9+
**/.vagrant/
10+
**/DerivedData/
11+
Icon?
12+
**/Pods/
13+
**/.symlinks/
14+
profile
15+
xcuserdata
16+
**/.generated/
17+
Flutter/App.framework
18+
Flutter/Flutter.framework
19+
Flutter/Flutter.podspec
20+
Flutter/Generated.xcconfig
21+
Flutter/app.flx
22+
Flutter/app.zip
23+
Flutter/flutter_assets/
24+
Flutter/flutter_export_environment.sh
25+
ServiceDefinitions.json
26+
Runner/GeneratedPluginRegistrant.*
27+
28+
# Exceptions to above rules.
29+
!default.mode1v3
30+
!default.mode2v3
31+
!default.pbxuser
32+
!default.perspectivev3

0 commit comments

Comments
 (0)