blob: 6fe808162eb650459ae71f7b613d328ac82dd834 [file]
/*
* Copyright (C) 2025 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
syntax = "proto2";
package android.os.statsd.desktopmode;
option java_outer_classname = "DesktopModeEnums";
option java_multiple_files = true;
// The reason for entering desktopmode.
enum EnterReason {
UNKNOWN_ENTER = 0;
OVERVIEW = 1;
APP_HANDLE_DRAG = 2;
APP_HANDLE_MENU_BUTTON = 3;
APP_FREEFORM_INTENT = 4; // This covers intent based starts from app-shortcut, taskbar, keyboard shortcuts where we don't use any custom transition
KEYBOARD_SHORTCUT_ENTER = 5;
SCREEN_ON = 6; // desktop mode visible after screen turned on
OVERVIEW_TASK_MENU = 7;
ADB_COMMAND = 8;
RECENTS = 9; // This covers quick switch and enter empty desk from recents.
EXIT_PIP = 10; // Activity exiting PiP entering freeform.
DISPLAY_CONNECT = 11;
DESK_REPARENT = 12;
APP_SELF_REPOSITION = 13;
TASKBAR_ICON = 14;
TASK_LAUNCH = 15;
CLIENT_REQUEST_EXIT_FULLSCREEN = 16; // The activity requested to enter fullscreen.
}
// The reason for exiting desktopmode.
enum ExitReason {
UNKNOWN_EXIT = 0;
DRAG_TO_EXIT = 1;
APP_HANDLE_MENU_BUTTON_EXIT = 2;
KEYBOARD_SHORTCUT_EXIT = 3;
RETURN_HOME_OR_OVERVIEW = 4; // user swiped up to go to overview, or home screen
TASK_FINISHED = 5; // the task finished or dismissed
SCREEN_OFF = 6;
TASK_MINIMIZED = 7; // the task gets minimized
TASK_MOVED_TO_BACK = 8; // The task moved to back due to back gesture or button.
DISPLAY_DISCONNECTED = 9;
FULLSCREEN_LAUNCH = 10;
ADB_COMMAND_EXIT = 11;
TASK_MOVED_FROM_DESK = 12;
RECENTS_DISMISS = 13;
ENTER_PIP = 14;
ENTER_BUBBLE = 15;
CLIENT_REQUEST_ENTER_FULLSCREEN = 16; // The activity requested to exit fullscreen.
}
// The reason a task was focused
enum FocusReason {
// Unset means there is no focus reason (the task did not get focused)
UNSET_FOCUS = 0;
// Unknown means we don't know what caused the focus change
FOCUS_UNKNOWN = 1;
}
// The kind of the app event.
enum TaskEvent {
UNKNOWN_TASK_EVENT = 0;
TASK_ADDED = 1;
TASK_REMOVED = 2;
TASK_INFO_CHANGED = 3; // covers both size and position changes of the app
TASK_INIT_STATSD = 4; // Used to initialise state field in statsd
}
// The reason a task was minimized
enum MinimizeReason {
// Unset means the task did not get minimized
UNSET_MINIMIZE = 0;
MINIMIZE_TASK_LIMIT = 1;
MINIMIZE_BUTTON = 2;
MINIMIZE_KEY_GESTURE = 3;
MINIMIZE_MULTI_ACTIVITY_PIP = 4;
}
// The reason a task was unminimized
enum UnminimizeReason {
// Unset means the task did not get minimized
UNSET_UNMINIMIZE = 0;
// Unknown means we don't know what caused the unminimize action
UNMINIMIZE_UNKNOWN = 1;
UNMINIMIZE_TASKBAR_TAP = 2;
UNMINIMIZE_ALT_TAB = 3;
UNMINIMIZE_TASK_LAUNCH = 4;
UNMINIMIZE_APP_HANDLE_MENU_BUTTON = 5;
UNMINIMIZE_TASKBAR_MANAGE_WINDOW = 6;
}
// The trigger for task resize
enum ResizeTrigger {
UNKNOWN_RESIZE_TRIGGER = 0;
// Resize task from its corner bounds
CORNER_RESIZE_TRIGGER = 1;
// Resize task from its edges
EDGE_RESIZE_TRIGGER = 2;
// Resize two tiled apps simultaneously using the divider
TILING_DIVIDER_RESIZE_TRIGGER = 3;
// Resize task to fit the stable bounds by clicking on the maximize button
// on the app header
MAXIMIZE_BUTTON_RESIZE_TRIGGER = 4;
// Resize task to fit the stable bounds by double tapping the app header
DOUBLE_TAP_APP_HEADER_RESIZE_TRIGGER = 5;
// Snap a resizable task to the left half of the screen by dragging the task
// to the left
DRAG_LEFT_RESIZE_TRIGGER = 6;
// Snap a resizable task to the right half of the screen by dragging the
// task to the right
DRAG_RIGHT_RESIZE_TRIGGER = 7;
// Snap a resizable task to the left half of the screen by clicking on the
// snap left menu on the app header
SNAP_LEFT_MENU_RESIZE_TRIGGER = 8;
// Snap a resizable task to the right half of the screen by clicking on the
// snap right menu on the app header
SNAP_RIGHT_MENU_RESIZE_TRIGGER = 9;
// Resize task to fit stable bounds by clicking on the maximize menu that
// appears when the app header button is long pressed or hovered over
MAXIMIZE_MENU_RESIZE_TRIGGER = 10;
// Resize task to fit the stable bounds by dragging the task to the top of the
// screen
DRAG_TO_TOP_RESIZE_TRIGGER = 11;
}
// The stage at which a task is being resized
enum ResizingStage {
UNKNOWN_RESIZING_STAGE = 0;
// Stage before the task was resized
START_RESIZING_STAGE = 1;
// Stage when task resize is complete
END_RESIZING_STAGE = 2;
}
// The input method for resizing the task
enum InputMethod {
UNKNOWN_INPUT_METHOD = 0;
TOUCH_INPUT_METHOD = 1;
STYLUS_INPUT_METHOD = 2;
MOUSE_INPUT_METHOD = 3;
TOUCHPAD_INPUT_METHOD = 4;
// Only tiling and maximizing window actions have keyboard shortcuts
KEYBOARD_INPUT_METHOD = 5;
ACCESSIBILITY_INPUT_METHOD = 6;
}