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

Commit 1a81e5fa authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Update the SHORT_SERVICE javadoc" into udc-dev am: 031692c5

parents 947f0047 031692c5
Loading
Loading
Loading
Loading
+31 −13
Original line number Diff line number Diff line
@@ -376,8 +376,8 @@ public class ServiceInfo extends ComponentInfo
     *   <li>Headless system apps</li>
     *   <li><a href="{@docRoot}guide/topics/admin/device-admin">Device admin apps</a></li>
     *   <li>Active VPN apps</li>
     *   <li>Apps holding {@link Manifest.permission#SCHEDULE_EXACT_ALARM} or
     *       {@link Manifest.permission#USE_EXACT_ALARM} permission.</li>
     *   <li>Apps holding {@link android.Manifest.permission#SCHEDULE_EXACT_ALARM} or
     *       {@link android.Manifest.permission#USE_EXACT_ALARM} permission.</li>
     * </ul>
     * </p>
     */
@@ -393,7 +393,7 @@ public class ServiceInfo extends ComponentInfo
     *
     * <p>Unlike other foreground service types, this type is not associated with a specific use
     * case, and it will not require any special permissions
     * (besides {@link Manifest.permission#FOREGROUND_SERVICE}).
     * (besides {@link android.Manifest.permission#FOREGROUND_SERVICE}).
     *
     * However, this type has the following restrictions.
     *
@@ -401,19 +401,21 @@ public class ServiceInfo extends ComponentInfo
     *     <li>
     *         The type has a 3 minute timeout.
     *         A foreground service of this type must be stopped within the timeout by
     *         {@link android.app.Service#stopSelf),
     *         or {@link android.content.Context#stopService).
     *         {@link android.app.Service#stopForeground) will also work, which will demote the
     *         {@link android.app.Service#stopSelf()},
     *         {@link android.content.Context#stopService(android.content.Intent)}
     *         or their overloads).
     *         {@link android.app.Service#stopForeground(int)} will also work,
     *         which will demote the
     *         service to a "background" service, which will soon be stopped by the system.
     *
     *         <p>The system will <em>not</em> automatically stop it.
     *
     *         <p>If the service isn't stopped within the timeout,
     *         {@link android.app.Service#onTimeout(int)} will be called.
     *         {@link android.app.Service#onTimeout(int)} will be called. Note, even when the
     *         system calls this callback, it will not stop the service automatically.
     *         You still need to stop the service using one of the aforementioned
     *         ways even when you get this callback.
     *
     *         <p>If the service is still not stopped after the callback,
     *         the app will be declared an ANR after a short grace period of several seconds.
     *
     *         the app will be declared an ANR, after a short grace period of several seconds.
     *     <li>
     *         A foreground service of this type cannot be made "sticky"
     *         (see {@link android.app.Service#START_STICKY}). That is, if an app is killed
@@ -427,10 +429,26 @@ public class ServiceInfo extends ComponentInfo
     *         <a href="/guide/components/foreground-services#background-start-restrictions>
     *             Restrictions on background starts
     *         </a>
     *     <li>
     *         You can combine multiple foreground services types with {@code |}s, and you can
     *         combine
     *         {@link android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_SHORT_SERVICE}.
     *         with other types as well.
     *         However,
     *         {@link android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_SHORT_SERVICE}
     *         is for situations
     *         where you have no other valid foreground services to use and the timeout is long
     *         enough for the task, and if you can use other types, there's no point using
     *         this type.
     *         For this reason, if
     *         {@link android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_SHORT_SERVICE}
     *         is combined with other foreground service types, the system will simply ignore
     *         it, and as a result,
     *         none of the above restrictions will apply (e.g. there'll be no timeout).
     * </ul>
     *
     * <p>Note, even though
     * {@link ServiceInfo#FOREGROUND_SERVICE_TYPE_SHORT_SERVICE}
     * <p>Also note, even though
     * {@link android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_SHORT_SERVICE}
     * was added
     * on Android version {@link android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE},
     * it can be also used on