forked from flutter/samples
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adds android_using_prebuilt_module to add-to-app samples (flutter#154)
- Loading branch information
1 parent
bfdc218
commit 2af51a8
Showing
33 changed files
with
807 additions
and
0 deletions.
There are no files selected for viewing
14 changes: 14 additions & 0 deletions
14
experimental/add_to_app/android_using_prebuilt_module/.gitignore
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
*.iml | ||
.gradle | ||
/local.properties | ||
/.idea/caches | ||
/.idea/libraries | ||
/.idea/modules.xml | ||
/.idea/workspace.xml | ||
/.idea/navEditor.xml | ||
/.idea/assetWizardSettings.xml | ||
.DS_Store | ||
/build | ||
/captures | ||
.externalNativeBuild | ||
.cxx |
1 change: 1 addition & 0 deletions
1
experimental/add_to_app/android_using_prebuilt_module/app/.gitignore
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
/build |
58 changes: 58 additions & 0 deletions
58
experimental/add_to_app/android_using_prebuilt_module/app/build.gradle
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
apply plugin: 'com.android.application' | ||
|
||
apply plugin: 'kotlin-android' | ||
|
||
apply plugin: 'kotlin-android-extensions' | ||
|
||
android { | ||
compileSdkVersion 28 | ||
buildToolsVersion "29.0.2" | ||
defaultConfig { | ||
applicationId "dev.flutter.example.androidusingprebuiltmodule" | ||
minSdkVersion 19 | ||
targetSdkVersion 28 | ||
versionCode 1 | ||
versionName "1.0" | ||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" | ||
} | ||
buildTypes { | ||
release { | ||
minifyEnabled false | ||
} | ||
} | ||
compileOptions { | ||
sourceCompatibility 1.8 | ||
targetCompatibility 1.8 | ||
} | ||
} | ||
|
||
repositories { | ||
maven { | ||
// This maven repo is created when you run `flutter build aar`. It contains compiled code | ||
// and resources for flutter_module itself. | ||
url '../../flutter_module/build/host/outputs/repo' | ||
} | ||
maven { | ||
// This maven repo contains artifacts for Flutter's Android embedding. | ||
url 'http://download.flutter.io' | ||
} | ||
} | ||
|
||
dependencies { | ||
releaseImplementation ('dev.flutter.example.flutter_module:flutter_release:1.0@aar') { | ||
transitive = true | ||
} | ||
|
||
debugImplementation ('dev.flutter.example.flutter_module:flutter_debug:1.0@aar') { | ||
transitive = true | ||
} | ||
|
||
implementation fileTree(dir: 'libs', include: ['*.jar']) | ||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" | ||
implementation 'androidx.appcompat:appcompat:1.1.0' | ||
implementation 'androidx.core:core-ktx:1.1.0' | ||
implementation 'androidx.constraintlayout:constraintlayout:1.1.3' | ||
testImplementation 'junit:junit:4.12' | ||
androidTestImplementation 'androidx.test.ext:junit:1.1.1' | ||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' | ||
} |
24 changes: 24 additions & 0 deletions
24
...ndroidTest/java/dev/flutter/example/androidusingprebuiltmodule/ExampleInstrumentedTest.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
package dev.flutter.example.androidusingprebuiltmodule | ||
|
||
import androidx.test.platform.app.InstrumentationRegistry | ||
import androidx.test.ext.junit.runners.AndroidJUnit4 | ||
|
||
import org.junit.Test | ||
import org.junit.runner.RunWith | ||
|
||
import org.junit.Assert.* | ||
|
||
/** | ||
* Instrumented test, which will execute on an Android device. | ||
* | ||
* See [testing documentation](http://d.android.com/tools/testing). | ||
*/ | ||
@RunWith(AndroidJUnit4::class) | ||
class ExampleInstrumentedTest { | ||
@Test | ||
fun useAppContext() { | ||
// Context of the app under test. | ||
val appContext = InstrumentationRegistry.getInstrumentation().targetContext | ||
assertEquals("dev.flutter.example.androidusingprebuiltmodule", appContext.packageName) | ||
} | ||
} |
29 changes: 29 additions & 0 deletions
29
experimental/add_to_app/android_using_prebuilt_module/app/src/main/AndroidManifest.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" | ||
package="dev.flutter.example.androidusingprebuiltmodule"> | ||
|
||
<application | ||
android:name=".MyApplication" | ||
android:allowBackup="true" | ||
android:icon="@mipmap/ic_launcher" | ||
android:label="@string/app_name" | ||
android:roundIcon="@mipmap/ic_launcher_round" | ||
android:supportsRtl="true" | ||
android:theme="@style/AppTheme"> | ||
<activity android:name=".MainActivity"> | ||
<intent-filter> | ||
<action android:name="android.intent.action.MAIN" /> | ||
|
||
<category android:name="android.intent.category.LAUNCHER" /> | ||
</intent-filter> | ||
</activity> | ||
<activity | ||
android:name="io.flutter.embedding.android.FlutterActivity" | ||
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density" | ||
android:hardwareAccelerated="true" | ||
android:windowSoftInputMode="adjustResize" | ||
android:exported="true" | ||
/> | ||
</application> | ||
|
||
</manifest> |
37 changes: 37 additions & 0 deletions
37
...t_module/app/src/main/java/dev/flutter/example/androidusingprebuiltmodule/MainActivity.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
// Copyright 2019 The Flutter team. All rights reserved. | ||
// Use of this source code is governed by a BSD-style license that can be | ||
// found in the LICENSE file. | ||
|
||
package dev.flutter.example.androidusingprebuiltmodule | ||
|
||
import android.os.Bundle | ||
import android.widget.Button | ||
import android.widget.TextView | ||
import androidx.appcompat.app.AppCompatActivity | ||
import io.flutter.embedding.android.FlutterActivity | ||
|
||
class MainActivity : AppCompatActivity() { | ||
private var counterLabel: TextView? = null | ||
|
||
override fun onCreate(savedInstanceState: Bundle?) { | ||
super.onCreate(savedInstanceState) | ||
setContentView(R.layout.activity_main) | ||
|
||
counterLabel = findViewById(R.id.counter_label) | ||
|
||
val button = findViewById<Button>(R.id.launch_button) | ||
|
||
button.setOnClickListener { | ||
val intent = FlutterActivity | ||
.withCachedEngine(ENGINE_ID) | ||
.build(this) | ||
startActivity(intent) | ||
} | ||
} | ||
|
||
override fun onResume() { | ||
super.onResume() | ||
val app = application as MyApplication | ||
counterLabel?.text = "Current count: ${app.count}" | ||
} | ||
} |
50 changes: 50 additions & 0 deletions
50
..._module/app/src/main/java/dev/flutter/example/androidusingprebuiltmodule/MyApplication.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
// Copyright 2019 The Flutter team. All rights reserved. | ||
// Use of this source code is governed by a BSD-style license that can be | ||
// found in the LICENSE file. | ||
|
||
package dev.flutter.example.androidusingprebuiltmodule | ||
|
||
import android.app.Application | ||
import io.flutter.embedding.engine.FlutterEngine | ||
import io.flutter.embedding.engine.FlutterEngineCache | ||
import io.flutter.embedding.engine.dart.DartExecutor | ||
import io.flutter.plugin.common.MethodChannel | ||
|
||
const val ENGINE_ID = "1" | ||
|
||
class MyApplication : Application() { | ||
var count = 0 | ||
|
||
private var channel: MethodChannel? = null | ||
|
||
override fun onCreate() { | ||
super.onCreate() | ||
|
||
val flutterEngine = FlutterEngine(this) | ||
flutterEngine | ||
.dartExecutor | ||
.executeDartEntrypoint( | ||
DartExecutor.DartEntrypoint.createDefault() | ||
) | ||
|
||
FlutterEngineCache.getInstance().put(ENGINE_ID, flutterEngine) | ||
|
||
channel = MethodChannel(flutterEngine.dartExecutor, "dev.flutter.example/counter") | ||
|
||
channel?.setMethodCallHandler { call, _ -> | ||
when (call.method) { | ||
"incrementCounter" -> { | ||
count++ | ||
reportCounter() | ||
} | ||
"requestCounter" -> { | ||
reportCounter() | ||
} | ||
} | ||
} | ||
} | ||
|
||
private fun reportCounter() { | ||
channel?.invokeMethod("reportCounter", count) | ||
} | ||
} |
34 changes: 34 additions & 0 deletions
34
...pp/android_using_prebuilt_module/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
<vector xmlns:android="http://schemas.android.com/apk/res/android" | ||
xmlns:aapt="http://schemas.android.com/aapt" | ||
android:width="108dp" | ||
android:height="108dp" | ||
android:viewportWidth="108" | ||
android:viewportHeight="108"> | ||
<path | ||
android:fillType="evenOdd" | ||
android:pathData="M32,64C32,64 38.39,52.99 44.13,50.95C51.37,48.37 70.14,49.57 70.14,49.57L108.26,87.69L108,109.01L75.97,107.97L32,64Z" | ||
android:strokeWidth="1" | ||
android:strokeColor="#00000000"> | ||
<aapt:attr name="android:fillColor"> | ||
<gradient | ||
android:endX="78.5885" | ||
android:endY="90.9159" | ||
android:startX="48.7653" | ||
android:startY="61.0927" | ||
android:type="linear"> | ||
<item | ||
android:color="#44000000" | ||
android:offset="0.0" /> | ||
<item | ||
android:color="#00000000" | ||
android:offset="1.0" /> | ||
</gradient> | ||
</aapt:attr> | ||
</path> | ||
<path | ||
android:fillColor="#FFFFFF" | ||
android:fillType="nonZero" | ||
android:pathData="M66.94,46.02L66.94,46.02C72.44,50.07 76,56.61 76,64L32,64C32,56.61 35.56,50.11 40.98,46.06L36.18,41.19C35.45,40.45 35.45,39.3 36.18,38.56C36.91,37.81 38.05,37.81 38.78,38.56L44.25,44.05C47.18,42.57 50.48,41.71 54,41.71C57.48,41.71 60.78,42.57 63.68,44.05L69.11,38.56C69.84,37.81 70.98,37.81 71.71,38.56C72.44,39.3 72.44,40.45 71.71,41.19L66.94,46.02ZM62.94,56.92C64.08,56.92 65,56.01 65,54.88C65,53.76 64.08,52.85 62.94,52.85C61.8,52.85 60.88,53.76 60.88,54.88C60.88,56.01 61.8,56.92 62.94,56.92ZM45.06,56.92C46.2,56.92 47.13,56.01 47.13,54.88C47.13,53.76 46.2,52.85 45.06,52.85C43.92,52.85 43,53.76 43,54.88C43,56.01 43.92,56.92 45.06,56.92Z" | ||
android:strokeWidth="1" | ||
android:strokeColor="#00000000" /> | ||
</vector> |
Oops, something went wrong.