diff options
-rw-r--r-- | api/current.txt | 13 | ||||
-rw-r--r-- | api/system-current.txt | 13 | ||||
-rw-r--r-- | api/test-current.txt | 13 | ||||
-rw-r--r-- | core/java/android/app/ContextImpl.java | 16 | ||||
-rw-r--r-- | core/java/android/app/FragmentManager.java | 8 | ||||
-rw-r--r-- | core/java/android/app/IActivityManager.aidl | 2 | ||||
-rw-r--r-- | core/java/android/content/Context.java | 31 | ||||
-rw-r--r-- | core/java/android/content/ContextWrapper.java | 8 | ||||
-rw-r--r-- | core/java/android/content/pm/ShortcutManager.java | 24 | ||||
-rw-r--r-- | docs/html/reference/_book.yaml | 853 | ||||
-rw-r--r-- | docs/html/reference/_project.yaml | 6 | ||||
-rw-r--r-- | services/core/java/com/android/server/am/ActivityManagerService.java | 4 | ||||
-rw-r--r-- | test-runner/src/android/test/mock/MockContext.java | 4 | ||||
-rw-r--r-- | tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java | 4 |
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; } |