// Copyright 2017 The Chromium 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;
}
