blob: 57bfcac5bf54af7638e50654d0f118587f3adab2 [file] [log] [blame]
Kenny Root15a4d2f2010-03-11 18:20:12 -08001/*
2 * Copyright (C) 2009 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
Dianne Hackborn4c62fc02009-08-08 20:40:27 -070017package com.android.internal.view;
18
Jackal Guoc43a0a62019-04-23 09:15:14 +080019import android.graphics.Point;
Dianne Hackborn4c62fc02009-08-08 20:40:27 -070020import android.graphics.Rect;
Vladislav Kaznacheevefbebb82016-04-29 16:57:33 -070021import android.hardware.input.InputManager;
Dianne Hackborn75804932009-10-20 20:15:20 -070022import android.os.Bundle;
Dianne Hackborn4c62fc02009-08-08 20:40:27 -070023import android.os.ParcelFileDescriptor;
24import android.os.RemoteException;
Andrii Kulian44607962017-03-16 11:06:24 -070025import android.util.MergedConfiguration;
Adrian Roos5c6b6222017-11-07 17:36:10 +010026import android.view.DisplayCutout;
Christopher Tatea53146c2010-09-07 11:57:52 -070027import android.view.DragEvent;
Dianne Hackborn4c62fc02009-08-08 20:40:27 -070028import android.view.IWindow;
29import android.view.IWindowSession;
Jorim Jaggib6030952018-10-23 18:31:52 +020030import android.view.InsetsSourceControl;
Jorim Jaggif96c90a2018-09-26 16:55:15 +020031import android.view.InsetsState;
Tiger Huang51c5a1d2018-12-11 20:24:51 +080032import android.view.PointerIcon;
Tiger Huang332793b2019-10-29 23:21:27 +080033import android.view.WindowInsets.Type.InsetsType;
Dianne Hackborn4c62fc02009-08-08 20:40:27 -070034
Clara Bayarri75e09792015-07-29 16:20:40 +010035import com.android.internal.os.IResultReceiver;
36
Artur Satayev70507ed2019-07-29 13:18:27 +010037import dalvik.annotation.compat.UnsupportedAppUsage;
38
Dianne Hackborn4c62fc02009-08-08 20:40:27 -070039public class BaseIWindow extends IWindow.Stub {
Artur Satayev70507ed2019-07-29 13:18:27 +010040
41 @UnsupportedAppUsage(maxTargetSdk = android.os.Build.VERSION_CODES.P)
42 public BaseIWindow() {}
43
Dianne Hackborn4c62fc02009-08-08 20:40:27 -070044 private IWindowSession mSession;
Dianne Hackborn9a230e02011-10-06 11:51:27 -070045 public int mSeq;
Craig Mautner5702d4d2012-06-30 14:10:16 -070046
Dianne Hackborn4c62fc02009-08-08 20:40:27 -070047 public void setSession(IWindowSession session) {
48 mSession = session;
49 }
Craig Mautner5702d4d2012-06-30 14:10:16 -070050
51 @Override
Jorim Jaggif081f062019-10-24 16:24:54 +020052 public void resized(Rect frame, Rect contentInsets, Rect visibleInsets,
53 Rect stableInsets, boolean reportDraw,
Andrii Kulian44607962017-03-16 11:06:24 -070054 MergedConfiguration mergedConfiguration, Rect backDropFrame, boolean forceLayout,
Brad Stenninge0573692019-03-11 13:52:46 -070055 boolean alwaysConsumeSystemBars, int displayId,
Adrian Roos5c6b6222017-11-07 17:36:10 +010056 DisplayCutout.ParcelableWrapper displayCutout) {
Dianne Hackborn4c62fc02009-08-08 20:40:27 -070057 if (reportDraw) {
58 try {
Vishnu Nairf7645aa2019-06-18 11:14:01 -070059 mSession.finishDrawing(this, null /* postDrawTransaction */);
Dianne Hackborn4c62fc02009-08-08 20:40:27 -070060 } catch (RemoteException e) {
61 }
62 }
63 }
64
Craig Mautner5702d4d2012-06-30 14:10:16 -070065 @Override
Jackal Guoc43a0a62019-04-23 09:15:14 +080066 public void locationInParentDisplayChanged(Point offset) {
67 }
68
69 @Override
Jorim Jaggif96c90a2018-09-26 16:55:15 +020070 public void insetsChanged(InsetsState insetsState) {
71 }
72
73 @Override
Jorim Jaggib6030952018-10-23 18:31:52 +020074 public void insetsControlChanged(InsetsState insetsState,
Tiger Huang332793b2019-10-29 23:21:27 +080075 InsetsSourceControl[] activeControls) {
Jorim Jaggib6030952018-10-23 18:31:52 +020076 }
77
78 @Override
Tiger Huang332793b2019-10-29 23:21:27 +080079 public void showInsets(@InsetsType int types, boolean fromIme) {
Tarandeep Singh0bedd942019-09-26 13:34:03 -070080 }
81
82 @Override
Tiger Huang332793b2019-10-29 23:21:27 +080083 public void hideInsets(@InsetsType int types, boolean fromIme) {
Taran Singhf1e08872019-10-10 14:38:52 +020084 }
85
86 @Override
Craig Mautner5702d4d2012-06-30 14:10:16 -070087 public void moved(int newX, int newY) {
88 }
89
90 @Override
Dianne Hackborn4c62fc02009-08-08 20:40:27 -070091 public void dispatchAppVisibility(boolean visible) {
92 }
93
Craig Mautner5702d4d2012-06-30 14:10:16 -070094 @Override
Dianne Hackborn4c62fc02009-08-08 20:40:27 -070095 public void dispatchGetNewSurface() {
96 }
97
Craig Mautner5702d4d2012-06-30 14:10:16 -070098 @Override
Tiger Huang51c5a1d2018-12-11 20:24:51 +080099 public void windowFocusChanged(boolean hasFocus, boolean touchEnabled) {
Dianne Hackborn4c62fc02009-08-08 20:40:27 -0700100 }
101
Craig Mautner5702d4d2012-06-30 14:10:16 -0700102 @Override
Dianne Hackborn4c62fc02009-08-08 20:40:27 -0700103 public void executeCommand(String command, String parameters, ParcelFileDescriptor out) {
104 }
Craig Mautner5702d4d2012-06-30 14:10:16 -0700105
106 @Override
Dianne Hackbornffa42482009-09-23 22:20:11 -0700107 public void closeSystemDialogs(String reason) {
108 }
Craig Mautner5702d4d2012-06-30 14:10:16 -0700109
110 @Override
Marco Nelissenbf6956b2009-11-09 15:21:13 -0800111 public void dispatchWallpaperOffsets(float x, float y, float xStep, float yStep, boolean sync) {
Dianne Hackborn19382ac2009-09-11 21:13:37 -0700112 if (sync) {
113 try {
114 mSession.wallpaperOffsetsComplete(asBinder());
115 } catch (RemoteException e) {
116 }
117 }
Dianne Hackborn72c82ab2009-08-11 21:13:54 -0700118 }
Christopher Tatea53146c2010-09-07 11:57:52 -0700119
Craig Mautner5702d4d2012-06-30 14:10:16 -0700120 @Override
Christopher Tatea53146c2010-09-07 11:57:52 -0700121 public void dispatchDragEvent(DragEvent event) {
Vladislav Kaznacheevefbebb82016-04-29 16:57:33 -0700122 if (event.getAction() == DragEvent.ACTION_DROP) {
123 try {
124 mSession.reportDropResult(this, false);
125 } catch (RemoteException e) {
126 }
127 }
Christopher Tatea53146c2010-09-07 11:57:52 -0700128 }
129
Craig Mautner5702d4d2012-06-30 14:10:16 -0700130 @Override
Vladislav Kaznacheevec6a4472016-01-22 12:21:52 -0800131 public void updatePointerIcon(float x, float y) {
Michael Wrighte051f6f2016-05-13 17:44:16 +0100132 InputManager.getInstance().setPointerIconType(PointerIcon.TYPE_NOT_SPECIFIED);
Vladislav Kaznacheevec6a4472016-01-22 12:21:52 -0800133 }
134
135 @Override
Dianne Hackborn9a230e02011-10-06 11:51:27 -0700136 public void dispatchSystemUiVisibilityChanged(int seq, int globalUi,
137 int localValue, int localChanges) {
138 mSeq = seq;
Joe Onorato664644d2011-01-23 17:53:23 -0800139 }
140
Craig Mautner5702d4d2012-06-30 14:10:16 -0700141 @Override
Dianne Hackborn75804932009-10-20 20:15:20 -0700142 public void dispatchWallpaperCommand(String action, int x, int y,
143 int z, Bundle extras, boolean sync) {
144 if (sync) {
145 try {
146 mSession.wallpaperCommandComplete(asBinder(), null);
147 } catch (RemoteException e) {
148 }
149 }
150 }
Dianne Hackborn12d3a942012-04-27 14:16:30 -0700151
Craig Mautner5702d4d2012-06-30 14:10:16 -0700152 @Override
Craig Mautner9c795042014-10-28 19:59:59 -0700153 public void dispatchWindowShown() {
154 }
Clara Bayarri75e09792015-07-29 16:20:40 +0100155
156 @Override
Clara Bayarrifcd7e802016-03-10 12:58:18 +0000157 public void requestAppKeyboardShortcuts(IResultReceiver receiver, int deviceId) {
Clara Bayarri75e09792015-07-29 16:20:40 +0100158 }
Vladislav Kaznacheev3787de12016-12-21 10:36:35 -0800159
160 @Override
161 public void dispatchPointerCaptureChanged(boolean hasCapture) {
162 }
Dianne Hackborn4c62fc02009-08-08 20:40:27 -0700163}