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

Commit 02f44fdb authored by Changwan Ryu's avatar Changwan Ryu Committed by Android (Google) Code Review
Browse files

Merge "[WebView] Listen to window insets change"

parents eba1f623 47c0a480
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -12805,6 +12805,7 @@ package android.webkit {
    method public void super_computeScroll();
    method public boolean super_dispatchKeyEvent(android.view.KeyEvent);
    method public int super_getScrollBarStyle();
    method @Nullable public android.view.WindowInsets super_onApplyWindowInsets(@Nullable android.view.WindowInsets);
    method public void super_onDrawVerticalScrollBar(android.graphics.Canvas, android.graphics.drawable.Drawable, int, int, int, int);
    method public boolean super_onGenericMotionEvent(android.view.MotionEvent);
    method public boolean super_onHoverEvent(android.view.MotionEvent);
@@ -13007,6 +13008,7 @@ package android.webkit {
    method public android.os.Handler getHandler(android.os.Handler);
    method public default boolean isVisibleToUserForAutofill(int);
    method public void onActivityResult(int, int, android.content.Intent);
    method @Nullable public default android.view.WindowInsets onApplyWindowInsets(@Nullable android.view.WindowInsets);
    method public void onAttachedToWindow();
    method public default boolean onCheckIsTextEditor();
    method public void onConfigurationChanged(android.content.res.Configuration);
+16 −0
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ import android.view.ViewGroup;
import android.view.ViewHierarchyEncoder;
import android.view.ViewStructure;
import android.view.ViewTreeObserver;
import android.view.WindowInsets;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityNodeInfo;
import android.view.accessibility.AccessibilityNodeProvider;
@@ -2449,6 +2450,14 @@ public class WebView extends AbsoluteLayout
            WebView.super.startActivityForResult(intent, requestCode);
        }

        /**
         * @see View#onApplyWindowInsets(WindowInsets)
         */
        @Nullable
        public WindowInsets super_onApplyWindowInsets(@Nullable WindowInsets insets) {
            return WebView.super.onApplyWindowInsets(insets);
        }

        // ---- Access to non-public methods ----
        public void overScrollBy(int deltaX, int deltaY,
                int scrollX, int scrollY,
@@ -3078,4 +3087,11 @@ public class WebView extends AbsoluteLayout
        encoder.addProperty("webview:url", mProvider.getUrl());
        encoder.addProperty("webview:originalUrl", mProvider.getOriginalUrl());
    }

    @Override
    public WindowInsets onApplyWindowInsets(WindowInsets insets) {
        WindowInsets result = mProvider.getViewDelegate().onApplyWindowInsets(insets);
        if (result == null) return super.onApplyWindowInsets(insets);
        return result;
    }
}
+7 −0
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.view.WindowInsets;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityNodeInfo;
import android.view.accessibility.AccessibilityNodeProvider;
@@ -448,6 +449,12 @@ public interface WebViewProvider {
        default boolean onCheckIsTextEditor() {
            return false;
        }

        @SuppressWarnings("unused")
        @Nullable
        default WindowInsets onApplyWindowInsets(@Nullable WindowInsets insets) {
            return null;
        }
    }

    interface ScrollDelegate {
+2 −0
Original line number Diff line number Diff line
@@ -11649,6 +11649,7 @@ package android.webkit {
    method public void super_computeScroll();
    method public boolean super_dispatchKeyEvent(android.view.KeyEvent);
    method public int super_getScrollBarStyle();
    method @Nullable public android.view.WindowInsets super_onApplyWindowInsets(@Nullable android.view.WindowInsets);
    method public void super_onDrawVerticalScrollBar(android.graphics.Canvas, android.graphics.drawable.Drawable, int, int, int, int);
    method public boolean super_onGenericMotionEvent(android.view.MotionEvent);
    method public boolean super_onHoverEvent(android.view.MotionEvent);
@@ -11851,6 +11852,7 @@ package android.webkit {
    method public android.os.Handler getHandler(android.os.Handler);
    method public default boolean isVisibleToUserForAutofill(int);
    method public void onActivityResult(int, int, android.content.Intent);
    method @Nullable public default android.view.WindowInsets onApplyWindowInsets(@Nullable android.view.WindowInsets);
    method public void onAttachedToWindow();
    method public default boolean onCheckIsTextEditor();
    method public void onConfigurationChanged(android.content.res.Configuration);