summaryrefslogtreecommitdiffstats
path: root/location
diff options
context:
space:
mode:
authorTom O'Neill <tomo@google.com>2013-08-19 13:10:19 -0700
committerTom O'Neill <tomo@google.com>2013-08-19 13:13:21 -0700
commit184e75146cb17f8695dffba69e0ca8d80b350af3 (patch)
tree49eda39243813244415af6cd876f6752f1dbc28d /location
parentb6e8943933f745f5e3f248ac058fc8dbca8f8ab1 (diff)
downloadframeworks_base-184e75146cb17f8695dffba69e0ca8d80b350af3.zip
frameworks_base-184e75146cb17f8695dffba69e0ca8d80b350af3.tar.gz
frameworks_base-184e75146cb17f8695dffba69e0ca8d80b350af3.tar.bz2
Warn that SettingInjectorService must be fast
- Move UPDATE_INTENT to SettingInjectorSErvice Change-Id: I9c8f8dc0878647a051cb852721b3436e9d55b391
Diffstat (limited to 'location')
-rw-r--r--location/java/android/location/SettingInjectorService.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/location/java/android/location/SettingInjectorService.java b/location/java/android/location/SettingInjectorService.java
index d410408..4bfa150 100644
--- a/location/java/android/location/SettingInjectorService.java
+++ b/location/java/android/location/SettingInjectorService.java
@@ -69,6 +69,11 @@ import android.util.Log;
* to the user that it is not part of the system settings.</li>
* </ul>
*
+ * To ensure a good user experience, your {@link #onHandleIntent(Intent)} must complete within
+ * 200 msec even if your app is not already running. This means that both
+ * {@link android.app.Application#onCreate()} and {@link #getStatus()} must be fast. If you exceed
+ * this time, then this can delay the retrieval of settings status for other apps as well.
+ *
* For consistency, the label and {@link #getStatus()} values should be provided in all of the
* locales supported by the system settings app. The text should not contain offensive language.
*
@@ -82,6 +87,7 @@ import android.util.Log;
*/
// TODO: is there a public list of supported locales?
// TODO: is there a public list of guidelines for settings text?
+// TODO: would a bound service be better? E.g., we could just disconnect if a service took too long
public abstract class SettingInjectorService extends IntentService {
/**
@@ -106,6 +112,12 @@ public abstract class SettingInjectorService extends IntentService {
*/
public static final String MESSENGER_KEY = "messenger";
+ /**
+ * Intent action a client should broadcast when the value of one of its injected settings has
+ * changed, so that the setting can be updated in the UI.
+ */
+ public static final String UPDATE_INTENT = "com.android.location.InjectedSettingChanged";
+
private final String mLogTag;
/**