diff --git a/android/build.gradle b/android/build.gradle index b6a428f..6baebf4 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -22,7 +22,7 @@ rootProject.allprojects { apply plugin: 'com.android.library' android { - compileSdkVersion 27 + compileSdkVersion 28 defaultConfig { minSdkVersion 16 diff --git a/android/src/main/java/com/github/adee42/keyboardvisibility/KeyboardVisibilityPlugin.java b/android/src/main/java/com/github/adee42/keyboardvisibility/KeyboardVisibilityPlugin.java index bc45dff..1f2dbb1 100644 --- a/android/src/main/java/com/github/adee42/keyboardvisibility/KeyboardVisibilityPlugin.java +++ b/android/src/main/java/com/github/adee42/keyboardvisibility/KeyboardVisibilityPlugin.java @@ -1,24 +1,19 @@ package com.github.adee42.keyboardvisibility; -import io.flutter.plugin.common.EventChannel; -import io.flutter.plugin.common.EventChannel.EventSink; -import io.flutter.plugin.common.EventChannel.StreamHandler; -import io.flutter.plugin.common.MethodChannel; -import io.flutter.plugin.common.MethodChannel.MethodCallHandler; -import io.flutter.plugin.common.MethodChannel.Result; -import io.flutter.plugin.common.MethodCall; -import io.flutter.plugin.common.PluginRegistry; -import io.flutter.plugin.common.PluginRegistry.Registrar; - import android.app.Activity; import android.app.Application; -import android.content.Intent; import android.graphics.Rect; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.view.ViewTreeObserver; +import io.flutter.app.FlutterActivity; +import io.flutter.plugin.common.EventChannel; +import io.flutter.plugin.common.EventChannel.EventSink; +import io.flutter.plugin.common.EventChannel.StreamHandler; +import io.flutter.plugin.common.PluginRegistry.Registrar; + public class KeyboardVisibilityPlugin implements StreamHandler, Application.ActivityLifecycleCallbacks, ViewTreeObserver.OnGlobalLayoutListener { private static final String STREAM_CHANNEL_NAME = "github.com/adee42/flutter_keyboard_visibility"; @@ -59,12 +54,13 @@ public void onActivityCreated(Activity activity, Bundle bundle) { @Override public void onActivityStarted(Activity activity) { - try { - mainView = ((ViewGroup)activity.findViewById(android.R.id.content)).getChildAt(0); - mainView.getViewTreeObserver().addOnGlobalLayoutListener(this); - } - catch (Exception e) { - // do nothing + if (activity instanceof FlutterActivity) { + try { + mainView = ((ViewGroup) activity.findViewById(android.R.id.content)).getChildAt(0); + mainView.getViewTreeObserver().addOnGlobalLayoutListener(this); + } catch (Exception e) { + // do nothing + } } } @@ -78,7 +74,9 @@ public void onActivityPaused(Activity activity) { @Override public void onActivityStopped(Activity activity) { - unregisterListener(); + if (activity instanceof FlutterActivity) { + unregisterListener(); + } } @Override @@ -87,8 +85,9 @@ public void onActivitySaveInstanceState(Activity activity, Bundle bundle) { @Override public void onActivityDestroyed(Activity activity) { - - unregisterListener(); + if (activity instanceof FlutterActivity) { + unregisterListener(); + } } private void unregisterListener() { diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index f97cd40..d7f2d8e 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -25,7 +25,7 @@ apply plugin: 'com.android.application' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { - compileSdkVersion 27 + compileSdkVersion 28 lintOptions { disable 'InvalidPackage' @@ -35,7 +35,7 @@ android { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "com.github.adee42.keyboardvisibilityexample" minSdkVersion 16 - targetSdkVersion 27 + targetSdkVersion 28 versionCode flutterVersionCode.toInteger() versionName flutterVersionName testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" diff --git a/example/android/build.gradle b/example/android/build.gradle index bb8a303..6de3728 100644 --- a/example/android/build.gradle +++ b/example/android/build.gradle @@ -5,7 +5,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:3.2.1' + classpath 'com.android.tools.build:gradle:3.5.3' } } diff --git a/example/android/gradle.properties b/example/android/gradle.properties index 8bd86f6..7be3d8b 100644 --- a/example/android/gradle.properties +++ b/example/android/gradle.properties @@ -1 +1,2 @@ org.gradle.jvmargs=-Xmx1536M +android.enableR8=true diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties index 2819f02..63ab3ae 100644 --- a/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/example/android/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ 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 +distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip diff --git a/example/ios/Flutter/Debug.xcconfig b/example/ios/Flutter/Debug.xcconfig index 592ceee..e8efba1 100644 --- a/example/ios/Flutter/Debug.xcconfig +++ b/example/ios/Flutter/Debug.xcconfig @@ -1 +1,2 @@ +#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "Generated.xcconfig" diff --git a/example/ios/Flutter/Release.xcconfig b/example/ios/Flutter/Release.xcconfig index 592ceee..399e934 100644 --- a/example/ios/Flutter/Release.xcconfig +++ b/example/ios/Flutter/Release.xcconfig @@ -1 +1,2 @@ +#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "Generated.xcconfig"