Loading core/java/android/app/ActivityOptions.java +23 −0 Original line number Diff line number Diff line Loading @@ -324,6 +324,13 @@ public class ActivityOptions extends ComponentOptions { private static final String KEY_APPLY_MULTIPLE_TASK_FLAG_FOR_SHORTCUT = "android:activity.applyMultipleTaskFlagForShortcut"; /** * Indicates to apply {@link Intent#FLAG_ACTIVITY_NO_USER_ACTION} to the launching shortcut. * @hide */ private static final String KEY_APPLY_NO_USER_ACTION_FLAG_FOR_SHORTCUT = "android:activity.applyNoUserActionFlagForShortcut"; /** * For Activity transitions, the calling Activity's TransitionListener used to * notify the called Activity when the shared element and the exit transitions Loading Loading @@ -457,6 +464,7 @@ public class ActivityOptions extends ComponentOptions { private boolean mDisallowEnterPictureInPictureWhileLaunching; private boolean mApplyActivityFlagsForBubbles; private boolean mApplyMultipleTaskFlagForShortcut; private boolean mApplyNoUserActionFlagForShortcut; private boolean mTaskAlwaysOnTop; private boolean mTaskOverlay; private boolean mTaskOverlayCanResume; Loading Loading @@ -1256,6 +1264,8 @@ public class ActivityOptions extends ComponentOptions { KEY_APPLY_ACTIVITY_FLAGS_FOR_BUBBLES, false); mApplyMultipleTaskFlagForShortcut = opts.getBoolean( KEY_APPLY_MULTIPLE_TASK_FLAG_FOR_SHORTCUT, false); mApplyNoUserActionFlagForShortcut = opts.getBoolean( KEY_APPLY_NO_USER_ACTION_FLAG_FOR_SHORTCUT, false); if (opts.containsKey(KEY_ANIM_SPECS)) { Parcelable[] specs = opts.getParcelableArray(KEY_ANIM_SPECS); mAnimSpecs = new AppTransitionAnimationSpec[specs.length]; Loading Loading @@ -1835,6 +1845,16 @@ public class ActivityOptions extends ComponentOptions { return mApplyMultipleTaskFlagForShortcut; } /** @hide */ public void setApplyNoUserActionFlagForShortcut(boolean apply) { mApplyNoUserActionFlagForShortcut = apply; } /** @hide */ public boolean isApplyNoUserActionFlagForShortcut() { return mApplyNoUserActionFlagForShortcut; } /** * Sets a launch cookie that can be used to track the activity and task that are launch as a * result of this option. If the launched activity is a trampoline that starts another activity Loading Loading @@ -2167,6 +2187,9 @@ public class ActivityOptions extends ComponentOptions { b.putBoolean(KEY_APPLY_MULTIPLE_TASK_FLAG_FOR_SHORTCUT, mApplyMultipleTaskFlagForShortcut); } if (mApplyNoUserActionFlagForShortcut) { b.putBoolean(KEY_APPLY_NO_USER_ACTION_FLAG_FOR_SHORTCUT, true); } if (mAnimSpecs != null) { b.putParcelableArray(KEY_ANIM_SPECS, mAnimSpecs); } Loading services/core/java/com/android/server/pm/LauncherAppsService.java +4 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import static android.app.PendingIntent.FLAG_MUTABLE; import static android.app.PendingIntent.FLAG_UPDATE_CURRENT; import static android.content.Intent.FLAG_ACTIVITY_MULTIPLE_TASK; import static android.content.Intent.FLAG_ACTIVITY_NEW_DOCUMENT; import static android.content.Intent.FLAG_ACTIVITY_NO_USER_ACTION; import static android.content.pm.LauncherApps.FLAG_CACHE_BUBBLE_SHORTCUTS; import static android.content.pm.LauncherApps.FLAG_CACHE_NOTIFICATION_SHORTCUTS; import static android.content.pm.LauncherApps.FLAG_CACHE_PEOPLE_TILE_SHORTCUTS; Loading Loading @@ -1123,6 +1124,9 @@ public class LauncherAppsService extends SystemService { if (options.isApplyMultipleTaskFlagForShortcut()) { intents[0].addFlags(FLAG_ACTIVITY_MULTIPLE_TASK); } if (options.isApplyNoUserActionFlagForShortcut()) { intents[0].addFlags(FLAG_ACTIVITY_NO_USER_ACTION); } } intents[0].addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intents[0].setSourceBounds(sourceBounds); Loading Loading
core/java/android/app/ActivityOptions.java +23 −0 Original line number Diff line number Diff line Loading @@ -324,6 +324,13 @@ public class ActivityOptions extends ComponentOptions { private static final String KEY_APPLY_MULTIPLE_TASK_FLAG_FOR_SHORTCUT = "android:activity.applyMultipleTaskFlagForShortcut"; /** * Indicates to apply {@link Intent#FLAG_ACTIVITY_NO_USER_ACTION} to the launching shortcut. * @hide */ private static final String KEY_APPLY_NO_USER_ACTION_FLAG_FOR_SHORTCUT = "android:activity.applyNoUserActionFlagForShortcut"; /** * For Activity transitions, the calling Activity's TransitionListener used to * notify the called Activity when the shared element and the exit transitions Loading Loading @@ -457,6 +464,7 @@ public class ActivityOptions extends ComponentOptions { private boolean mDisallowEnterPictureInPictureWhileLaunching; private boolean mApplyActivityFlagsForBubbles; private boolean mApplyMultipleTaskFlagForShortcut; private boolean mApplyNoUserActionFlagForShortcut; private boolean mTaskAlwaysOnTop; private boolean mTaskOverlay; private boolean mTaskOverlayCanResume; Loading Loading @@ -1256,6 +1264,8 @@ public class ActivityOptions extends ComponentOptions { KEY_APPLY_ACTIVITY_FLAGS_FOR_BUBBLES, false); mApplyMultipleTaskFlagForShortcut = opts.getBoolean( KEY_APPLY_MULTIPLE_TASK_FLAG_FOR_SHORTCUT, false); mApplyNoUserActionFlagForShortcut = opts.getBoolean( KEY_APPLY_NO_USER_ACTION_FLAG_FOR_SHORTCUT, false); if (opts.containsKey(KEY_ANIM_SPECS)) { Parcelable[] specs = opts.getParcelableArray(KEY_ANIM_SPECS); mAnimSpecs = new AppTransitionAnimationSpec[specs.length]; Loading Loading @@ -1835,6 +1845,16 @@ public class ActivityOptions extends ComponentOptions { return mApplyMultipleTaskFlagForShortcut; } /** @hide */ public void setApplyNoUserActionFlagForShortcut(boolean apply) { mApplyNoUserActionFlagForShortcut = apply; } /** @hide */ public boolean isApplyNoUserActionFlagForShortcut() { return mApplyNoUserActionFlagForShortcut; } /** * Sets a launch cookie that can be used to track the activity and task that are launch as a * result of this option. If the launched activity is a trampoline that starts another activity Loading Loading @@ -2167,6 +2187,9 @@ public class ActivityOptions extends ComponentOptions { b.putBoolean(KEY_APPLY_MULTIPLE_TASK_FLAG_FOR_SHORTCUT, mApplyMultipleTaskFlagForShortcut); } if (mApplyNoUserActionFlagForShortcut) { b.putBoolean(KEY_APPLY_NO_USER_ACTION_FLAG_FOR_SHORTCUT, true); } if (mAnimSpecs != null) { b.putParcelableArray(KEY_ANIM_SPECS, mAnimSpecs); } Loading
services/core/java/com/android/server/pm/LauncherAppsService.java +4 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import static android.app.PendingIntent.FLAG_MUTABLE; import static android.app.PendingIntent.FLAG_UPDATE_CURRENT; import static android.content.Intent.FLAG_ACTIVITY_MULTIPLE_TASK; import static android.content.Intent.FLAG_ACTIVITY_NEW_DOCUMENT; import static android.content.Intent.FLAG_ACTIVITY_NO_USER_ACTION; import static android.content.pm.LauncherApps.FLAG_CACHE_BUBBLE_SHORTCUTS; import static android.content.pm.LauncherApps.FLAG_CACHE_NOTIFICATION_SHORTCUTS; import static android.content.pm.LauncherApps.FLAG_CACHE_PEOPLE_TILE_SHORTCUTS; Loading Loading @@ -1123,6 +1124,9 @@ public class LauncherAppsService extends SystemService { if (options.isApplyMultipleTaskFlagForShortcut()) { intents[0].addFlags(FLAG_ACTIVITY_MULTIPLE_TASK); } if (options.isApplyNoUserActionFlagForShortcut()) { intents[0].addFlags(FLAG_ACTIVITY_NO_USER_ACTION); } } intents[0].addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intents[0].setSourceBounds(sourceBounds); Loading