OpenWatch Button Condition

Choose a Watch button

Choose which Watch button will trigger this condition

Watch Compatibility

I have tested this plug-in using a 2.1 Milestone and several MBW-150 Sony Ericsson Watches, because this plug-in uses the OpenWatch API, any Watch who's buttons it supports should also work.

Troubleshooting

Check External notifications are enabled in OpenWatch Settings. Check the Watch is currently connected via Bluetooth (the OpenWatch notification icon should be blue not grey).

Why it might not work (or what you should check)

You probably need to understand what locale means by 'Situation,Condition and Setting' before reading this.

If you have a simple situation with this condition and one or more settings, you should have not have a problem (please email me a bug report if you do).

If you have multiple conditions in a situation then ALL of these conditions must be true before the settings of the situation are processed. This can lead to a delay in perceived response time from this plug-in (I have no control over the time it takes to process the other conditions, and in the case of location checks this can appear to be a long time). I cannot control the order in which the conditions are checked within a situation. These are restrictions imposed by Locale's architecture.

If you have multiple situations which all check for the same button press, then the first condition to check the button state will see the button as pressed - and reset it to unpressed. Most of the time this can be controlled this by ordering your situation using Locale.

All things considered I still think it's worth releasing this plug-in for simple situations. Just be wary when you get into multiple situations with multiple conditions, as you need to be careful on how you order the situations.

Before you say it why don't you

Send a response back to the Watch as soon as you receive the button press?

At that time you don't know if other potential conditions in the situation will be true, and so you cannot be sure that the situation for which this condition exists will be true. The only safe way is to configure a setting to respond.

Use a 'publish and subscribe' pattern on the service to prevent one condition resetting the button state before other conditions get to see it.

Scenario: if I have three situations each with a condition, to check the Rewind Button you might expect locale to make three calls to the plug-in, which would mean I could keep a count of each request and reset the button after the final call. Unfortunately because the second situation could contain another condition which is not true, locale will not call that situation's rewind condition leaving the count at 1. When the third situation condition checks the button press, it sets the count to 2 and the cycle finishes, but the button remains pressed, which would then cause more problems when the next situation check cycle begins again.

Thank you

To the developers of OpenWatch and Locale for providing the API to glue their apps together and You for downloading and trying this software.

Donate

A lot of work goes in to apps like OpenWatch (which is free) and Locale. If you consider this plug-in useful and you want to reward a developer please donate to the OpenWatch developers on their site - they did all the heavy lifting. Thanks.

OpenWatch for Android by smartmadsoft.com
Locale by twofortyfouram.com
OI About & OI File Manager by OpenIntents.org
watch notification icon by DEFAULTICON.com
OpenWatch Message, Button and Graphic by hANdyDROID.org