Merge "Cache IWindow in InputWindowHandle" into sc-v2-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
16805b4c7e
@@ -49,6 +49,11 @@ public final class InputWindowHandle {
|
|||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable
|
||||||
private IBinder windowToken;
|
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.
|
// The window name.
|
||||||
public String name;
|
public String name;
|
||||||
@@ -151,7 +156,7 @@ public final class InputWindowHandle {
|
|||||||
.append(", visible=").append(visible)
|
.append(", visible=").append(visible)
|
||||||
.append(", scaleFactor=").append(scaleFactor)
|
.append(", scaleFactor=").append(scaleFactor)
|
||||||
.append(", transform=").append(transform)
|
.append(", transform=").append(transform)
|
||||||
.append(", windowToken=").append(getWindow())
|
.append(", windowToken=").append(windowToken)
|
||||||
.toString();
|
.toString();
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -186,9 +191,14 @@ public final class InputWindowHandle {
|
|||||||
|
|
||||||
public void setWindowToken(IWindow iwindow) {
|
public void setWindowToken(IWindow iwindow) {
|
||||||
windowToken = iwindow.asBinder();
|
windowToken = iwindow.asBinder();
|
||||||
|
window = iwindow;
|
||||||
}
|
}
|
||||||
|
|
||||||
public IWindow getWindow() {
|
public IWindow getWindow() {
|
||||||
return IWindow.Stub.asInterface(windowToken);
|
if (window != null) {
|
||||||
|
return window;
|
||||||
|
}
|
||||||
|
window = IWindow.Stub.asInterface(windowToken);
|
||||||
|
return window;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user