diff --git a/very_good_flutter_plugin/__brick__/{{project_name.snakeCase()}}/{{#android}}{{project_name.snakeCase()}}_android{{/android}}/android/.gitignore b/very_good_flutter_plugin/__brick__/{{project_name.snakeCase()}}/{{#android}}{{project_name.snakeCase()}}_android{{/android}}/android/.gitignore index 2665975..71642f1 100644 --- a/very_good_flutter_plugin/__brick__/{{project_name.snakeCase()}}/{{#android}}{{project_name.snakeCase()}}_android{{/android}}/android/.gitignore +++ b/very_good_flutter_plugin/__brick__/{{project_name.snakeCase()}}/{{#android}}{{project_name.snakeCase()}}_android{{/android}}/android/.gitignore @@ -5,4 +5,5 @@ /.idea/libraries .DS_Store /build -/captures \ No newline at end of file +/captures +.cxx \ No newline at end of file diff --git a/very_good_flutter_plugin/__brick__/{{project_name.snakeCase()}}/{{#android}}{{project_name.snakeCase()}}_android{{/android}}/android/build.gradle b/very_good_flutter_plugin/__brick__/{{project_name.snakeCase()}}/{{#android}}{{project_name.snakeCase()}}_android{{/android}}/android/build.gradle index ede4656..023958e 100644 --- a/very_good_flutter_plugin/__brick__/{{project_name.snakeCase()}}/{{#android}}{{project_name.snakeCase()}}_android{{/android}}/android/build.gradle +++ b/very_good_flutter_plugin/__brick__/{{project_name.snakeCase()}}/{{#android}}{{project_name.snakeCase()}}_android{{/android}}/android/build.gradle @@ -2,19 +2,19 @@ group '{{org_name.dotCase()}}' version '1.0-SNAPSHOT' buildscript { - ext.kotlin_version = '1.3.50' + ext.kotlin_version = '1.7.10' repositories { google() mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:4.1.0' + classpath 'com.android.tools.build:gradle:7.3.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } -rootProject.allprojects { +allprojects { repositories { google() mavenCentral() @@ -25,7 +25,11 @@ apply plugin: 'com.android.library' apply plugin: 'kotlin-android' android { - compileSdkVersion 30 + if (project.android.hasProperty("namespace")) { + namespace '{{org_name.dotCase()}}' + } + + compileSdk 34 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 @@ -38,13 +42,27 @@ android { sourceSets { main.java.srcDirs += 'src/main/kotlin' + test.java.srcDirs += 'src/test/kotlin' } defaultConfig { - minSdkVersion 16 + minSdkVersion 19 + } + + dependencies { + testImplementation 'org.jetbrains.kotlin:kotlin-test' + testImplementation 'org.mockito:mockito-core:5.0.0' } -} -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + testOptions { + unitTests.all { + useJUnitPlatform() + + testLogging { + events "passed", "skipped", "failed", "standardOut", "standardError" + outputs.upToDateWhen {false} + showStandardStreams = true + } + } + } } \ No newline at end of file diff --git a/very_good_flutter_plugin/__brick__/{{project_name.snakeCase()}}/{{#android}}{{project_name.snakeCase()}}_android{{/android}}/android/src/main/kotlin/{{org_name.pathCase()}}/{{project_name.pascalCase()}}Plugin.kt b/very_good_flutter_plugin/__brick__/{{project_name.snakeCase()}}/{{#android}}{{project_name.snakeCase()}}_android{{/android}}/android/src/main/kotlin/{{org_name.pathCase()}}/{{project_name.pascalCase()}}Plugin.kt index 43ce513..6ff7045 100644 --- a/very_good_flutter_plugin/__brick__/{{project_name.snakeCase()}}/{{#android}}{{project_name.snakeCase()}}_android{{/android}}/android/src/main/kotlin/{{org_name.pathCase()}}/{{project_name.pascalCase()}}Plugin.kt +++ b/very_good_flutter_plugin/__brick__/{{project_name.snakeCase()}}/{{#android}}{{project_name.snakeCase()}}_android{{/android}}/android/src/main/kotlin/{{org_name.pathCase()}}/{{project_name.pascalCase()}}Plugin.kt @@ -1,6 +1,5 @@ package {{org_name.dotCase()}} -import android.content.Context import androidx.annotation.NonNull import io.flutter.embedding.engine.plugins.FlutterPlugin @@ -11,17 +10,15 @@ import io.flutter.plugin.common.MethodChannel.Result class {{project_name.pascalCase()}}Plugin : FlutterPlugin, MethodCallHandler { private lateinit var channel: MethodChannel - private var context: Context? = null override fun onAttachedToEngine(@NonNull flutterPluginBinding: FlutterPlugin.FlutterPluginBinding) { channel = MethodChannel(flutterPluginBinding.binaryMessenger, "{{project_name.snakeCase()}}_android") channel.setMethodCallHandler(this) - context = flutterPluginBinding.applicationContext } override fun onMethodCall(@NonNull call: MethodCall, @NonNull result: Result) { if (call.method == "getPlatformName") { - result.success("Android") + result.success("Android ${android.os.Build.VERSION.RELEASE}") } else { result.notImplemented() } @@ -29,6 +26,5 @@ class {{project_name.pascalCase()}}Plugin : FlutterPlugin, MethodCallHandler { override fun onDetachedFromEngine(@NonNull binding: FlutterPlugin.FlutterPluginBinding) { channel.setMethodCallHandler(null) - context = null } } \ No newline at end of file