|  | // Copyright 2013 The Flutter Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | /// Special flags that can be set on an intent to control how it is handled. | 
|  | /// | 
|  | /// See | 
|  | /// https://developer.android.com/reference/android/content/Intent.html#setFlags(int) | 
|  | /// for the official documentation on Intent flags. The constants here mirror | 
|  | /// the existing [android.content.Intent] ones. | 
|  | class Flag { | 
|  | /// Specifies how an activity should be launched. Generally set by the system | 
|  | /// in conjunction with SINGLE_TASK. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_BROUGHT_TO_FRONT. | 
|  | static const int FLAG_ACTIVITY_BROUGHT_TO_FRONT = 4194304; | 
|  |  | 
|  | /// Causes any existing tasks associated with the activity to be cleared. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TASK | 
|  | static const int FLAG_ACTIVITY_CLEAR_TASK = 32768; | 
|  |  | 
|  | /// Closes any activities on top of this activity and brings it to the front, | 
|  | /// if it's currently running. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOP | 
|  | static const int FLAG_ACTIVITY_CLEAR_TOP = 67108864; | 
|  |  | 
|  | /// @deprecated Use [FLAG_ACTIVITY_NEW_DOCUMENT] instead when on API 21 or above. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET | 
|  | @deprecated | 
|  | static const int FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET = 524288; | 
|  |  | 
|  | /// Keeps the activity from being listed with other recently launched | 
|  | /// activities. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS | 
|  | static const int FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS = 8388608; | 
|  |  | 
|  | /// Forwards the result from this activity to the existing one. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_FORWARD_RESULT | 
|  | static const int FLAG_ACTIVITY_FORWARD_RESULT = 33554432; | 
|  |  | 
|  | /// Generally set by the system if the activity is being launched from | 
|  | /// history. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY | 
|  | static const int FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY = 1048576; | 
|  |  | 
|  | /// Used in split-screen mode to set the launched activity adjacent to the | 
|  | /// launcher. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_LAUNCH_ADJACENT | 
|  | static const int FLAG_ACTIVITY_LAUNCH_ADJACENT = 4096; | 
|  |  | 
|  | /// Used in split-screen mode to set the launched activity adjacent to the | 
|  | /// launcher. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_MATCH_EXTERNAL | 
|  | static const int FLAG_ACTIVITY_MATCH_EXTERNAL = 2048; | 
|  |  | 
|  | /// Creates and launches the activity into a new task. Should always be | 
|  | /// combined with [FLAG_ACTIVITY_NEW_DOCUMENT] or [FLAG_ACTIVITY_NEW_TASK]. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_MULTIPLE_TASK. | 
|  | static const int FLAG_ACTIVITY_MULTIPLE_TASK = 134217728; | 
|  |  | 
|  | /// Opens a document into a new task rooted in this activity. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_NEW_DOCUMENT. | 
|  | static const int FLAG_ACTIVITY_NEW_DOCUMENT = 524288; | 
|  |  | 
|  | /// The launched activity starts a new task on the activity stack. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_NEW_TASK. | 
|  | static const int FLAG_ACTIVITY_NEW_TASK = 268435456; | 
|  |  | 
|  | /// Prevents the system from playing an activity transition animation when | 
|  | /// launching this. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_NO_ANIMATION. | 
|  | static const int FLAG_ACTIVITY_NO_ANIMATION = 65536; | 
|  |  | 
|  | /// Does not keep the launched activity in history. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_NO_HISTORY. | 
|  | static const int FLAG_ACTIVITY_NO_HISTORY = 1073741824; | 
|  |  | 
|  | /// Prevents a typical callback from occuring when the activity is paused. | 
|  | /// | 
|  | /// https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_NO_USER_ACTION | 
|  | static const int FLAG_ACTIVITY_NO_USER_ACTION = 262144; | 
|  |  | 
|  | /// Uses the previous activity as top when applicable. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_PREVIOUS_IS_TOP. | 
|  | static const int FLAG_ACTIVITY_PREVIOUS_IS_TOP = 16777216; | 
|  |  | 
|  | /// Brings any already instances of this activity to the front. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_REORDER_TO_FRONT. | 
|  | static const int FLAG_ACTIVITY_REORDER_TO_FRONT = 131072; | 
|  |  | 
|  | /// Launches the activity in a way that resets the task in some cases. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_RESET_TASK_IF_NEEDED. | 
|  | static const int FLAG_ACTIVITY_RESET_TASK_IF_NEEDED = 2097152; | 
|  |  | 
|  | /// Keeps an entry in recent tasks. Used with [FLAG_ACTIVITY_NEW_DOCUMENT]. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_RETAIN_IN_RECENTS. | 
|  | static const int FLAG_ACTIVITY_RETAIN_IN_RECENTS = 8192; | 
|  |  | 
|  | /// Will not re-launch the activity if it is already at the top of the history | 
|  | /// stack. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_SINGLE_TOP. | 
|  | static const int FLAG_ACTIVITY_SINGLE_TOP = 536870912; | 
|  |  | 
|  | /// Places the activity on top of the home task. Must be used with | 
|  | /// [FLAG_ACTIVITY_NEW_TASK]. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_TASK_ON_HOME. | 
|  | static const int FLAG_ACTIVITY_TASK_ON_HOME = 16384; | 
|  |  | 
|  | /// Prints debug logs while the intent is resolving. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_DEBUG_LOG_RESOLUTION. | 
|  | static const int FLAG_DEBUG_LOG_RESOLUTION = 8; | 
|  |  | 
|  | /// Does not match to any stopped components. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_EXCLUDE_STOPPED_PACKAGES. | 
|  | static const int FLAG_EXCLUDE_STOPPED_PACKAGES = 16; | 
|  |  | 
|  | /// Can be set by the caller to flag the intent as not being launched directly | 
|  | /// by the user. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_FROM_BACKGROUND. | 
|  | static const int FLAG_FROM_BACKGROUND = 4; | 
|  |  | 
|  | /// Will persist the URI permision across device reboots. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_GRANT_PERSISTABLE_URI_PERMISSION. | 
|  | static const int FLAG_GRANT_PERSISTABLE_URI_PERMISSION = 64; | 
|  |  | 
|  | /// Applies the URI permission grant based on prefix matching. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_GRANT_PREFIX_URI_PERMISSION. | 
|  | static const int FLAG_GRANT_PREFIX_URI_PERMISSION = 128; | 
|  |  | 
|  | /// Grants the intent listener permission to read extra data from the Intent's | 
|  | /// URI. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_GRANT_READ_URI_PERMISSION. | 
|  | static const int FLAG_GRANT_READ_URI_PERMISSION = 1; | 
|  |  | 
|  | /// Grants the intent listener permission to write extra data from the | 
|  | /// Intent's URI. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_GRANT_WRITE_URI_PERMISSION. | 
|  | static const int FLAG_GRANT_WRITE_URI_PERMISSION = 2; | 
|  |  | 
|  | /// Always matches stopped components. This is the default behavior. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_INCLUDE_STOPPED_PACKAGES. | 
|  | static const int FLAG_INCLUDE_STOPPED_PACKAGES = 32; | 
|  |  | 
|  | /// Allows the listener to run at a high priority. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_RECEIVER_FOREGROUND. | 
|  | static const int FLAG_RECEIVER_FOREGROUND = 268435456; | 
|  |  | 
|  | /// Doesn't allow listeners to cancel the broadcast. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_RECEIVER_NO_ABORT. | 
|  | static const int FLAG_RECEIVER_NO_ABORT = 134217728; | 
|  |  | 
|  | /// Only allows registered receivers to listen for the intent. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_RECEIVER_REGISTERED_ONLY. | 
|  | static const int FLAG_RECEIVER_REGISTERED_ONLY = 1073741824; | 
|  |  | 
|  | /// Will drop any pending broadcasts of this intent in favor of the newest | 
|  | /// one. | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_RECEIVER_REPLACE_PENDING. | 
|  | static const int FLAG_RECEIVER_REPLACE_PENDING = 536870912; | 
|  |  | 
|  | /// Instant Apps will be able to listen for the intent (not the default | 
|  | /// behavior). | 
|  | /// | 
|  | /// See https://developer.android.com/reference/android/content/Intent.html#FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS. | 
|  | static const int FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS = 2097152; | 
|  | } |