/* * Copyright (C) 2022 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.view.inputmethod; option java_outer_classname = "ImeProtoEnums"; option java_multiple_files = true; // Reason for creating the IME request, // used by android/internal/inputmethod/SoftInputShowHideReason.java. enum SoftInputShowHideReasonEnum { REASON_NOT_SET = 0; REASON_SHOW_SOFT_INPUT = 1; REASON_ATTACH_NEW_INPUT = 2; REASON_SHOW_SOFT_INPUT_FROM_IME = 3; REASON_HIDE_SOFT_INPUT = 4; REASON_HIDE_SOFT_INPUT_FROM_IME = 5; REASON_SHOW_AUTO_EDITOR_FORWARD_NAV = 6; REASON_SHOW_STATE_VISIBLE_FORWARD_NAV = 7; REASON_SHOW_STATE_ALWAYS_VISIBLE = 8; REASON_SHOW_SETTINGS_ON_CHANGE = 9; REASON_HIDE_SWITCH_USER = 10; REASON_HIDE_INVALID_USER = 11; REASON_HIDE_UNSPECIFIED_WINDOW = 12; REASON_HIDE_STATE_HIDDEN_FORWARD_NAV = 13; REASON_HIDE_ALWAYS_HIDDEN_STATE = 14; REASON_HIDE_RESET_SHELL_COMMAND = 15; REASON_HIDE_SETTINGS_ON_CHANGE = 16; REASON_HIDE_POWER_BUTTON_GO_HOME = 17; REASON_HIDE_DOCKED_STACK_ATTACHED = 18; REASON_HIDE_RECENTS_ANIMATION = 19; REASON_HIDE_BUBBLES = 20; REASON_HIDE_SAME_WINDOW_FOCUSED_WITHOUT_EDITOR = 21; REASON_HIDE_REMOVE_CLIENT = 22; REASON_SHOW_RESTORE_IME_VISIBILITY = 23; REASON_SHOW_TOGGLE_SOFT_INPUT = 24; REASON_HIDE_TOGGLE_SOFT_INPUT = 25; REASON_SHOW_SOFT_INPUT_BY_INSETS_API = 26; REASON_HIDE_DISPLAY_IME_POLICY_HIDE = 27; REASON_HIDE_SOFT_INPUT_BY_INSETS_API = 28; REASON_HIDE_SOFT_INPUT_BY_BACK_KEY = 29; REASON_HIDE_SOFT_INPUT_IME_TOGGLE_SOFT_INPUT = 30; REASON_HIDE_SOFT_INPUT_EXTRACT_INPUT_CHANGED = 31; REASON_HIDE_SOFT_INPUT_IMM_DEPRECATION = 32; REASON_HIDE_WINDOW_GAINED_FOCUS_WITHOUT_EDITOR = 33; REASON_SHOW_IME_SCREENSHOT_FROM_IMMS = 34; REASON_REMOVE_IME_SCREENSHOT_FROM_IMMS = 35; REASON_UPDATE_IME_PARENT_FROM_IMMS = 36; REASON_HIDE_WHEN_INPUT_TARGET_INVISIBLE = 37; } // The type of the IME request, used by android/view/inputmethod/ImeTracker.java. enum ImeRequestTypeEnum { // IME request type not set. TYPE_NOT_SET = 0; // IME show request type. TYPE_SHOW = 1; // IME hide request type. TYPE_HIDE = 2; } // The status of the IME request, used by android/view/inputmethod/ImeTracker.java. enum ImeRequestStatusEnum { // IME request status not set. STATUS_NOT_SET = 0; // IME request running. STATUS_RUN = 1; // IME request cancelled. STATUS_CANCEL = 2; // IME request failed. STATUS_FAIL = 3; // IME request succeeded. STATUS_SUCCESS = 4; // IME request timed out. STATUS_TIMEOUT = 5; } // The origin of the IME request, used by android/view/inputmethod/ImeTracker.java. enum ImeRequestOriginEnum { // IME request origin not set. ORIGIN_NOT_SET = 0; // The IME show request originated in the client. ORIGIN_CLIENT_SHOW_SOFT_INPUT = 1; // The IME hide request originated in the client. ORIGIN_CLIENT_HIDE_SOFT_INPUT = 2; // The IME show request originated in the server. ORIGIN_SERVER_START_INPUT = 3; // The IME hide request originated in the server. ORIGIN_SERVER_HIDE_INPUT = 4; } enum ImeRequestPhaseEnum { // IME request phase not set. PHASE_NOT_SET = 0; // The view that requested the IME has been served by the IMM. PHASE_CLIENT_VIEW_SERVED = 1; // The IME client that requested the IME has window manager focus. PHASE_SERVER_CLIENT_KNOWN = 2; // The IME client that requested the IME has IME focus. PHASE_SERVER_CLIENT_FOCUSED = 3; // The IME request complies with the current accessibility settings. PHASE_SERVER_ACCESSIBILITY = 4; // The server is ready to run third party code. PHASE_SERVER_SYSTEM_READY = 5; // Checked the implicit hide request against any explicit show requests. PHASE_SERVER_HIDE_IMPLICIT = 6; // Checked the not-always hide request against any forced show requests. PHASE_SERVER_HIDE_NOT_ALWAYS = 7; // The server is waiting for a connection to the IME. PHASE_SERVER_WAIT_IME = 8; // The server has a connection to the IME. PHASE_SERVER_HAS_IME = 9; // The server decided the IME should be hidden. PHASE_SERVER_SHOULD_HIDE = 10; // Reached the IME wrapper. PHASE_IME_WRAPPER = 11; // Dispatched from the IME wrapper to the IME. PHASE_IME_WRAPPER_DISPATCH = 12; // Reached the IME' showSoftInput method. PHASE_IME_SHOW_SOFT_INPUT = 13; // Reached the IME' hideSoftInput method. PHASE_IME_HIDE_SOFT_INPUT = 14; // The server decided the IME should be shown. PHASE_IME_ON_SHOW_SOFT_INPUT_TRUE = 15; // Requested applying the IME visibility in the insets source consumer. PHASE_IME_APPLY_VISIBILITY_INSETS_CONSUMER = 16; // Applied the IME visibility. PHASE_SERVER_APPLY_IME_VISIBILITY = 17; // Created the show IME runner. PHASE_WM_SHOW_IME_RUNNER = 18; // Ready to show IME. PHASE_WM_SHOW_IME_READY = 19; // The Window Manager has a connection to the IME insets control target. PHASE_WM_HAS_IME_INSETS_CONTROL_TARGET = 20; // Reached the window insets control target's show insets method. PHASE_WM_WINDOW_INSETS_CONTROL_TARGET_SHOW_INSETS = 21; // Reached the window insets control target's hide insets method. PHASE_WM_WINDOW_INSETS_CONTROL_TARGET_HIDE_INSETS = 22; // Reached the remote insets control target's show insets method. PHASE_WM_REMOTE_INSETS_CONTROL_TARGET_SHOW_INSETS = 23; // Reached the remote insets control target's hide insets method. PHASE_WM_REMOTE_INSETS_CONTROL_TARGET_HIDE_INSETS = 24; // Reached the remote insets controller. PHASE_WM_REMOTE_INSETS_CONTROLLER = 25; // Created the IME window insets show animation. PHASE_WM_ANIMATION_CREATE = 26; // Started the IME window insets show animation. PHASE_WM_ANIMATION_RUNNING = 27; // Reached the client's show insets method. PHASE_CLIENT_SHOW_INSETS = 28; // Reached the client's hide insets method. PHASE_CLIENT_HIDE_INSETS = 29; // Handling the IME window insets show request. PHASE_CLIENT_HANDLE_SHOW_INSETS = 30; // Handling the IME window insets hide request. PHASE_CLIENT_HANDLE_HIDE_INSETS = 31; // Applied the IME window insets show animation. PHASE_CLIENT_APPLY_ANIMATION = 32; // Started the IME window insets show animation. PHASE_CLIENT_CONTROL_ANIMATION = 33; // Checked that the IME is controllable. PHASE_CLIENT_DISABLED_USER_ANIMATION = 34; // Collecting insets source controls. PHASE_CLIENT_COLLECT_SOURCE_CONTROLS = 35; // Reached the insets source consumer's show request method. PHASE_CLIENT_INSETS_CONSUMER_REQUEST_SHOW = 36; // Reached input method manager's request IME show method. PHASE_CLIENT_REQUEST_IME_SHOW = 37; // Reached the insets source consumer's notify hidden method. PHASE_CLIENT_INSETS_CONSUMER_NOTIFY_HIDDEN = 38; // Queued the IME window insets show animation. PHASE_CLIENT_ANIMATION_RUNNING = 39; // Cancelled the IME window insets show animation. PHASE_CLIENT_ANIMATION_CANCEL = 40; // Finished the IME window insets show animation. PHASE_CLIENT_ANIMATION_FINISHED_SHOW = 41; // Finished the IME window insets hide animation. PHASE_CLIENT_ANIMATION_FINISHED_HIDE = 42; }