Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a37e2346 authored by Tom O'Neill's avatar Tom O'Neill Committed by Android (Google) Code Review
Browse files

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

parents 9fac8a6a 184e7514
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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 {
+12 −0
Original line number Diff line number Diff line
@@ -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;

    /**