Broadcast when situation or setting is "deleted"
Locale should broadcast an event when a situation or setting is "deleted" by the user, but the situation remains active.
For example: The situation "At Work" is active and includes a setting to "Block All Calls". The user is not using a default situation or the default situation does not include an "unblock calls" setting. If the user removes the "Block Calls" setting from the "At Work" situation while sitting at their desk at work... the phone will continue to block calls. There was no broadcast to alert the phone that it should restore itself to a pre-setting-applied state, and the original situation still applies so no other situation can correct it.
(I know a "default" situation is the proper solution, but not all users utilize this functionality)
What happens if the user uninstalls Locale or clears Locale’s configuration data using the Manage Applications screen? Both of these cases would delete the setting instance, but Locale wouldn’t be able to notify the plug-in deletion occurred.
For settings where the user might want to manually restore some normal state, we recommend providing a top-level Launcher Activity. A great example of a Locale plug-in that does this is APNDroid. It provides a Locale plug-in, but it can also be configured manually via a Launcher Activity just in case the user needs to reset his configuration.
1 comment
-
skylarsutton
commented
@carter - so instead of fixing two potential problems (setting deleted / situation deleted) and waiting for google to implement broadcasts that would fix the other two... you want to leave all 4 as potential problems for the user? I swear, I am done with Locale and plugins - you are the most unresponsive dev.
With regards to a top level launcher... it actually goes against your entire mantra of Locale: "It just works". If the user didn't remember to use a default situation what on earth would make them remember to launch it manually?