summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api/current.txt13
-rw-r--r--api/system-current.txt13
-rw-r--r--api/test-current.txt13
-rw-r--r--core/java/android/app/ContextImpl.java16
-rw-r--r--core/java/android/app/FragmentManager.java8
-rw-r--r--core/java/android/app/IActivityManager.aidl2
-rw-r--r--core/java/android/content/Context.java31
-rw-r--r--core/java/android/content/ContextWrapper.java8
-rw-r--r--core/java/android/content/pm/ShortcutManager.java24
-rw-r--r--docs/html/reference/_book.yaml853
-rw-r--r--docs/html/reference/_project.yaml6
-rw-r--r--services/core/java/com/android/server/am/ActivityManagerService.java4
-rw-r--r--test-runner/src/android/test/mock/MockContext.java4
-rw-r--r--tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java4
14 files changed, 943 insertions, 56 deletions
diff --git a/api/current.txt b/api/current.txt
index 7ed5c953af9d..6e00e9fa7f4e 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -8878,9 +8878,9 @@ package android.content {
method public abstract deprecated android.graphics.drawable.Drawable peekWallpaper();
method public void registerComponentCallbacks(android.content.ComponentCallbacks);
method public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter);
- method public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, boolean);
+ method public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, int);
method public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler);
- method public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler, boolean);
+ method public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler, int);
method public abstract deprecated void removeStickyBroadcast(android.content.Intent);
method public abstract deprecated void removeStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
method public abstract void revokeUriPermission(android.net.Uri, int);
@@ -8971,6 +8971,7 @@ package android.content {
field public static final java.lang.String NSD_SERVICE = "servicediscovery";
field public static final java.lang.String POWER_SERVICE = "power";
field public static final java.lang.String PRINT_SERVICE = "print";
+ field public static final int RECEIVER_VISIBLE_TO_INSTANT_APPS = 1; // 0x1
field public static final java.lang.String RESTRICTIONS_SERVICE = "restrictions";
field public static final java.lang.String SEARCH_SERVICE = "search";
field public static final java.lang.String SENSOR_SERVICE = "sensor";
@@ -9070,9 +9071,9 @@ package android.content {
method public android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase.CursorFactory, android.database.DatabaseErrorHandler);
method public deprecated android.graphics.drawable.Drawable peekWallpaper();
method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter);
- method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, boolean);
+ method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, int);
method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler);
- method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler, boolean);
+ method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler, int);
method public deprecated void removeStickyBroadcast(android.content.Intent);
method public deprecated void removeStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
method public void revokeUriPermission(android.net.Uri, int);
@@ -40885,9 +40886,9 @@ package android.test.mock {
method public android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase.CursorFactory, android.database.DatabaseErrorHandler);
method public android.graphics.drawable.Drawable peekWallpaper();
method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter);
- method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, boolean);
+ method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, int);
method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler);
- method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler, boolean);
+ method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler, int);
method public void removeStickyBroadcast(android.content.Intent);
method public void removeStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
method public void revokeUriPermission(android.net.Uri, int);
diff --git a/api/system-current.txt b/api/system-current.txt
index 75c8209cd246..84631c1498aa 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -9378,9 +9378,9 @@ package android.content {
method public abstract deprecated android.graphics.drawable.Drawable peekWallpaper();
method public void registerComponentCallbacks(android.content.ComponentCallbacks);
method public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter);
- method public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, boolean);
+ method public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, int);
method public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler);
- method public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler, boolean);
+ method public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler, int);
method public abstract deprecated void removeStickyBroadcast(android.content.Intent);
method public abstract deprecated void removeStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
method public abstract void revokeUriPermission(android.net.Uri, int);
@@ -9480,6 +9480,7 @@ package android.content {
field public static final java.lang.String PERSISTENT_DATA_BLOCK_SERVICE = "persistent_data_block";
field public static final java.lang.String POWER_SERVICE = "power";
field public static final java.lang.String PRINT_SERVICE = "print";
+ field public static final int RECEIVER_VISIBLE_TO_INSTANT_APPS = 1; // 0x1
field public static final java.lang.String RESTRICTIONS_SERVICE = "restrictions";
field public static final java.lang.String SEARCH_SERVICE = "search";
field public static final java.lang.String SENSOR_SERVICE = "sensor";
@@ -9585,9 +9586,9 @@ package android.content {
method public android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase.CursorFactory, android.database.DatabaseErrorHandler);
method public deprecated android.graphics.drawable.Drawable peekWallpaper();
method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter);
- method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, boolean);
+ method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, int);
method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler);
- method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler, boolean);
+ method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler, int);
method public deprecated void removeStickyBroadcast(android.content.Intent);
method public deprecated void removeStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
method public void revokeUriPermission(android.net.Uri, int);
@@ -44441,9 +44442,9 @@ package android.test.mock {
method public android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase.CursorFactory, android.database.DatabaseErrorHandler);
method public android.graphics.drawable.Drawable peekWallpaper();
method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter);
- method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, boolean);
+ method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, int);
method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler);
- method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler, boolean);
+ method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler, int);
method public void removeStickyBroadcast(android.content.Intent);
method public void removeStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
method public void revokeUriPermission(android.net.Uri, int);
diff --git a/api/test-current.txt b/api/test-current.txt
index a92d166e2ba9..f203737bb90d 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -8911,9 +8911,9 @@ package android.content {
method public abstract deprecated android.graphics.drawable.Drawable peekWallpaper();
method public void registerComponentCallbacks(android.content.ComponentCallbacks);
method public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter);
- method public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, boolean);
+ method public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, int);
method public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler);
- method public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler, boolean);
+ method public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler, int);
method public abstract deprecated void removeStickyBroadcast(android.content.Intent);
method public abstract deprecated void removeStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
method public abstract void revokeUriPermission(android.net.Uri, int);
@@ -9004,6 +9004,7 @@ package android.content {
field public static final java.lang.String NSD_SERVICE = "servicediscovery";
field public static final java.lang.String POWER_SERVICE = "power";
field public static final java.lang.String PRINT_SERVICE = "print";
+ field public static final int RECEIVER_VISIBLE_TO_INSTANT_APPS = 1; // 0x1
field public static final java.lang.String RESTRICTIONS_SERVICE = "restrictions";
field public static final java.lang.String SEARCH_SERVICE = "search";
field public static final java.lang.String SENSOR_SERVICE = "sensor";
@@ -9104,9 +9105,9 @@ package android.content {
method public android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase.CursorFactory, android.database.DatabaseErrorHandler);
method public deprecated android.graphics.drawable.Drawable peekWallpaper();
method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter);
- method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, boolean);
+ method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, int);
method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler);
- method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler, boolean);
+ method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler, int);
method public deprecated void removeStickyBroadcast(android.content.Intent);
method public deprecated void removeStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
method public void revokeUriPermission(android.net.Uri, int);
@@ -41096,9 +41097,9 @@ package android.test.mock {
method public android.database.sqlite.SQLiteDatabase openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase.CursorFactory, android.database.DatabaseErrorHandler);
method public android.graphics.drawable.Drawable peekWallpaper();
method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter);
- method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, boolean);
+ method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, int);
method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler);
- method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler, boolean);
+ method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, java.lang.String, android.os.Handler, int);
method public void removeStickyBroadcast(android.content.Intent);
method public void removeStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
method public void revokeUriPermission(android.net.Uri, int);
diff --git a/core/java/android/app/ContextImpl.java b/core/java/android/app/ContextImpl.java
index f0e54444a05b..68021d966556 100644
--- a/core/java/android/app/ContextImpl.java
+++ b/core/java/android/app/ContextImpl.java
@@ -1356,34 +1356,34 @@ class ContextImpl extends Context {
@Override
public Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter,
- boolean visibleToInstantApps) {
- return registerReceiver(receiver, filter, null, null, visibleToInstantApps);
+ int flags) {
+ return registerReceiver(receiver, filter, null, null, flags);
}
@Override
public Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter,
String broadcastPermission, Handler scheduler) {
return registerReceiverInternal(receiver, getUserId(),
- filter, broadcastPermission, scheduler, getOuterContext(), false);
+ filter, broadcastPermission, scheduler, getOuterContext(), 0);
}
@Override
public Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter,
- String broadcastPermission, Handler scheduler, boolean visibleToInstantApps) {
+ String broadcastPermission, Handler scheduler, int flags) {
return registerReceiverInternal(receiver, getUserId(),
- filter, broadcastPermission, scheduler, getOuterContext(), visibleToInstantApps);
+ filter, broadcastPermission, scheduler, getOuterContext(), flags);
}
@Override
public Intent registerReceiverAsUser(BroadcastReceiver receiver, UserHandle user,
IntentFilter filter, String broadcastPermission, Handler scheduler) {
return registerReceiverInternal(receiver, user.getIdentifier(),
- filter, broadcastPermission, scheduler, getOuterContext(), false);
+ filter, broadcastPermission, scheduler, getOuterContext(), 0);
}
private Intent registerReceiverInternal(BroadcastReceiver receiver, int userId,
IntentFilter filter, String broadcastPermission,
- Handler scheduler, Context context, boolean visibleToInstantApps) {
+ Handler scheduler, Context context, int flags) {
IIntentReceiver rd = null;
if (receiver != null) {
if (mPackageInfo != null && context != null) {
@@ -1404,7 +1404,7 @@ class ContextImpl extends Context {
try {
final Intent intent = ActivityManager.getService().registerReceiver(
mMainThread.getApplicationThread(), mBasePackageName, rd, filter,
- broadcastPermission, userId, visibleToInstantApps);
+ broadcastPermission, userId, flags);
if (intent != null) {
intent.setExtrasClassLoader(getClassLoader());
intent.prepareToEnterProcess();
diff --git a/core/java/android/app/FragmentManager.java b/core/java/android/app/FragmentManager.java
index c1161a2eb0cf..b6a578b5ad5b 100644
--- a/core/java/android/app/FragmentManager.java
+++ b/core/java/android/app/FragmentManager.java
@@ -1464,13 +1464,17 @@ final class FragmentManagerImpl extends FragmentManager implements LayoutInflate
} else {
final ViewGroup container = fragment.mContainer;
final View animatingView = fragment.mView;
- container.startViewTransition(animatingView);
+ if (container != null) {
+ container.startViewTransition(animatingView);
+ }
// Delay the actual hide operation until the animation finishes, otherwise
// the fragment will just immediately disappear
anim.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
- container.endViewTransition(animatingView);
+ if (container != null) {
+ container.endViewTransition(animatingView);
+ }
animation.removeListener(this);
animatingView.setVisibility(View.GONE);
}
diff --git a/core/java/android/app/IActivityManager.aidl b/core/java/android/app/IActivityManager.aidl
index ce4494b29fa6..d1eea3bdfb69 100644
--- a/core/java/android/app/IActivityManager.aidl
+++ b/core/java/android/app/IActivityManager.aidl
@@ -100,7 +100,7 @@ interface IActivityManager {
boolean finishActivity(in IBinder token, int code, in Intent data, int finishTask);
Intent registerReceiver(in IApplicationThread caller, in String callerPackage,
in IIntentReceiver receiver, in IntentFilter filter,
- in String requiredPermission, int userId, boolean visibleToInstantApps);
+ in String requiredPermission, int userId, int flags);
void unregisterReceiver(in IIntentReceiver receiver);
int broadcastIntent(in IApplicationThread caller, in Intent intent,
in String resolvedType, in IIntentReceiver resultTo, int resultCode,
diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java
index 6f48eb14d79b..217987ddbf12 100644
--- a/core/java/android/content/Context.java
+++ b/core/java/android/content/Context.java
@@ -366,6 +366,19 @@ public abstract class Context {
*/
public static final int BIND_EXTERNAL_SERVICE = 0x80000000;
+ /** @hide */
+ @IntDef(flag = true,
+ value = {
+ RECEIVER_VISIBLE_TO_INSTANT_APPS
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface RegisterReceiverFlags {}
+
+ /**
+ * Flag for {@link #registerReceiver}: The receiver can receive broadcasts from Instant Apps.
+ */
+ public static final int RECEIVER_VISIBLE_TO_INSTANT_APPS = 0x1;
+
/**
* Returns an AssetManager instance for the application's package.
* <p>
@@ -2437,7 +2450,8 @@ public abstract class Context {
*
* @param receiver The BroadcastReceiver to handle the broadcast.
* @param filter Selects the Intent broadcasts to be received.
- * @param visibleToInstantApps If the receiver accepts broadcasts from Instant Apps.
+ * @param flags Additional options for the receiver. May be 0 or
+ * {@link #RECEIVER_VISIBLE_TO_INSTANT_APPS}.
*
* @return The first sticky intent found that matches <var>filter</var>,
* or null if there are none.
@@ -2449,7 +2463,7 @@ public abstract class Context {
@Nullable
public abstract Intent registerReceiver(@Nullable BroadcastReceiver receiver,
IntentFilter filter,
- boolean visibleToInstantApps);
+ @RegisterReceiverFlags int flags);
/**
* Register to receive intent broadcasts, to run in the context of
@@ -2488,9 +2502,9 @@ public abstract class Context {
@Nullable Handler scheduler);
/**
- * Register to receive intent broadcasts, with the receiver optionally being
- * exposed to Instant Apps. See
- * {@link #registerReceiver(BroadcastReceiver, IntentFilter, boolean)} and
+ * Register to receive intent broadcasts, to run in the context of
+ * <var>scheduler</var>. See
+ * {@link #registerReceiver(BroadcastReceiver, IntentFilter, int)} and
* {@link #registerReceiver(BroadcastReceiver, IntentFilter, String, Handler)}
* for more information.
*
@@ -2509,12 +2523,13 @@ public abstract class Context {
* no permission is required.
* @param scheduler Handler identifying the thread that will receive
* the Intent. If null, the main thread of the process will be used.
- * @param visibleToInstantApps If the receiver accepts broadcasts from Instant Apps.
+ * @param flags Additional options for the receiver. May be 0 or
+ * {@link #RECEIVER_VISIBLE_TO_INSTANT_APPS}.
*
* @return The first sticky intent found that matches <var>filter</var>,
* or null if there are none.
*
- * @see #registerReceiver(BroadcastReceiver, IntentFilter, boolean)
+ * @see #registerReceiver(BroadcastReceiver, IntentFilter, int)
* @see #registerReceiver(BroadcastReceiver, IntentFilter, String, Handler)
* @see #sendBroadcast
* @see #unregisterReceiver
@@ -2522,7 +2537,7 @@ public abstract class Context {
@Nullable
public abstract Intent registerReceiver(BroadcastReceiver receiver,
IntentFilter filter, @Nullable String broadcastPermission,
- @Nullable Handler scheduler, boolean visibleToInstantApps);
+ @Nullable Handler scheduler, @RegisterReceiverFlags int flags);
/**
* @hide
diff --git a/core/java/android/content/ContextWrapper.java b/core/java/android/content/ContextWrapper.java
index b59fc3ddbb84..5264cd7c8cfc 100644
--- a/core/java/android/content/ContextWrapper.java
+++ b/core/java/android/content/ContextWrapper.java
@@ -605,8 +605,8 @@ public class ContextWrapper extends Context {
@Override
public Intent registerReceiver(
- BroadcastReceiver receiver, IntentFilter filter, boolean visibleToInstantApps) {
- return mBase.registerReceiver(receiver, filter, visibleToInstantApps);
+ BroadcastReceiver receiver, IntentFilter filter, int flags) {
+ return mBase.registerReceiver(receiver, filter, flags);
}
@Override
@@ -620,9 +620,9 @@ public class ContextWrapper extends Context {
@Override
public Intent registerReceiver(
BroadcastReceiver receiver, IntentFilter filter,
- String broadcastPermission, Handler scheduler, boolean visibleToInstantApps) {
+ String broadcastPermission, Handler scheduler, int flags) {
return mBase.registerReceiver(receiver, filter, broadcastPermission,
- scheduler, visibleToInstantApps);
+ scheduler, flags);
}
/** @hide */
diff --git a/core/java/android/content/pm/ShortcutManager.java b/core/java/android/content/pm/ShortcutManager.java
index b992d29eb32f..a7c09b50ffa9 100644
--- a/core/java/android/content/pm/ShortcutManager.java
+++ b/core/java/android/content/pm/ShortcutManager.java
@@ -17,8 +17,6 @@ package android.content.pm;
import android.annotation.NonNull;
import android.annotation.Nullable;
-import android.annotation.SdkConstant;
-import android.annotation.SdkConstant.SdkConstantType;
import android.annotation.TestApi;
import android.annotation.UserIdInt;
import android.app.Activity;
@@ -26,15 +24,12 @@ import android.app.usage.UsageStatsManager;
import android.content.Context;
import android.content.Intent;
import android.content.IntentSender;
-import android.os.Binder;
-import android.os.Parcel;
-import android.os.Parcelable;
+import android.os.Build.VERSION_CODES;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.UserHandle;
import com.android.internal.annotations.VisibleForTesting;
-import com.android.internal.util.Preconditions;
import java.util.List;
@@ -289,6 +284,12 @@ import java.util.List;
* <p><b>Note:</b> If the user doesn't allow the shortcut to be pinned to the launcher, the
* pinning process fails, and the {@link Intent} object that is passed into this
* {@link android.app.PendingIntent} object isn't executed.
+ * <div class="note"><p><b>Note:</b> Due to background execution limits introduced in Android
+ * {@link VERSION_CODES#O}, it's best to use a
+ * <a href="{@docRoot}guide/components/broadcasts.html#manifest-declared_receivers">
+ * manifest-declared receiver</a> to receive a callback.
+ * <p>Also, to prevent other apps from invoking the receiver, add the attribute assignment
+ * <code>android:exported="false"</code> to the receiver's manifest entry.</p></div>
* </ul>
*
* The following code snippet shows how to pin a single shortcut that already exists and is enabled:
@@ -313,10 +314,8 @@ import java.util.List;
* // needs to be notified that the user allowed the shortcut to be pinned.
* // Use a boolean value, such as "appNeedsNotifying", to define this behavior.
* if (appNeedsNotifying) {
- * // We assume here that the app has implemented a method called
- * // createShortcutResultIntent() that returns a broadcast intent.
- * Intent pinnedShortcutCallbackIntent =
- * createShortcutResultIntent(pinShortcutInfo);
+ * // We assume here the app has a manifest-declared receiver "MyReceiver".
+ * Intent pinnedShortcutCallbackIntent = new Intent(context, MyReceiver.class);
*
* // Configure the intent so that your app's broadcast receiver gets
* // the callback successfully.
@@ -921,6 +920,9 @@ public class ShortcutManager {
/**
* Return {@code TRUE} if the app is running on a device whose default launcher supports
* {@link #requestPinShortcut(ShortcutInfo, IntentSender)}.
+ *
+ * <p><b>Note:</b> The return value may change in subsequent calls, if the user changes
+ * the default launcher app.
*/
public boolean isRequestPinShortcutSupported() {
try {
@@ -952,6 +954,8 @@ public class ShortcutManager {
* set.
* @param resultIntent If not null, this intent will be sent when the shortcut is pinned.
* Use {@link android.app.PendingIntent#getIntentSender()} to create an {@link IntentSender}.
+ * To avoid background execution limits, use an unexported, manifest-declared receiver.
+ * For more details, see the overview documentation for the {@link ShortcutManager} class.
*
* @return {@code TRUE} if the launcher supports this feature. Note the API will return without
* waiting for the user to respond, so getting {@code TRUE} from this API does *not* mean
diff --git a/docs/html/reference/_book.yaml b/docs/html/reference/_book.yaml
new file mode 100644
index 000000000000..b902a61a6501
--- /dev/null
+++ b/docs/html/reference/_book.yaml
@@ -0,0 +1,853 @@
+reference:
+- title: Class Index
+ path: /reference/classes.html
+ status_text: no-toggle
+- title: Package Index
+ path: /reference/packages.html
+ status_text: no-toggle
+- title: android
+ path: /reference/android/package-summary.html
+ status_text: apilevel-1
+- title: android.accessibilityservice
+ path: /reference/android/accessibilityservice/package-summary.html
+ status_text: apilevel-4
+- title: android.accounts
+ path: /reference/android/accounts/package-summary.html
+ status_text: apilevel-5
+- title: android.animation
+ path: /reference/android/animation/package-summary.html
+ status_text: apilevel-11
+- title: android.annotation
+ path: /reference/android/annotation/package-summary.html
+ status_text: apilevel-16
+- title: android.app
+ path: /reference/android/app/package-summary.html
+ status_text: apilevel-1
+- title: android.app.admin
+ path: /reference/android/app/admin/package-summary.html
+ status_text: apilevel-8
+- title: android.app.assist
+ path: /reference/android/app/assist/package-summary.html
+ status_text: apilevel-23
+- title: android.app.backup
+ path: /reference/android/app/backup/package-summary.html
+ status_text: apilevel-8
+- title: android.app.job
+ path: /reference/android/app/job/package-summary.html
+ status_text: apilevel-21
+- title: android.app.usage
+ path: /reference/android/app/usage/package-summary.html
+ status_text: apilevel-21
+- title: android.appwidget
+ path: /reference/android/appwidget/package-summary.html
+ status_text: apilevel-3
+- title: android.bluetooth
+ path: /reference/android/bluetooth/package-summary.html
+ status_text: apilevel-5
+- title: android.bluetooth.le
+ path: /reference/android/bluetooth/le/package-summary.html
+ status_text: apilevel-21
+- title: android.companion
+ path: /reference/android/companion/package-summary.html
+ status_text: apilevel-O
+- title: android.content
+ path: /reference/android/content/package-summary.html
+ status_text: apilevel-1
+- title: android.content.pm
+ path: /reference/android/content/pm/package-summary.html
+ status_text: apilevel-1
+- title: android.content.res
+ path: /reference/android/content/res/package-summary.html
+ status_text: apilevel-1
+- title: android.database
+ path: /reference/android/database/package-summary.html
+ status_text: apilevel-1
+- title: android.database.sqlite
+ path: /reference/android/database/sqlite/package-summary.html
+ status_text: apilevel-1
+- title: android.databinding
+ path: /reference/android/databinding/package-summary.html
+ status_text: apilevel-
+- title: android.drm
+ path: /reference/android/drm/package-summary.html
+ status_text: apilevel-11
+- title: android.gesture
+ path: /reference/android/gesture/package-summary.html
+ status_text: apilevel-4
+- title: android.graphics
+ path: /reference/android/graphics/package-summary.html
+ status_text: apilevel-1
+- title: android.graphics.drawable
+ path: /reference/android/graphics/drawable/package-summary.html
+ status_text: apilevel-1
+- title: android.graphics.drawable.shapes
+ path: /reference/android/graphics/drawable/shapes/package-summary.html
+ status_text: apilevel-1
+- title: android.graphics.fonts
+ path: /reference/android/graphics/fonts/package-summary.html
+ status_text: apilevel-O
+- title: android.graphics.pdf
+ path: /reference/android/graphics/pdf/package-summary.html
+ status_text: apilevel-19
+- title: android.hardware
+ path: /reference/android/hardware/package-summary.html
+ status_text: apilevel-1
+- title: android.hardware.camera2
+ path: /reference/android/hardware/camera2/package-summary.html
+ status_text: apilevel-21
+- title: android.hardware.camera2.params
+ path: /reference/android/hardware/camera2/params/package-summary.html
+ status_text: apilevel-21
+- title: android.hardware.display
+ path: /reference/android/hardware/display/package-summary.html
+ status_text: apilevel-17
+- title: android.hardware.fingerprint
+ path: /reference/android/hardware/fingerprint/package-summary.html
+ status_text: apilevel-23
+- title: android.hardware.input
+ path: /reference/android/hardware/input/package-summary.html
+ status_text: apilevel-16
+- title: android.hardware.usb
+ path: /reference/android/hardware/usb/package-summary.html
+ status_text: apilevel-12
+- title: android.icu.lang
+ path: /reference/android/icu/lang/package-summary.html
+ status_text: apilevel-24
+- title: android.icu.math
+ path: /reference/android/icu/math/package-summary.html
+ status_text: apilevel-24
+- title: android.icu.text
+ path: /reference/android/icu/text/package-summary.html
+ status_text: apilevel-24
+- title: android.icu.util
+ path: /reference/android/icu/util/package-summary.html
+ status_text: apilevel-24
+- title: android.inputmethodservice
+ path: /reference/android/inputmethodservice/package-summary.html
+ status_text: apilevel-3
+- title: android.location
+ path: /reference/android/location/package-summary.html
+ status_text: apilevel-1
+- title: android.media
+ path: /reference/android/media/package-summary.html
+ status_text: apilevel-1
+- title: android.media.audiofx
+ path: /reference/android/media/audiofx/package-summary.html
+ status_text: apilevel-9
+- title: android.media.browse
+ path: /reference/android/media/browse/package-summary.html
+ status_text: apilevel-21
+- title: android.media.effect
+ path: /reference/android/media/effect/package-summary.html
+ status_text: apilevel-14
+- title: android.media.midi
+ path: /reference/android/media/midi/package-summary.html
+ status_text: apilevel-23
+- title: android.media.projection
+ path: /reference/android/media/projection/package-summary.html
+ status_text: apilevel-21
+- title: android.media.session
+ path: /reference/android/media/session/package-summary.html
+ status_text: apilevel-21
+- title: android.media.tv
+ path: /reference/android/media/tv/package-summary.html
+ status_text: apilevel-21
+- title: android.mtp
+ path: /reference/android/mtp/package-summary.html
+ status_text: apilevel-12
+- title: android.net
+ path: /reference/android/net/package-summary.html
+ status_text: apilevel-1
+- title: android.net.http
+ path: /reference/android/net/http/package-summary.html
+ status_text: apilevel-1
+- title: android.net.nsd
+ path: /reference/android/net/nsd/package-summary.html
+ status_text: apilevel-16
+- title: android.net.rtp
+ path: /reference/android/net/rtp/package-summary.html
+ status_text: apilevel-12
+- title: android.net.sip
+ path: /reference/android/net/sip/package-summary.html
+ status_text: apilevel-9
+- title: android.net.wifi
+ path: /reference/android/net/wifi/package-summary.html
+ status_text: apilevel-1
+- title: android.net.wifi.aware
+ path: /reference/android/net/wifi/aware/package-summary.html
+ status_text: apilevel-O
+- title: android.net.wifi.hotspot2
+ path: /reference/android/net/wifi/hotspot2/package-summary.html
+ status_text: apilevel-O
+- title: android.net.wifi.hotspot2.omadm
+ path: /reference/android/net/wifi/hotspot2/omadm/package-summary.html
+ status_text: apilevel-O
+- title: android.net.wifi.hotspot2.pps
+ path: /reference/android/net/wifi/hotspot2/pps/package-summary.html
+ status_text: apilevel-O
+- title: android.net.wifi.p2p
+ path: /reference/android/net/wifi/p2p/package-summary.html
+ status_text: apilevel-14
+- title: android.net.wifi.p2p.nsd
+ path: /reference/android/net/wifi/p2p/nsd/package-summary.html
+ status_text: apilevel-16
+- title: android.nfc
+ path: /reference/android/nfc/package-summary.html
+ status_text: apilevel-9
+- title: android.nfc.cardemulation
+ path: /reference/android/nfc/cardemulation/package-summary.html
+ status_text: apilevel-19
+- title: android.nfc.tech
+ path: /reference/android/nfc/tech/package-summary.html
+ status_text: apilevel-10
+- title: android.opengl
+ path: /reference/android/opengl/package-summary.html
+ status_text: apilevel-1
+- title: android.os
+ path: /reference/android/os/package-summary.html
+ status_text: apilevel-1
+- title: android.os.health
+ path: /reference/android/os/health/package-summary.html
+ status_text: apilevel-24
+- title: android.os.storage
+ path: /reference/android/os/storage/package-summary.html
+ status_text: apilevel-9
+- title: android.preference
+ path: /reference/android/preference/package-summary.html
+ status_text: apilevel-1
+- title: android.print
+ path: /reference/android/print/package-summary.html
+ status_text: apilevel-19
+- title: android.print.pdf
+ path: /reference/android/print/pdf/package-summary.html
+ status_text: apilevel-19
+- title: android.printservice
+ path: /reference/android/printservice/package-summary.html
+ status_text: apilevel-19
+- title: android.provider
+ path: /reference/android/provider/package-summary.html
+ status_text: apilevel-1
+- title: android.renderscript
+ path: /reference/android/renderscript/package-summary.html
+ status_text: apilevel-11
+- title: android.sax
+ path: /reference/android/sax/package-summary.html
+ status_text: apilevel-1
+- title: android.security
+ path: /reference/android/security/package-summary.html
+ status_text: apilevel-14
+- title: android.security.keystore
+ path: /reference/android/security/keystore/package-summary.html
+ status_text: apilevel-23
+- title: android.service.autofill
+ path: /reference/android/service/autofill/package-summary.html
+ status_text: apilevel-O
+- title: android.service.carrier
+ path: /reference/android/service/carrier/package-summary.html
+ status_text: apilevel-22
+- title: android.service.chooser
+ path: /reference/android/service/chooser/package-summary.html
+ status_text: apilevel-23
+- title: android.service.dreams
+ path: /reference/android/service/dreams/package-summary.html
+ status_text: apilevel-17
+- title: android.service.media
+ path: /reference/android/service/media/package-summary.html
+ status_text: apilevel-21
+- title: android.service.notification
+ path: /reference/android/service/notification/package-summary.html
+ status_text: apilevel-18
+- title: android.service.quicksettings
+ path: /reference/android/service/quicksettings/package-summary.html
+ status_text: apilevel-24
+- title: android.service.restrictions
+ path: /reference/android/service/restrictions/package-summary.html
+ status_text: apilevel-21
+- title: android.service.textservice
+ path: /reference/android/service/textservice/package-summary.html
+ status_text: apilevel-14
+- title: android.service.voice
+ path: /reference/android/service/voice/package-summary.html
+ status_text: apilevel-21
+- title: android.service.vr
+ path: /reference/android/service/vr/package-summary.html
+ status_text: apilevel-24
+- title: android.service.wallpaper
+ path: /reference/android/service/wallpaper/package-summary.html
+ status_text: apilevel-7
+- title: android.speech
+ path: /reference/android/speech/package-summary.html
+ status_text: apilevel-3
+- title: android.speech.tts
+ path: /reference/android/speech/tts/package-summary.html
+ status_text: apilevel-4
+- title: android.support.animation
+ path: /reference/android/support/animation/package-summary.html
+ status_text: apilevel-25.3.0
+- title: android.support.annotation
+ path: /reference/android/support/annotation/package-summary.html
+ status_text: apilevel-
+- title: android.support.app.recommendation
+ path: /reference/android/support/app/recommendation/package-summary.html
+ status_text: apilevel-23.0.0
+- title: android.support.compat
+ path: /reference/android/support/compat/package-summary.html
+ status_text: apilevel-
+- title: android.support.coreui
+ path: /reference/android/support/coreui/package-summary.html
+ status_text: apilevel-
+- title: android.support.coreutils
+ path: /reference/android/support/coreutils/package-summary.html
+ status_text: apilevel-
+- title: android.support.customtabs
+ path: /reference/android/support/customtabs/package-summary.html
+ status_text: apilevel-23.0.0
+- title: android.support.design
+ path: /reference/android/support/design/package-summary.html
+ status_text: apilevel-
+- title: android.support.design.widget
+ path: /reference/android/support/design/widget/package-summary.html
+ status_text: apilevel-22.2.0
+- title: android.support.dynamicanimation
+ path: /reference/android/support/dynamicanimation/package-summary.html
+ status_text: apilevel-
+- title: android.support.exifinterface
+ path: /reference/android/support/exifinterface/package-summary.html
+ status_text: apilevel-
+- title: android.support.fragment
+ path: /reference/android/support/fragment/package-summary.html
+ status_text: apilevel-
+- title: android.support.graphics.drawable
+ path: /reference/android/support/graphics/drawable/package-summary.html
+ status_text: apilevel-23.2.0
+- title: android.support.graphics.drawable.animated
+ path: /reference/android/support/graphics/drawable/animated/package-summary.html
+ status_text: apilevel-
+- title: android.support.media
+ path: /reference/android/support/media/package-summary.html
+ status_text: apilevel-25.1.0
+- title: android.support.media.instantvideo
+ path: /reference/android/support/media/instantvideo/package-summary.html
+ status_text: apilevel-
+- title: android.support.media.instantvideo.preload
+ path: /reference/android/support/media/instantvideo/preload/package-summary.html
+ status_text: apilevel-26.0.0-alpha1
+- title: android.support.media.instantvideo.widget
+ path: /reference/android/support/media/instantvideo/widget/package-summary.html
+ status_text: apilevel-26.0.0-alpha1
+- title: android.support.media.tv
+ path: /reference/android/support/media/tv/package-summary.html
+ status_text: apilevel-26.0.0-alpha1
+- title: android.support.mediacompat
+ path: /reference/android/support/mediacompat/package-summary.html
+ status_text: apilevel-
+- title: android.support.multidex
+ path: /reference/android/support/multidex/package-summary.html
+ status_text: apilevel-
+- title: android.support.percent
+ path: /reference/android/support/percent/package-summary.html
+ status_text: apilevel-23.0.0
+- title: android.support.recommendation
+ path: /reference/android/support/recommendation/package-summary.html
+ status_text: apilevel-
+- title: android.support.transition
+ path: /reference/android/support/transition/package-summary.html
+ status_text: apilevel-24.2.0
+- title: android.support.v13
+ path: /reference/android/support/v13/package-summary.html
+ status_text: apilevel-
+- title: android.support.v13.app
+ path: /reference/android/support/v13/app/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v13.view
+ path: /reference/android/support/v13/view/package-summary.html
+ status_text: apilevel-24.0.0
+- title: android.support.v13.view.inputmethod
+ path: /reference/android/support/v13/view/inputmethod/package-summary.html
+ status_text: apilevel-25.0.0
+- title: android.support.v14.preference
+ path: /reference/android/support/v14/preference/package-summary.html
+ status_text: apilevel-23.0.0
+- title: android.support.v17.leanback
+ path: /reference/android/support/v17/leanback/package-summary.html
+ status_text: apilevel-
+- title: android.support.v17.leanback.app
+ path: /reference/android/support/v17/leanback/app/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v17.leanback.database
+ path: /reference/android/support/v17/leanback/database/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v17.leanback.graphics
+ path: /reference/android/support/v17/leanback/graphics/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v17.leanback.media
+ path: /reference/android/support/v17/leanback/media/package-summary.html
+ status_text: apilevel-25.1.0
+- title: android.support.v17.leanback.system
+ path: /reference/android/support/v17/leanback/system/package-summary.html
+ status_text: apilevel-22.2.1
+- title: android.support.v17.leanback.widget
+ path: /reference/android/support/v17/leanback/widget/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v17.leanback.widget.picker
+ path: /reference/android/support/v17/leanback/widget/picker/package-summary.html
+ status_text: apilevel-23.2.0
+- title: android.support.v17.preference
+ path: /reference/android/support/v17/preference/package-summary.html
+ status_text: apilevel-23.0.0
+- title: android.support.v4
+ path: /reference/android/support/v4/package-summary.html
+ status_text: apilevel-
+- title: android.support.v4.accessibilityservice
+ path: /reference/android/support/v4/accessibilityservice/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v4.app
+ path: /reference/android/support/v4/app/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v4.content
+ path: /reference/android/support/v4/content/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v4.content.pm
+ path: /reference/android/support/v4/content/pm/package-summary.html
+ status_text: apilevel-22.2.0
+- title: android.support.v4.content.res
+ path: /reference/android/support/v4/content/res/package-summary.html
+ status_text: apilevel-22.2.0
+- title: android.support.v4.database
+ path: /reference/android/support/v4/database/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v4.graphics
+ path: /reference/android/support/v4/graphics/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v4.graphics.drawable
+ path: /reference/android/support/v4/graphics/drawable/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v4.hardware.display
+ path: /reference/android/support/v4/hardware/display/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v4.hardware.fingerprint
+ path: /reference/android/support/v4/hardware/fingerprint/package-summary.html
+ status_text: apilevel-23.0.0
+- title: android.support.v4.math
+ path: /reference/android/support/v4/math/package-summary.html
+ status_text: apilevel-26.0.0-alpha1
+- title: android.support.v4.media
+ path: /reference/android/support/v4/media/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v4.media.session
+ path: /reference/android/support/v4/media/session/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v4.net
+ path: /reference/android/support/v4/net/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v4.os
+ path: /reference/android/support/v4/os/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v4.print
+ path: /reference/android/support/v4/print/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v4.provider
+ path: /reference/android/support/v4/provider/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v4.text
+ path: /reference/android/support/v4/text/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v4.text.util
+ path: /reference/android/support/v4/text/util/package-summary.html
+ status_text: apilevel-24.2.0
+- title: android.support.v4.util
+ path: /reference/android/support/v4/util/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v4.view
+ path: /reference/android/support/v4/view/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v4.view.accessibility
+ path: /reference/android/support/v4/view/accessibility/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v4.view.animation
+ path: /reference/android/support/v4/view/animation/package-summary.html
+ status_text: apilevel-22.1.0
+- title: android.support.v4.widget
+ path: /reference/android/support/v4/widget/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v7.app
+ path: /reference/android/support/v7/app/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v7.appcompat
+ path: /reference/android/support/v7/appcompat/package-summary.html
+ status_text: apilevel-22.2.0
+- title: android.support.v7.cardview
+ path: /reference/android/support/v7/cardview/package-summary.html
+ status_text: apilevel-
+- title: android.support.v7.content.res
+ path: /reference/android/support/v7/content/res/package-summary.html
+ status_text: apilevel-24.0.0
+- title: android.support.v7.graphics
+ path: /reference/android/support/v7/graphics/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v7.graphics.drawable
+ path: /reference/android/support/v7/graphics/drawable/package-summary.html
+ status_text: apilevel-23.0.0
+- title: android.support.v7.gridlayout
+ path: /reference/android/support/v7/gridlayout/package-summary.html
+ status_text: apilevel-
+- title: android.support.v7.media
+ path: /reference/android/support/v7/media/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v7.mediarouter
+ path: /reference/android/support/v7/mediarouter/package-summary.html
+ status_text: apilevel-
+- title: android.support.v7.palette
+ path: /reference/android/support/v7/palette/package-summary.html
+ status_text: apilevel-
+- title: android.support.v7.preference
+ path: /reference/android/support/v7/preference/package-summary.html
+ status_text: apilevel-23.0.0
+- title: android.support.v7.recyclerview
+ path: /reference/android/support/v7/recyclerview/package-summary.html
+ status_text: apilevel-22.2.0
+- title: android.support.v7.util
+ path: /reference/android/support/v7/util/package-summary.html
+ status_text: apilevel-22.1.0
+- title: android.support.v7.view
+ path: /reference/android/support/v7/view/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v7.widget
+ path: /reference/android/support/v7/widget/package-summary.html
+ status_text: apilevel-22.0.0
+- title: android.support.v7.widget.helper
+ path: /reference/android/support/v7/widget/helper/package-summary.html
+ status_text: apilevel-22.2.0
+- title: android.support.v7.widget.util
+ path: /reference/android/support/v7/widget/util/package-summary.html
+ status_text: apilevel-22.1.0
+- title: android.support.v8.renderscript
+ path: /reference/android/support/v8/renderscript/package-summary.html
+ status_text: apilevel-23.0.0
+- title: android.support.wearable
+ path: /reference/android/support/wearable/package-summary.html
+ status_text: apilevel-
+- title: android.support.wearable.view
+ path: /reference/android/support/wearable/view/package-summary.html
+ status_text: apilevel-26.0.0-alpha1
+- title: android.system
+ path: /reference/android/system/package-summary.html
+ status_text: apilevel-21
+- title: android.telecom
+ path: /reference/android/telecom/package-summary.html
+ status_text: apilevel-21
+- title: android.telephony
+ path: /reference/android/telephony/package-summary.html
+ status_text: apilevel-1
+- title: android.telephony.cdma
+ path: /reference/android/telephony/cdma/package-summary.html
+ status_text: apilevel-5
+- title: android.telephony.gsm
+ path: /reference/android/telephony/gsm/package-summary.html
+ status_text: apilevel-1
+- title: android.test
+ path: /reference/android/test/package-summary.html
+ status_text: apilevel-1
+- title: android.test.mock
+ path: /reference/android/test/mock/package-summary.html
+ status_text: apilevel-1
+- title: android.test.suitebuilder
+ path: /reference/android/test/suitebuilder/package-summary.html
+ status_text: apilevel-1
+- title: android.test.suitebuilder.annotation
+ path: /reference/android/test/suitebuilder/annotation/package-summary.html
+ status_text: apilevel-1
+- title: android.text
+ path: /reference/android/text/package-summary.html
+ status_text: apilevel-1
+- title: android.text.format
+ path: /reference/android/text/format/package-summary.html
+ status_text: apilevel-3
+- title: android.text.method
+ path: /reference/android/text/method/package-summary.html
+ status_text: apilevel-1
+- title: android.text.style
+ path: /reference/android/text/style/package-summary.html
+ status_text: apilevel-1
+- title: android.text.util
+ path: /reference/android/text/util/package-summary.html
+ status_text: apilevel-1
+- title: android.transition
+ path: /reference/android/transition/package-summary.html
+ status_text: apilevel-19
+- title: android.util
+ path: /reference/android/util/package-summary.html
+ status_text: apilevel-1
+- title: android.view
+ path: /reference/android/view/package-summary.html
+ status_text: apilevel-1
+- title: android.view.accessibility
+ path: /reference/android/view/accessibility/package-summary.html
+ status_text: apilevel-4
+- title: android.view.animation
+ path: /reference/android/view/animation/package-summary.html
+ status_text: apilevel-1
+- title: android.view.autofill
+ path: /reference/android/view/autofill/package-summary.html
+ status_text: apilevel-O
+- title: android.view.inputmethod
+ path: /reference/android/view/inputmethod/package-summary.html
+ status_text: apilevel-3
+- title: android.view.textclassifier
+ path: /reference/android/view/textclassifier/package-summary.html
+ status_text: apilevel-O
+- title: android.view.textservice
+ path: /reference/android/view/textservice/package-summary.html
+ status_text: apilevel-14
+- title: android.webkit
+ path: /reference/android/webkit/package-summary.html
+ status_text: apilevel-1
+- title: android.widget
+ path: /reference/android/widget/package-summary.html
+ status_text: apilevel-1
+- title: com.android.test.runner
+ path: /reference/com/android/test/runner/package-summary.html
+ status_text: apilevel-
+- title: dalvik.annotation
+ path: /reference/dalvik/annotation/package-summary.html
+ status_text: apilevel-1
+- title: dalvik.bytecode
+ path: /reference/dalvik/bytecode/package-summary.html
+ status_text: apilevel-1
+- title: dalvik.system
+ path: /reference/dalvik/system/package-summary.html
+ status_text: apilevel-1
+- title: java.awt.font
+ path: /reference/java/awt/font/package-summary.html
+ status_text: apilevel-1
+- title: java.beans
+ path: /reference/java/beans/package-summary.html
+ status_text: apilevel-3
+- title: java.io
+ path: /reference/java/io/package-summary.html
+ status_text: apilevel-1
+- title: java.lang
+ path: /reference/java/lang/package-summary.html
+ status_text: apilevel-1
+- title: java.lang.annotation
+ path: /reference/java/lang/annotation/package-summary.html
+ status_text: apilevel-1
+- title: java.lang.invoke
+ path: /reference/java/lang/invoke/package-summary.html
+ status_text: apilevel-O
+- title: java.lang.ref
+ path: /reference/java/lang/ref/package-summary.html
+ status_text: apilevel-1
+- title: java.lang.reflect
+ path: /reference/java/lang/reflect/package-summary.html
+ status_text: apilevel-1
+- title: java.math
+ path: /reference/java/math/package-summary.html
+ status_text: apilevel-1
+- title: java.net
+ path: /reference/java/net/package-summary.html
+ status_text: apilevel-1
+- title: java.nio
+ path: /reference/java/nio/package-summary.html
+ status_text: apilevel-1
+- title: java.nio.channels
+ path: /reference/java/nio/channels/package-summary.html
+ status_text: apilevel-1
+- title: java.nio.channels.spi
+ path: /reference/java/nio/channels/spi/package-summary.html
+ status_text: apilevel-1
+- title: java.nio.charset
+ path: /reference/java/nio/charset/package-summary.html
+ status_text: apilevel-1
+- title: java.nio.charset.spi
+ path: /reference/java/nio/charset/spi/package-summary.html
+ status_text: apilevel-1
+- title: java.nio.file
+ path: /reference/java/nio/file/package-summary.html
+ status_text: apilevel-O
+- title: java.nio.file.attribute
+ path: /reference/java/nio/file/attribute/package-summary.html
+ status_text: apilevel-O
+- title: java.nio.file.spi
+ path: /reference/java/nio/file/spi/package-summary.html
+ status_text: apilevel-O
+- title: java.security
+ path: /reference/java/security/package-summary.html
+ status_text: apilevel-1
+- title: java.security.acl
+ path: /reference/java/security/acl/package-summary.html
+ status_text: apilevel-1
+- title: java.security.cert
+ path: /reference/java/security/cert/package-summary.html
+ status_text: apilevel-1
+- title: java.security.interfaces
+ path: /reference/java/security/interfaces/package-summary.html
+ status_text: apilevel-1
+- title: java.security.spec
+ path: /reference/java/security/spec/package-summary.html
+ status_text: apilevel-1
+- title: java.sql
+ path: /reference/java/sql/package-summary.html
+ status_text: apilevel-1
+- title: java.text
+ path: /reference/java/text/package-summary.html
+ status_text: apilevel-1
+- title: java.time
+ path: /reference/java/time/package-summary.html
+ status_text: apilevel-O
+- title: java.time.chrono
+ path: /reference/java/time/chrono/package-summary.html
+ status_text: apilevel-O
+- title: java.time.format
+ path: /reference/java/time/format/package-summary.html
+ status_text: apilevel-O
+- title: java.time.temporal
+ path: /reference/java/time/temporal/package-summary.html
+ status_text: apilevel-O
+- title: java.time.zone
+ path: /reference/java/time/zone/package-summary.html
+ status_text: apilevel-O
+- title: java.util
+ path: /reference/java/util/package-summary.html
+ status_text: apilevel-1
+- title: java.util.concurrent
+ path: /reference/java/util/concurrent/package-summary.html
+ status_text: apilevel-1
+- title: java.util.concurrent.atomic
+ path: /reference/java/util/concurrent/atomic/package-summary.html
+ status_text: apilevel-1
+- title: java.util.concurrent.locks
+ path: /reference/java/util/concurrent/locks/package-summary.html
+ status_text: apilevel-1
+- title: java.util.function
+ path: /reference/java/util/function/package-summary.html
+ status_text: apilevel-24
+- title: java.util.jar
+ path: /reference/java/util/jar/package-summary.html
+ status_text: apilevel-1
+- title: java.util.logging
+ path: /reference/java/util/logging/package-summary.html
+ status_text: apilevel-1
+- title: java.util.prefs
+ path: /reference/java/util/prefs/package-summary.html
+ status_text: apilevel-1
+- title: java.util.regex
+ path: /reference/java/util/regex/package-summary.html
+ status_text: apilevel-1
+- title: java.util.stream
+ path: /reference/java/util/stream/package-summary.html
+ status_text: apilevel-24
+- title: java.util.zip
+ path: /reference/java/util/zip/package-summary.html
+ status_text: apilevel-1
+- title: javax.crypto
+ path: /reference/javax/crypto/package-summary.html
+ status_text: apilevel-1
+- title: javax.crypto.interfaces
+ path: /reference/javax/crypto/interfaces/package-summary.html
+ status_text: apilevel-1
+- title: javax.crypto.spec
+ path: /reference/javax/crypto/spec/package-summary.html
+ status_text: apilevel-1
+- title: javax.microedition.khronos.egl
+ path: /reference/javax/microedition/khronos/egl/package-summary.html
+ status_text: apilevel-1
+- title: javax.microedition.khronos.opengles
+ path: /reference/javax/microedition/khronos/opengles/package-summary.html
+ status_text: apilevel-1
+- title: javax.net
+ path: /reference/javax/net/package-summary.html
+ status_text: apilevel-1
+- title: javax.net.ssl
+ path: /reference/javax/net/ssl/package-summary.html
+ status_text: apilevel-1
+- title: javax.security.auth
+ path: /reference/javax/security/auth/package-summary.html
+ status_text: apilevel-1
+- title: javax.security.auth.callback
+ path: /reference/javax/security/auth/callback/package-summary.html
+ status_text: apilevel-1
+- title: javax.security.auth.login
+ path: /reference/javax/security/auth/login/package-summary.html
+ status_text: apilevel-1
+- title: javax.security.auth.x500
+ path: /reference/javax/security/auth/x500/package-summary.html
+ status_text: apilevel-1
+- title: javax.security.cert
+ path: /reference/javax/security/cert/package-summary.html
+ status_text: apilevel-1
+- title: javax.sql
+ path: /reference/javax/sql/package-summary.html
+ status_text: apilevel-1
+- title: javax.xml
+ path: /reference/javax/xml/package-summary.html
+ status_text: apilevel-1
+- title: javax.xml.datatype
+ path: /reference/javax/xml/datatype/package-summary.html
+ status_text: apilevel-8
+- title: javax.xml.namespace
+ path: /reference/javax/xml/namespace/package-summary.html
+ status_text: apilevel-8
+- title: javax.xml.parsers
+ path: /reference/javax/xml/parsers/package-summary.html
+ status_text: apilevel-1
+- title: javax.xml.transform
+ path: /reference/javax/xml/transform/package-summary.html
+ status_text: apilevel-8
+- title: javax.xml.transform.dom
+ path: /reference/javax/xml/transform/dom/package-summary.html
+ status_text: apilevel-8
+- title: javax.xml.transform.sax
+ path: /reference/javax/xml/transform/sax/package-summary.html
+ status_text: apilevel-8
+- title: javax.xml.transform.stream
+ path: /reference/javax/xml/transform/stream/package-summary.html
+ status_text: apilevel-8
+- title: javax.xml.validation
+ path: /reference/javax/xml/validation/package-summary.html
+ status_text: apilevel-8
+- title: javax.xml.xpath
+ path: /reference/javax/xml/xpath/package-summary.html
+ status_text: apilevel-8
+- title: junit.framework
+ path: /reference/junit/framework/package-summary.html
+ status_text: apilevel-1
+- title: junit.runner
+ path: /reference/junit/runner/package-summary.html
+ status_text: apilevel-1
+- title: org.apache.http.conn
+ path: /reference/org/apache/http/conn/package-summary.html
+ status_text: apilevel-1
+- title: org.apache.http.conn.scheme
+ path: /reference/org/apache/http/conn/scheme/package-summary.html
+ status_text: apilevel-1
+- title: org.apache.http.conn.ssl
+ path: /reference/org/apache/http/conn/ssl/package-summary.html
+ status_text: apilevel-1
+- title: org.apache.http.params
+ path: /reference/org/apache/http/params/package-summary.html
+ status_text: apilevel-1
+- title: org.json
+ path: /reference/org/json/package-summary.html
+ status_text: apilevel-1
+- title: org.w3c.dom
+ path: /reference/org/w3c/dom/package-summary.html
+ status_text: apilevel-1
+- title: org.w3c.dom.ls
+ path: /reference/org/w3c/dom/ls/package-summary.html
+ status_text: apilevel-8
+- title: org.xml.sax
+ path: /reference/org/xml/sax/package-summary.html
+ status_text: apilevel-1
+- title: org.xml.sax.ext
+ path: /reference/org/xml/sax/ext/package-summary.html
+ status_text: apilevel-1
+- title: org.xml.sax.helpers
+ path: /reference/org/xml/sax/helpers/package-summary.html
+ status_text: apilevel-1
+- title: org.xmlpull.v1
+ path: /reference/org/xmlpull/v1/package-summary.html
+ status_text: apilevel-1
+- title: org.xmlpull.v1.sax2
+ path: /reference/org/xmlpull/v1/sax2/package-summary.html
+ status_text: apilevel-1
diff --git a/docs/html/reference/_project.yaml b/docs/html/reference/_project.yaml
new file mode 100644
index 000000000000..e5c26e7fdd8f
--- /dev/null
+++ b/docs/html/reference/_project.yaml
@@ -0,0 +1,6 @@
+name: "Reference"
+home_url: /reference/
+description: "API Reference packages and classes."
+content_license: cc3-apache2
+buganizer_id: 30209417
+parent_project_metadata_path: /develop/_project.yaml
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 24a69c3cc3ff..3f03c10c1f7f 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -18377,10 +18377,12 @@ public class ActivityManagerService extends IActivityManager.Stub
public Intent registerReceiver(IApplicationThread caller, String callerPackage,
IIntentReceiver receiver, IntentFilter filter, String permission, int userId,
- boolean visibleToInstantApps) {
+ int flags) {
enforceNotIsolatedCaller("registerReceiver");
ArrayList<Intent> stickyIntents = null;
ProcessRecord callerApp = null;
+ final boolean visibleToInstantApps
+ = (flags & Context.RECEIVER_VISIBLE_TO_INSTANT_APPS) != 0;
int callingUid;
int callingPid;
boolean instantApp;
diff --git a/test-runner/src/android/test/mock/MockContext.java b/test-runner/src/android/test/mock/MockContext.java
index b4e3a476425a..bfc2d728ad5c 100644
--- a/test-runner/src/android/test/mock/MockContext.java
+++ b/test-runner/src/android/test/mock/MockContext.java
@@ -492,7 +492,7 @@ public class MockContext extends Context {
@Override
public Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter,
- boolean visibleToInstantApps) {
+ int flags) {
throw new UnsupportedOperationException();
}
@@ -504,7 +504,7 @@ public class MockContext extends Context {
@Override
public Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter,
- String broadcastPermission, Handler scheduler, boolean visibleToInstantApps) {
+ String broadcastPermission, Handler scheduler, int flags) {
throw new UnsupportedOperationException();
}
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java
index 1e77ac170028..8bd924ea9cfb 100644
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java
@@ -1614,7 +1614,7 @@ public class BridgeContext extends Context {
}
@Override
- public Intent registerReceiver(BroadcastReceiver arg0, IntentFilter arg1, boolean arg2) {
+ public Intent registerReceiver(BroadcastReceiver arg0, IntentFilter arg1, int arg2) {
// pass
return null;
}
@@ -1628,7 +1628,7 @@ public class BridgeContext extends Context {
@Override
public Intent registerReceiver(BroadcastReceiver arg0, IntentFilter arg1,
- String arg2, Handler arg3, boolean arg4) {
+ String arg2, Handler arg3, int arg4) {
// pass
return null;
}