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

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

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

View File

@@ -49,6 +49,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;
@@ -151,7 +156,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();
}
@@ -186,9 +191,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;
}
}