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

Commit f5b4f3d5 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

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

Change-Id: I6f24dc00a989c5bf75edef643eab9efb95c1fcb3
parents e06c89fa 98abb1ca
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