Merge "Cache IWindow in InputWindowHandle" into sc-v2-dev am: 16805b4c7e am: 16a27e576d

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15640823

Change-Id: Iddf97951d52d494af882abb4d5f25fdfe24468cb
This commit is contained in:
Chavi Weingarten
2021-08-23 22:30:06 +00:00
committed by Automerger Merge Worker

View File

@@ -47,6 +47,11 @@ public final class InputWindowHandle {
*/
@Nullable
private IBinder windowToken;
/**
* Used to cache IWindow from the windowToken so we don't need to convert every time getWindow
* is called.
*/
private IWindow window;
// The window name.
public String name;
@@ -145,7 +150,7 @@ public final class InputWindowHandle {
.append(", visible=").append(visible)
.append(", scaleFactor=").append(scaleFactor)
.append(", transform=").append(transform)
.append(", windowToken=").append(getWindow())
.append(", windowToken=").append(windowToken)
.toString();
}
@@ -180,9 +185,14 @@ public final class InputWindowHandle {
public void setWindowToken(IWindow iwindow) {
windowToken = iwindow.asBinder();
window = iwindow;
}
public IWindow getWindow() {
return IWindow.Stub.asInterface(windowToken);
if (window != null) {
return window;
}
window = IWindow.Stub.asInterface(windowToken);
return window;
}
}