@@ -11,10 +11,12 @@ extension String {
1111
1212public class SwiftWorkmanagerPlugin : FlutterPluginAppLifeCycleDelegate {
1313 static let identifier = " be.tramckrijte.workmanager "
14-
15- static let defaultBGProcessingTaskIdentifier = " workmanager.background.task "
14+
15+ // note: this must also be in info.plist - see key: BGTaskSchedulerPermittedIdentifiers
1616 static let defaultBGAppRefreshTaskIdentifier = " workmanager.background.refresh.task "
17- var bgRefreshTaskFrequency = 0.0
17+
18+ // gets set when task is scheduled. If value is 0.0 it doesn't Repeat
19+ static var bgRefreshTaskFrequency = 0.0
1820
1921 private static var flutterPluginRegistrantCallback : FlutterPluginRegistrantCallback ?
2022
@@ -89,7 +91,7 @@ public class SwiftWorkmanagerPlugin: FlutterPluginAppLifeCycleDelegate {
8991 }
9092
9193 @available ( iOS 13 . 0 , * )
92- private func scheduleAppRefresh( ) {
94+ private static func scheduleAppRefresh( ) {
9395 let request = BGAppRefreshTaskRequest ( identifier: SwiftWorkmanagerPlugin . defaultBGAppRefreshTaskIdentifier)
9496
9597 request. earliestBeginDate = Date ( timeIntervalSinceNow: bgRefreshTaskFrequency * 60 )
@@ -102,7 +104,7 @@ public class SwiftWorkmanagerPlugin: FlutterPluginAppLifeCycleDelegate {
102104 }
103105
104106 @available ( iOS 13 . 0 , * )
105- private func handleAppRefresh( task: BGAppRefreshTask ) {
107+ private static func handleAppRefresh( task: BGAppRefreshTask ) {
106108 print ( " handleAppRefresh() " , task. identifier)
107109
108110 if ( bgRefreshTaskFrequency > 0 ) {
@@ -145,8 +147,9 @@ public class SwiftWorkmanagerPlugin: FlutterPluginAppLifeCycleDelegate {
145147 }
146148 }
147149
150+ // just using the static identifier for now.
148151 BGTaskScheduler . shared. register ( forTaskWithIdentifier: SwiftWorkmanagerPlugin . defaultBGAppRefreshTaskIdentifier, using: nil ) { task in
149- self . handleAppRefresh ( task: task as! BGAppRefreshTask )
152+ handleAppRefresh ( task: task as! BGAppRefreshTask )
150153 }
151154 }
152155 }
@@ -188,7 +191,7 @@ extension SwiftWorkmanagerPlugin: FlutterPlugin {
188191
189192 case ( ForegroundMethodChannel . Methods. RegisterAppRefreshTask. name, let . some( arguments) ) :
190193 print ( " ForegroundMethodChannel.Methods.RegisterAppRefreshTask " )
191- if !validateCallbackHandle( result: result) {
194+ if !SwiftWorkmanagerPlugin . validateCallbackHandle ( result: result) {
192195 return
193196 }
194197
@@ -200,14 +203,14 @@ extension SwiftWorkmanagerPlugin: FlutterPlugin {
200203 return
201204 }
202205
203- guard let regreshFrequencySeconds =
206+ guard let refreshFrequencySeconds =
204207 arguments [ method. Arguments. refreshFrequencySeconds. rawValue] as? Int64 else {
205208 result ( WMPError . invalidParameters. asFlutterError)
206209 return
207210 }
208211
209212 // save this, can't store in task
210- bgRefreshTaskFrequency = Double ( regreshFrequencySeconds )
213+ SwiftWorkmanagerPlugin . bgRefreshTaskFrequency = Double ( refreshFrequencySeconds )
211214
212215 let request = BGAppRefreshTaskRequest (
213216 identifier: SwiftWorkmanagerPlugin . defaultBGAppRefreshTaskIdentifier
@@ -228,7 +231,7 @@ extension SwiftWorkmanagerPlugin: FlutterPlugin {
228231 }
229232
230233 case ( ForegroundMethodChannel . Methods. RegisterOneOffTask. name, let . some( arguments) ) :
231- if !validateCallbackHandle( result: result) {
234+ if !SwiftWorkmanagerPlugin . validateCallbackHandle ( result: result) {
232235 return
233236 }
234237
@@ -295,7 +298,7 @@ extension SwiftWorkmanagerPlugin: FlutterPlugin {
295298 }
296299 }
297300
298- private func validateCallbackHandle( result: @escaping FlutterResult ) -> Bool {
301+ private static func validateCallbackHandle( result: @escaping FlutterResult ) -> Bool {
299302 let valid = UserDefaultsHelper . getStoredCallbackHandle ( ) != nil
300303 if ( !valid) {
301304 result (
0 commit comments