am a37e2346: Merge "Warn that SettingInjectorService must be fast" into klp-dev

* commit 'a37e2346f8856e541cd1f4aa3546b5ac2fa5262b':
  Warn that SettingInjectorService must be fast
This commit is contained in:
Tom O'Neill
2013-08-20 17:49:49 -07:00
committed by Android Git Automerger
2 changed files with 13 additions and 0 deletions

View File

@@ -11814,6 +11814,7 @@ package android.location {
ctor public SettingInjectorService(java.lang.String);
method protected abstract android.location.SettingInjectorService.Status getStatus();
method protected final void onHandleIntent(android.content.Intent);
field public static final java.lang.String UPDATE_INTENT = "com.android.location.InjectedSettingChanged";
}
public static final class SettingInjectorService.Status {

View File

@@ -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;
/**