Skip to content

Commit 1522e99

Browse files
authored
Update WakelockPlusPlugin.kt
package dev.fluttercommunity.plus.wakelock import io.flutter.embedding.engine.plugins.FlutterPlugin import io.flutter.embedding.engine.plugins.activity.ActivityAware import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding /** * A Flutter plugin for managing wakelock functionality on Android. * * This class implements [WakelockPlusApi] for handling wakelock toggle and status queries, * and [ActivityAware] for managing the Android activity lifecycle. */ class WakelockPlusPlugin : FlutterPlugin, WakelockPlusApi, ActivityAware { private var wakelock: Wakelock? = null override fun onAttachedToEngine(binding: FlutterPlugin.FlutterPluginBinding) { wakelock = Wakelock() WakelockPlusApi.setUp(binding.binaryMessenger, this) } override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) { WakelockPlusApi.setUp(binding.binaryMessenger, null) wakelock = null } override fun onAttachedToActivity(binding: ActivityPluginBinding) { wakelock?.activity = binding.activity } override fun onDetachedFromActivity() { wakelock?.activity = null } override fun onReattachedToActivityForConfigChanges(binding: ActivityPluginBinding) { onAttachedToActivity(binding) } override fun onDetachedFromActivityForConfigChanges() { onDetachedFromActivity() } /** * Toggles the wakelock state based on the provided message. * * @param message The [ToggleMessage] containing the enable state. * @throws NoActivityException If no activity is available for wakelock operations. */ override fun toggle(message: ToggleMessage) { wakelock?.toggle(message) ?: throw NoActivityException() } /** * Queries the current wakelock state. * * @return An [IsEnabledMessage] indicating whether the wakelock is enabled. * @throws NoActivityException If no activity is available for wakelock operations. */ override fun isEnabled(): IsEnabledMessage { return wakelock?.isEnabled() ?: throw NoActivityException() } }
1 parent 0c74e5b commit 1522e99

File tree

1 file changed

+54
-41
lines changed

1 file changed

+54
-41
lines changed
Lines changed: 54 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,61 @@
11
package dev.fluttercommunity.plus.wakelock
22

3-
import IsEnabledMessage
4-
import ToggleMessage
5-
import WakelockPlusApi
6-
73
import io.flutter.embedding.engine.plugins.FlutterPlugin
84
import io.flutter.embedding.engine.plugins.activity.ActivityAware
95
import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding
106

11-
/** WakelockPlusPlugin */
12-
class WakelockPlusPlugin: FlutterPlugin, WakelockPlusApi, ActivityAware {
13-
private var wakelock: Wakelock? = null
14-
15-
override fun onAttachedToEngine(flutterPluginBinding: FlutterPlugin.FlutterPluginBinding) {
16-
WakelockPlusApi.setUp(flutterPluginBinding.binaryMessenger, this)
17-
wakelock = Wakelock()
18-
}
19-
20-
override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) {
21-
WakelockPlusApi.setUp(binding.binaryMessenger, null)
22-
wakelock = null
23-
}
24-
25-
override fun onAttachedToActivity(binding: ActivityPluginBinding) {
26-
wakelock?.activity = binding.activity
27-
}
28-
29-
override fun onDetachedFromActivity() {
30-
wakelock?.activity = null
31-
}
32-
33-
override fun onReattachedToActivityForConfigChanges(binding: ActivityPluginBinding) {
34-
onAttachedToActivity(binding)
35-
}
36-
37-
override fun onDetachedFromActivityForConfigChanges() {
38-
onDetachedFromActivity()
39-
}
40-
41-
override fun toggle(msg: ToggleMessage) {
42-
wakelock!!.toggle(msg)
43-
}
44-
45-
override fun isEnabled(): IsEnabledMessage {
46-
return wakelock!!.isEnabled()
47-
}
7+
/**
8+
* A Flutter plugin for managing wakelock functionality on Android.
9+
*
10+
* This class implements [WakelockPlusApi] for handling wakelock toggle and status queries,
11+
* and [ActivityAware] for managing the Android activity lifecycle.
12+
*/
13+
class WakelockPlusPlugin : FlutterPlugin, WakelockPlusApi, ActivityAware {
14+
private var wakelock: Wakelock? = null
15+
16+
override fun onAttachedToEngine(binding: FlutterPlugin.FlutterPluginBinding) {
17+
wakelock = Wakelock()
18+
WakelockPlusApi.setUp(binding.binaryMessenger, this)
19+
}
20+
21+
override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) {
22+
WakelockPlusApi.setUp(binding.binaryMessenger, null)
23+
wakelock = null
24+
}
25+
26+
override fun onAttachedToActivity(binding: ActivityPluginBinding) {
27+
wakelock?.activity = binding.activity
28+
}
29+
30+
override fun onDetachedFromActivity() {
31+
wakelock?.activity = null
32+
}
33+
34+
override fun onReattachedToActivityForConfigChanges(binding: ActivityPluginBinding) {
35+
onAttachedToActivity(binding)
36+
}
37+
38+
override fun onDetachedFromActivityForConfigChanges() {
39+
onDetachedFromActivity()
40+
}
41+
42+
/**
43+
* Toggles the wakelock state based on the provided message.
44+
*
45+
* @param message The [ToggleMessage] containing the enable state.
46+
* @throws NoActivityException If no activity is available for wakelock operations.
47+
*/
48+
override fun toggle(message: ToggleMessage) {
49+
wakelock?.toggle(message) ?: throw NoActivityException()
50+
}
51+
52+
/**
53+
* Queries the current wakelock state.
54+
*
55+
* @return An [IsEnabledMessage] indicating whether the wakelock is enabled.
56+
* @throws NoActivityException If no activity is available for wakelock operations.
57+
*/
58+
override fun isEnabled(): IsEnabledMessage {
59+
return wakelock?.isEnabled() ?: throw NoActivityException()
60+
}
4861
}

0 commit comments

Comments
 (0)