The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 1 | /* //device/java/android/android/view/IWindow.aidl |
| 2 | ** |
| 3 | ** Copyright 2007, The Android Open Source Project |
| 4 | ** |
| 5 | ** Licensed under the Apache License, Version 2.0 (the "License"); |
| 6 | ** you may not use this file except in compliance with the License. |
| 7 | ** You may obtain a copy of the License at |
| 8 | ** |
| 9 | ** http://www.apache.org/licenses/LICENSE-2.0 |
| 10 | ** |
| 11 | ** Unless required by applicable law or agreed to in writing, software |
| 12 | ** distributed under the License is distributed on an "AS IS" BASIS, |
| 13 | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 14 | ** See the License for the specific language governing permissions and |
| 15 | ** limitations under the License. |
| 16 | */ |
| 17 | |
| 18 | package android.view; |
| 19 | |
Jackal Guo | c43a0a6 | 2019-04-23 09:15:14 +0800 | [diff] [blame] | 20 | import android.graphics.Point; |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 21 | import android.graphics.Rect; |
Dianne Hackborn | 7580493 | 2009-10-20 20:15:20 -0700 | [diff] [blame] | 22 | import android.os.Bundle; |
| 23 | import android.os.ParcelFileDescriptor; |
Christopher Tate | a53146c | 2010-09-07 11:57:52 -0700 | [diff] [blame] | 24 | import android.view.DragEvent; |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 25 | import android.view.KeyEvent; |
| 26 | import android.view.MotionEvent; |
Adrian Roos | 5c6b622 | 2017-11-07 17:36:10 +0100 | [diff] [blame] | 27 | import android.view.DisplayCutout; |
Jorim Jaggi | f96c90a | 2018-09-26 16:55:15 +0200 | [diff] [blame] | 28 | import android.view.InsetsState; |
Jorim Jaggi | b603095 | 2018-10-23 18:31:52 +0200 | [diff] [blame] | 29 | import android.view.InsetsSourceControl; |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 30 | |
Clara Bayarri | 75e0979 | 2015-07-29 16:20:40 +0100 | [diff] [blame] | 31 | import com.android.internal.os.IResultReceiver; |
Andrii Kulian | 4460796 | 2017-03-16 11:06:24 -0700 | [diff] [blame] | 32 | import android.util.MergedConfiguration; |
Clara Bayarri | 75e0979 | 2015-07-29 16:20:40 +0100 | [diff] [blame] | 33 | |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 34 | /** |
| 35 | * API back to a client window that the Window Manager uses to inform it of |
| 36 | * interesting things happening. |
| 37 | * |
| 38 | * {@hide} |
| 39 | */ |
| 40 | oneway interface IWindow { |
| 41 | /** |
| 42 | * ===== NOTICE ===== |
| 43 | * The first method must remain the first method. Scripts |
| 44 | * and tools rely on their transaction number to work properly. |
| 45 | */ |
| 46 | |
| 47 | /** |
| 48 | * Invoked by the view server to tell a window to execute the specified |
| 49 | * command. Any response from the receiver must be sent through the |
| 50 | * specified file descriptor. |
| 51 | */ |
| 52 | void executeCommand(String command, String parameters, in ParcelFileDescriptor descriptor); |
| 53 | |
Jorim Jaggi | f081f06 | 2019-10-24 16:24:54 +0200 | [diff] [blame] | 54 | void resized(in Rect frame, in Rect contentInsets, |
| 55 | in Rect visibleInsets, in Rect stableInsets, boolean reportDraw, |
Andrii Kulian | 4460796 | 2017-03-16 11:06:24 -0700 | [diff] [blame] | 56 | in MergedConfiguration newMergedConfiguration, in Rect backDropFrame, |
Brad Stenning | e057369 | 2019-03-11 13:52:46 -0700 | [diff] [blame] | 57 | boolean forceLayout, boolean alwaysConsumeSystemBars, int displayId, |
Adrian Roos | 5c6b622 | 2017-11-07 17:36:10 +0100 | [diff] [blame] | 58 | in DisplayCutout.ParcelableWrapper displayCutout); |
Jorim Jaggi | f96c90a | 2018-09-26 16:55:15 +0200 | [diff] [blame] | 59 | |
| 60 | /** |
Jackal Guo | c43a0a6 | 2019-04-23 09:15:14 +0800 | [diff] [blame] | 61 | * Called when the window location in parent display has changed. The offset will only be a |
| 62 | * nonzero value if the window is on an embedded display that is re-parented to another window. |
| 63 | */ |
| 64 | void locationInParentDisplayChanged(in Point offset); |
| 65 | |
| 66 | /** |
Jorim Jaggi | f96c90a | 2018-09-26 16:55:15 +0200 | [diff] [blame] | 67 | * Called when the window insets configuration has changed. |
| 68 | */ |
| 69 | void insetsChanged(in InsetsState insetsState); |
| 70 | |
Jorim Jaggi | b603095 | 2018-10-23 18:31:52 +0200 | [diff] [blame] | 71 | /** |
Tiger Huang | 332793b | 2019-10-29 23:21:27 +0800 | [diff] [blame] | 72 | * Called when this window retrieved control over a specified set of insets sources. |
Jorim Jaggi | b603095 | 2018-10-23 18:31:52 +0200 | [diff] [blame] | 73 | */ |
| 74 | void insetsControlChanged(in InsetsState insetsState, in InsetsSourceControl[] activeControls); |
| 75 | |
Tarandeep Singh | 0bedd94 | 2019-09-26 13:34:03 -0700 | [diff] [blame] | 76 | /** |
| 77 | * Called when a set of insets source window should be shown by policy. |
| 78 | * |
Tiger Huang | 332793b | 2019-10-29 23:21:27 +0800 | [diff] [blame] | 79 | * @param types internal insets types (WindowInsets.Type.InsetsType) to show |
Tarandeep Singh | 0bedd94 | 2019-09-26 13:34:03 -0700 | [diff] [blame] | 80 | * @param fromIme true if this request originated from IME (InputMethodService). |
| 81 | */ |
| 82 | void showInsets(int types, boolean fromIme); |
| 83 | |
Taran Singh | f1e0887 | 2019-10-10 14:38:52 +0200 | [diff] [blame] | 84 | /** |
| 85 | * Called when a set of insets source window should be hidden by policy. |
| 86 | * |
Tiger Huang | 332793b | 2019-10-29 23:21:27 +0800 | [diff] [blame] | 87 | * @param types internal insets types (WindowInsets.Type.InsetsType) to hide |
Taran Singh | f1e0887 | 2019-10-10 14:38:52 +0200 | [diff] [blame] | 88 | * @param fromIme true if this request originated from IME (InputMethodService). |
| 89 | */ |
| 90 | void hideInsets(int types, boolean fromIme); |
| 91 | |
Craig Mautner | 5702d4d | 2012-06-30 14:10:16 -0700 | [diff] [blame] | 92 | void moved(int newX, int newY); |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 93 | void dispatchAppVisibility(boolean visible); |
| 94 | void dispatchGetNewSurface(); |
| 95 | |
| 96 | /** |
Tiger Huang | 51c5a1d | 2018-12-11 20:24:51 +0800 | [diff] [blame] | 97 | * Tell the window that it is either gaining or losing focus. Keep it up |
| 98 | * to date on the current state showing navigational focus (touch mode) too. |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 99 | */ |
Tiger Huang | 51c5a1d | 2018-12-11 20:24:51 +0800 | [diff] [blame] | 100 | void windowFocusChanged(boolean hasFocus, boolean inTouchMode); |
| 101 | |
Dianne Hackborn | ffa4248 | 2009-09-23 22:20:11 -0700 | [diff] [blame] | 102 | void closeSystemDialogs(String reason); |
Tiger Huang | 51c5a1d | 2018-12-11 20:24:51 +0800 | [diff] [blame] | 103 | |
Dianne Hackborn | 72c82ab | 2009-08-11 21:13:54 -0700 | [diff] [blame] | 104 | /** |
Lucas Dupin | 13f4b8a | 2020-02-19 13:41:52 -0800 | [diff] [blame] | 105 | * Called for wallpaper windows when their offsets or zoom level change. |
Dianne Hackborn | 72c82ab | 2009-08-11 21:13:54 -0700 | [diff] [blame] | 106 | */ |
Lucas Dupin | 13f4b8a | 2020-02-19 13:41:52 -0800 | [diff] [blame] | 107 | void dispatchWallpaperOffsets(float x, float y, float xStep, float yStep, float zoom, boolean sync); |
Tiger Huang | 51c5a1d | 2018-12-11 20:24:51 +0800 | [diff] [blame] | 108 | |
Dianne Hackborn | 7580493 | 2009-10-20 20:15:20 -0700 | [diff] [blame] | 109 | void dispatchWallpaperCommand(String action, int x, int y, |
| 110 | int z, in Bundle extras, boolean sync); |
Christopher Tate | a53146c | 2010-09-07 11:57:52 -0700 | [diff] [blame] | 111 | |
| 112 | /** |
| 113 | * Drag/drop events |
| 114 | */ |
Dianne Hackborn | 12d3a94 | 2012-04-27 14:16:30 -0700 | [diff] [blame] | 115 | void dispatchDragEvent(in DragEvent event); |
Joe Onorato | 664644d | 2011-01-23 17:53:23 -0800 | [diff] [blame] | 116 | |
| 117 | /** |
Vladislav Kaznacheev | ec6a447 | 2016-01-22 12:21:52 -0800 | [diff] [blame] | 118 | * Pointer icon events |
| 119 | */ |
| 120 | void updatePointerIcon(float x, float y); |
| 121 | |
| 122 | /** |
Joe Onorato | 664644d | 2011-01-23 17:53:23 -0800 | [diff] [blame] | 123 | * System chrome visibility changes |
| 124 | */ |
Dianne Hackborn | 12d3a94 | 2012-04-27 14:16:30 -0700 | [diff] [blame] | 125 | void dispatchSystemUiVisibilityChanged(int seq, int globalVisibility, |
Dianne Hackborn | 9a230e0 | 2011-10-06 11:51:27 -0700 | [diff] [blame] | 126 | int localValue, int localChanges); |
Dianne Hackborn | 12d3a94 | 2012-04-27 14:16:30 -0700 | [diff] [blame] | 127 | |
| 128 | /** |
Craig Mautner | 9c79504 | 2014-10-28 19:59:59 -0700 | [diff] [blame] | 129 | * Called for non-application windows when the enter animation has completed. |
| 130 | */ |
| 131 | void dispatchWindowShown(); |
Clara Bayarri | 75e0979 | 2015-07-29 16:20:40 +0100 | [diff] [blame] | 132 | |
| 133 | /** |
| 134 | * Called when Keyboard Shortcuts are requested for the window. |
| 135 | */ |
Clara Bayarri | fcd7e80 | 2016-03-10 12:58:18 +0000 | [diff] [blame] | 136 | void requestAppKeyboardShortcuts(IResultReceiver receiver, int deviceId); |
Vladislav Kaznacheev | 3787de1 | 2016-12-21 10:36:35 -0800 | [diff] [blame] | 137 | |
| 138 | /** |
| 139 | * Tell the window that it is either gaining or losing pointer capture. |
| 140 | */ |
| 141 | void dispatchPointerCaptureChanged(boolean hasCapture); |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 142 | } |