Skip to content

Commit cdd81dd

Browse files
authored
Simplify Android plugin lifecycle (#363)
* Simplify Android plugin lifecycle * Relax deps
1 parent 1a9b8a2 commit cdd81dd

File tree

3 files changed

+18
-32
lines changed

3 files changed

+18
-32
lines changed

android/src/main/kotlin/com/gdelataillade/alarm/alarm/AlarmPlugin.kt

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import androidx.lifecycle.Observer
1111
import com.gdelataillade.alarm.api.AlarmApiImpl
1212
import com.gdelataillade.alarm.services.AlarmRingingLiveData
1313
import io.flutter.Log
14-
import io.flutter.embedding.engine.dart.DartExecutor
1514
import io.flutter.embedding.engine.plugins.FlutterPlugin
1615
import io.flutter.embedding.engine.plugins.activity.ActivityAware
1716
import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding
@@ -22,30 +21,17 @@ class AlarmPlugin : FlutterPlugin, ActivityAware {
2221
companion object {
2322
private const val TAG = "AlarmPlugin"
2423

25-
private var mainEngine: DartExecutor? = null
26-
2724
@JvmStatic
2825
var alarmTriggerApi: AlarmTriggerApi? = null
2926
}
3027

3128
override fun onAttachedToEngine(binding: FlutterPlugin.FlutterPluginBinding) {
32-
val engine = binding.binaryMessenger as DartExecutor
33-
if (mainEngine == null) {
34-
// If this is our first engine, consider it the main one
35-
mainEngine = engine
36-
AlarmApi.setUp(binding.binaryMessenger, AlarmApiImpl(binding.applicationContext))
37-
alarmTriggerApi = AlarmTriggerApi(binding.binaryMessenger)
38-
39-
}
29+
AlarmApi.setUp(binding.binaryMessenger, AlarmApiImpl(binding.applicationContext))
30+
alarmTriggerApi = AlarmTriggerApi(binding.binaryMessenger)
4031
}
4132

4233
override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) {
43-
val engine = binding.binaryMessenger as DartExecutor
44-
45-
if (engine == mainEngine) {
46-
mainEngine = null
47-
alarmTriggerApi = null
48-
}
34+
alarmTriggerApi = null
4935
}
5036

5137
override fun onAttachedToActivity(binding: ActivityPluginBinding) {

example/pubspec.lock

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -121,10 +121,10 @@ packages:
121121
dependency: "direct main"
122122
description:
123123
name: flutter_local_notifications
124-
sha256: d59eeafd6df92174b1d5f68fc9d66634c97ce2e7cfe2293476236547bb19bbbd
124+
sha256: "33b3e0269ae9d51669957a923f2376bee96299b09915d856395af8c4238aebfa"
125125
url: "https://pub.dev"
126126
source: hosted
127-
version: "19.0.0"
127+
version: "19.1.0"
128128
flutter_local_notifications_linux:
129129
dependency: transitive
130130
description:
@@ -163,10 +163,10 @@ packages:
163163
dependency: transitive
164164
description:
165165
name: http
166-
sha256: fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f
166+
sha256: "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b"
167167
url: "https://pub.dev"
168168
source: hosted
169-
version: "1.3.0"
169+
version: "1.4.0"
170170
http_parser:
171171
dependency: transitive
172172
description:
@@ -371,10 +371,10 @@ packages:
371371
dependency: transitive
372372
description:
373373
name: shared_preferences_android
374-
sha256: c2c8c46297b5d6a80bed7741ec1f2759742c77d272f1a1698176ae828f8e1a18
374+
sha256: "20cbd561f743a342c76c151d6ddb93a9ce6005751e7aa458baad3858bfbfb6ac"
375375
url: "https://pub.dev"
376376
source: hosted
377-
version: "2.4.9"
377+
version: "2.4.10"
378378
shared_preferences_foundation:
379379
dependency: transitive
380380
description:
@@ -472,10 +472,10 @@ packages:
472472
dependency: "direct main"
473473
description:
474474
name: timezone
475-
sha256: ffc9d5f4d1193534ef051f9254063fa53d588609418c84299956c3db9383587d
475+
sha256: dd14a3b83cfd7cb19e7888f1cbc20f258b8d71b54c06f79ac585f14093a287d1
476476
url: "https://pub.dev"
477477
source: hosted
478-
version: "0.10.0"
478+
version: "0.10.1"
479479
typed_data:
480480
dependency: transitive
481481
description:
@@ -496,10 +496,10 @@ packages:
496496
dependency: transitive
497497
description:
498498
name: url_launcher_android
499-
sha256: "1d0eae19bd7606ef60fe69ef3b312a437a16549476c42321d5dc1506c9ca3bf4"
499+
sha256: "8582d7f6fe14d2652b4c45c9b6c14c0b678c2af2d083a11b604caeba51930d79"
500500
url: "https://pub.dev"
501501
source: hosted
502-
version: "6.3.15"
502+
version: "6.3.16"
503503
url_launcher_ios:
504504
dependency: transitive
505505
description:
@@ -536,10 +536,10 @@ packages:
536536
dependency: transitive
537537
description:
538538
name: url_launcher_web
539-
sha256: "3ba963161bd0fe395917ba881d320b9c4f6dd3c4a233da62ab18a5025c85f1e9"
539+
sha256: "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2"
540540
url: "https://pub.dev"
541541
source: hosted
542-
version: "2.4.0"
542+
version: "2.4.1"
543543
url_launcher_windows:
544544
dependency: transitive
545545
description:

pubspec.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ environment:
88
flutter: ">=2.5.0"
99

1010
dependencies:
11-
collection: ^1.19.1
11+
collection: any
1212
equatable: ^2.0.7
1313
flutter:
1414
sdk: flutter
@@ -23,8 +23,8 @@ dev_dependencies:
2323
build_runner: ^2.4.15
2424
flutter_test:
2525
sdk: flutter
26-
json_serializable: ^6.9.4
27-
pigeon: ^25.3.0
26+
json_serializable: ^6.9.5
27+
pigeon: ^25.3.1
2828
very_good_analysis: ^7.0.0
2929

3030
flutter:

0 commit comments

Comments
 (0)