Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3432d05b authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Make underlying SurfaceView respect visibility of InlineContentView."...

Merge "Make underlying SurfaceView respect visibility of InlineContentView." into rvc-dev am: f2ba813a

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

Change-Id: I3931370c101291e62e2af1d2d48f9054a3e96119
parents 5c25d092 f2ba813a
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import android.view.SurfaceControlViewHost;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.ViewGroup;
import android.view.ViewTreeObserver.OnPreDrawListener;

import java.util.function.Consumer;

@@ -130,6 +131,16 @@ public class InlineContentView extends ViewGroup {
    @Nullable
    private SurfacePackageUpdater mSurfacePackageUpdater;

    @NonNull
    private final OnPreDrawListener mDrawListener = new OnPreDrawListener() {
        @Override
        public boolean onPreDraw() {
            int visibility = InlineContentView.this.isShown() ? VISIBLE : GONE;
            mSurfaceView.setVisibility(visibility);
            return true;
        }
    };

    /**
     * @inheritDoc
     * @hide
@@ -202,6 +213,8 @@ public class InlineContentView extends ViewGroup {
                        }
                    });
        }
        mSurfaceView.setVisibility(VISIBLE);
        getViewTreeObserver().addOnPreDrawListener(mDrawListener);
    }

    @Override
@@ -211,6 +224,7 @@ public class InlineContentView extends ViewGroup {
        if (mSurfacePackageUpdater != null) {
            mSurfacePackageUpdater.onSurfacePackageReleased();
        }
        getViewTreeObserver().removeOnPreDrawListener(mDrawListener);
    }

    @Override