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

Commit 6f8b0902 authored by Charles Munger's avatar Charles Munger
Browse files

Deprecate IntentService

IntentService always had some issues, such as delivering null, adding
latency, inconsistently silently dropping tasks scheduled on its thread
local handler, etc. But with android O's background task restrictions,
it's really not useful anymore, and there are jetpack APIs that provide
its same functionality.

Bug: 144042891
Test: No behavior changes
Change-Id: I1a91afeeb73e270c54a9ec266b15b5d865ef8339
parent 49af39e7
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -5115,12 +5115,12 @@ package android.app {
    method public android.content.Intent getResultData();
  }
  public abstract class IntentService extends android.app.Service {
    ctor public IntentService(String);
    method @Nullable public android.os.IBinder onBind(android.content.Intent);
    method @WorkerThread protected abstract void onHandleIntent(@Nullable android.content.Intent);
    method public void onStart(@Nullable android.content.Intent, int);
    method public void setIntentRedelivery(boolean);
  @Deprecated public abstract class IntentService extends android.app.Service {
    ctor @Deprecated public IntentService(String);
    method @Deprecated @Nullable public android.os.IBinder onBind(android.content.Intent);
    method @Deprecated @WorkerThread protected abstract void onHandleIntent(@Nullable android.content.Intent);
    method @Deprecated public void onStart(@Nullable android.content.Intent, int);
    method @Deprecated public void setIntentRedelivery(boolean);
  }
  public class KeyguardManager {
+7 −8
Original line number Diff line number Diff line
@@ -44,13 +44,6 @@ import android.os.Message;
 * long as necessary (and will not block the application's main loop), but
 * only one request will be processed at a time.
 *
 * <p class="note"><b>Note:</b> IntentService is subject to all the
 * <a href="/preview/features/background.html">background execution limits</a>
 * imposed with Android 8.0 (API level 26). In most cases, you are better off
 * using {@link android.support.v4.app.JobIntentService}, which uses jobs
 * instead of services when running on Android 8.0 or higher.
 * </p>
 *
 * <div class="special reference">
 * <h3>Developer Guides</h3>
 * <p>For a detailed discussion about how to create services, read the
@@ -59,8 +52,14 @@ import android.os.Message;
 * </div>
 *
 * @see android.support.v4.app.JobIntentService
 * @see android.os.AsyncTask
 *
 * @deprecated IntentService is subject to all the
 *   <a href="/preview/features/background.html">background execution limits</a>
 *   imposed with Android 8.0 (API level 26). Consider using {@link androidx.work.WorkManager}
 *   or {@link androidx.core.app.JobIntentService}, which uses jobs
 *   instead of services when running on Android 8.0 or higher.
 */
@Deprecated
public abstract class IntentService extends Service {
    private volatile Looper mServiceLooper;
    @UnsupportedAppUsage
+1 −1
Original line number Diff line number Diff line
@@ -57,7 +57,7 @@ import java.lang.annotation.RetentionPolicy;
 * networking) operations, it should spawn its own thread in which to do that
 * work.  More information on this can be found in
 * <a href="{@docRoot}guide/topics/fundamentals/processes-and-threads.html">Processes and
 * Threads</a>.  The {@link IntentService} class is available
 * Threads</a>.  The {@link androidx.core.app.JobIntentService} class is available
 * as a standard implementation of Service that has its own thread where it
 * schedules its work to be done.</p>
 *