Merge "Cache IWindow in InputWindowHandle" into sc-v2-dev

This commit is contained in:
Chavi Weingarten
2021-08-23 21:57:01 +00:00
committed by Android (Google) Code Review

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;
}
}