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

Commit 98abb1ca 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

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

Change-Id: Ia0dcee9ae9d20088159c727e0d7aff6fcde9ecd3
parents fa9209fe a2252bc3
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