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

Commit 6e298bdc 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 am: a2252bc3 am: 98abb1ca am: f5b4f3d5

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

Change-Id: Ic8b9e6fb398c60328d20b5ffb899cce0f5004df0
parents 1d9d0b9d f5b4f3d5
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