Query for BLAST flag outside of constructor
WindowManagerGlobal should query for flag only when the service has
successfully been retrieved. Moving query into block where
sWindowManagerService is initalized
Bug: 149243163
Test: build, boot, adb shell device_config put
window_manager_native_boot wm_use_blast_adapter true/false
Change-Id: I864d60158236059fda9844844b07299bb97ee6d1
diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java
index 637a088..d5ed36b 100644
--- a/core/java/android/view/SurfaceView.java
+++ b/core/java/android/view/SurfaceView.java
@@ -385,7 +385,7 @@
* This gets called on a RenderThread worker thread, so members accessed here must
* be protected by a lock.
*/
- final boolean useBLAST = WindowManagerGlobal.getInstance().useBLAST();
+ final boolean useBLAST = WindowManagerGlobal.useBLAST();
viewRoot.registerRtFrameCallback(frame -> {
try {
final SurfaceControl.Transaction t = useBLAST ?
@@ -1119,7 +1119,7 @@
private void applySurfaceTransforms(SurfaceControl surface, SurfaceControl.Transaction t,
Rect position, long frameNumber) {
- if (frameNumber > 0 && !WindowManagerGlobal.getInstance().useBLAST()) {
+ if (frameNumber > 0 && !WindowManagerGlobal.useBLAST()) {
final ViewRootImpl viewRoot = getViewRootImpl();
t.deferTransactionUntil(surface, viewRoot.getRenderSurfaceControl(),
@@ -1137,7 +1137,7 @@
}
private void setParentSpaceRectangle(Rect position, long frameNumber) {
- final boolean useBLAST = WindowManagerGlobal.getInstance().useBLAST();
+ final boolean useBLAST = WindowManagerGlobal.useBLAST();
final ViewRootImpl viewRoot = getViewRootImpl();
final SurfaceControl.Transaction t = useBLAST ? viewRoot.getBLASTSyncTransaction() :
mRtTransaction;
@@ -1198,7 +1198,7 @@
@Override
public void positionLost(long frameNumber) {
- boolean useBLAST = WindowManagerGlobal.getInstance().useBLAST();
+ boolean useBLAST = WindowManagerGlobal.useBLAST();
if (DEBUG) {
Log.d(TAG, String.format("%d windowPositionLost, frameNr = %d",
System.identityHashCode(this), frameNumber));
@@ -1537,7 +1537,7 @@
@Override
public void invalidate(boolean invalidateCache) {
super.invalidate(invalidateCache);
- if (!WindowManagerGlobal.getInstance().useBLAST()) {
+ if (!WindowManagerGlobal.useBLAST()) {
return;
}
final ViewRootImpl viewRoot = getViewRootImpl();