-
Notifications
You must be signed in to change notification settings - Fork 170
Description
Is your feature request related to a problem? Please describe.
When Initialising the headless function we pass our implementation of the headless function.
While the Documentation clearly shows that we need a function that takes a single HeadlessTask data type.
The "registerHeadlessTask(Function callback)" implementation Just accepts a Function callback, meaning one could mistakenly pass it a Function (String taskId) or Function (int taskId) and the compiler won't raise an issue. This is a mistake I made and I spent a significant amount of time trying to figure out why my headless tasks were not firing but the background tasks were being called when the app is in the foreground.
I admit this was my mistake and could have been prevented if I followed the documentation to the letter but I suggest that the Implementation be tightened so as to prevent others from having such errors.
Describe the solution you'd like
Change the declaration of "BackgroundFetch.registerHeadlessTask(Function callback)" to something like "BackgroundFetch.registerHeadlessTask(Function(HeadlessTask) callback)" hence the compiler would flag it if one passes the wrong fucntion type.
** Edit
While at we could also improve the BackgroundFetch.configure parameter "onFetch" Function declaration from "Function onFetch" to "Function(String taskId) onFetch".
I also suggest the same for the "onTimeout" parameter