Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
## [0.6.0] - 15-11-2019

* update gradle
* migrate to androidX

## [0.5.6] - 13-05-2019

* added null check in Android layout callback
Expand Down
6 changes: 3 additions & 3 deletions android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ buildscript {
}

dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
classpath 'com.android.tools.build:gradle:3.5.2'
}
}

Expand All @@ -22,11 +22,11 @@ rootProject.allprojects {
apply plugin: 'com.android.library'

android {
compileSdkVersion 27
compileSdkVersion 29

defaultConfig {
minSdkVersion 16
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
lintOptions {
disable 'InvalidPackage'
Expand Down
1 change: 1 addition & 0 deletions android/gradle.properties
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
org.gradle.jvmargs=-Xmx1536M
android.enableR8=true
25 changes: 10 additions & 15 deletions lib/keyboard_visibility.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import 'package:flutter/services.dart';
import 'dart:async';

import 'package:flutter/services.dart';

/// A base class to handle the subscribing events
class KeyboardVisibilitySubscriber {
/// Called when a keyboard visibility event occurs
Expand All @@ -20,10 +21,8 @@ class KeyboardVisibilitySubscriber {

/// The notification class that handles all information
class KeyboardVisibilityNotification {
static const EventChannel _keyboardVisibilityStream =
const EventChannel('github.com/adee42/flutter_keyboard_visibility');
static Map<int, KeyboardVisibilitySubscriber> _list =
Map<int, KeyboardVisibilitySubscriber>();
static const EventChannel _keyboardVisibilityStream = const EventChannel('github.com/adee42/flutter_keyboard_visibility');
static Map<int, KeyboardVisibilitySubscriber> _list = Map<int, KeyboardVisibilitySubscriber>();
static StreamSubscription _keyboardVisibilitySubscription;
static int _currentIndex = 0;

Expand All @@ -32,9 +31,7 @@ class KeyboardVisibilityNotification {

/// Constructs a new [KeyboardVisibilityNotification]
KeyboardVisibilityNotification() {
_keyboardVisibilitySubscription ??= _keyboardVisibilityStream
.receiveBroadcastStream()
.listen(onKeyboardEvent);
_keyboardVisibilitySubscription ??= _keyboardVisibilityStream.receiveBroadcastStream().listen(onKeyboardEvent);
}

/// Internal function to handle native code channel communication
Expand Down Expand Up @@ -62,10 +59,8 @@ class KeyboardVisibilityNotification {
/// [onShow] is called when the keyboard appears
/// [onHide] is called when the keyboard disappears
/// Returns a subscribing id that can be used to unsubscribe
int addNewListener(
{Function(bool) onChange, Function onShow, Function onHide}) {
_list[_currentIndex] = KeyboardVisibilitySubscriber(
onChange: onChange, onShow: onShow, onHide: onHide);
int addNewListener({Function(bool) onChange, Function onShow, Function onHide}) {
_list[_currentIndex] = KeyboardVisibilitySubscriber(onChange: onChange, onShow: onShow, onHide: onHide);
return _currentIndex++;
}

Expand All @@ -83,9 +78,9 @@ class KeyboardVisibilityNotification {
}

/// Internal function to clear class on dispose
dispose() {
if (_list.length == 0) {
_keyboardVisibilitySubscription?.cancel()?.catchError((e) {});
void dispose() {
if (_list.isEmpty) {
_keyboardVisibilitySubscription?.cancel()?.catchError(() {});
_keyboardVisibilitySubscription = null;
}
}
Expand Down
2 changes: 1 addition & 1 deletion pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: keyboard_visibility
description: Flutter plugin for discovering the state of the soft-keyboard visibility on Android and iOS.
version: 0.5.6
version: 0.6.0
author: adee42 <42adee@gmail.com>
homepage: https://github.com/adee42/flutter_keyboard_visibility/tree/master

Expand Down