OSDN Git Service

Revert "ViewRootImpl: Fix child lifetime."
authorBryce Lee <brycelee@google.com>
Tue, 11 Apr 2017 01:59:37 +0000 (01:59 +0000)
committerBryce Lee <brycelee@google.com>
Tue, 11 Apr 2017 02:02:11 +0000 (02:02 +0000)
This reverts commit ba29dbc3b38d9efb743d6fa7f9f8c4bb75c38b28.

The original commit causes apps such as phone and clock to not wake the
device.

Fixes: 37197491
Change-Id: I1b45cafbcbf12991d8e1e716e4d1751cd077c556

core/java/android/view/SurfaceView.java
core/java/android/view/ViewRootImpl.java

index 31911cb..076b33c 100644 (file)
@@ -683,8 +683,7 @@ public class SurfaceView extends View {
                     mTranslator.translateRectInAppWindowToScreen(mScreenRect);
                 }
 
-                if (mSurfaceControl != null
-                        && (!isHardwareAccelerated() || !mRtHandlingPositionUpdates)) {
+                if (!isHardwareAccelerated() || !mRtHandlingPositionUpdates) {
                     try {
                         if (DEBUG) Log.d(TAG, String.format("%d updateSurfacePosition UI, " +
                                 "postion = [%d, %d, %d, %d]", System.identityHashCode(this),
index 4a7b16e..58ef0af 100644 (file)
@@ -1249,13 +1249,6 @@ public final class ViewRootImpl implements ViewParent,
         mIsAmbientMode = ambient;
     }
 
-    void setWindowVisibility(int visibility) {
-        if (visibility != mAttachInfo.mWindowVisibility) {
-            mAttachInfo.mWindowVisibility = visibility;
-            mView.dispatchWindowVisibilityChanged(visibility);
-        }
-    }
-
     void setWindowStopped(boolean stopped) {
         if (mStopped != stopped) {
             mStopped = stopped;
@@ -1270,7 +1263,6 @@ public final class ViewRootImpl implements ViewParent,
                 if (renderer != null) {
                     renderer.destroyHardwareResources(mView);
                 }
-                mView.dispatchWindowVisibilityChanged(View.GONE);
             }
         }
     }
@@ -1305,8 +1297,7 @@ public final class ViewRootImpl implements ViewParent,
     }
 
     int getHostVisibility() {
-        return (mAppVisible || mForceDecorViewVisibility) && !mStopped
-            ? mView.getVisibility() : View.GONE;
+        return (mAppVisible || mForceDecorViewVisibility) ? mView.getVisibility() : View.GONE;
     }
 
     /**
@@ -1663,8 +1654,8 @@ public final class ViewRootImpl implements ViewParent,
         }
 
         if (viewVisibilityChanged) {
-            setWindowVisibility(viewVisibility);
-
+            mAttachInfo.mWindowVisibility = viewVisibility;
+            host.dispatchWindowVisibilityChanged(viewVisibility);
             if (viewUserVisibilityChanged) {
                 host.dispatchVisibilityAggregated(viewVisibility == View.VISIBLE);
             }