From a5717331d1120324728d1aa79fb902b9945afa02 Mon Sep 17 00:00:00 2001 From: Tao Bai Date: Thu, 30 Mar 2017 14:58:53 -0700 Subject: [PATCH] Override View.autofill() method and call into ViewDelegate BUG: 36787841 Test: this just forwards api call. Change-Id: Ie2c9675e5a7ee2ed2a7997d1270cf388571a855b --- api/system-current.txt | 1 + core/java/android/webkit/WebView.java | 7 +++++++ core/java/android/webkit/WebViewProvider.java | 6 ++++++ 3 files changed, 14 insertions(+) diff --git a/api/system-current.txt b/api/system-current.txt index 2890041f13a1e..60c1bf99194e4 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -52749,6 +52749,7 @@ package android.webkit { } public static abstract interface WebViewProvider.ViewDelegate { + method public default void autofill(android.util.SparseArray); method public abstract boolean dispatchKeyEvent(android.view.KeyEvent); method public abstract android.view.View findFocus(android.view.View); method public abstract android.view.accessibility.AccessibilityNodeProvider getAccessibilityNodeProvider(); diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index bc491230aa60b..339425a8c2488 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -45,6 +45,7 @@ import android.security.KeyChain; import android.text.InputType; import android.util.AttributeSet; import android.util.Log; +import android.util.SparseArray; import android.view.DragEvent; import android.view.KeyEvent; import android.view.MotionEvent; @@ -57,6 +58,7 @@ import android.view.ViewTreeObserver; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityNodeInfo; import android.view.accessibility.AccessibilityNodeProvider; +import android.view.autofill.AutofillValue; import android.view.inputmethod.EditorInfo; import android.view.inputmethod.InputConnection; import android.view.textclassifier.TextClassifier; @@ -2706,6 +2708,11 @@ public class WebView extends AbsoluteLayout mProvider.getViewDelegate().onProvideAutofillVirtualStructure(structure, flags); } + @Override + public void autofill(SparseArrayvalues) { + mProvider.getViewDelegate().autofill(values); + } + /** @hide */ @Override public void onInitializeAccessibilityNodeInfoInternal(AccessibilityNodeInfo info) { diff --git a/core/java/android/webkit/WebViewProvider.java b/core/java/android/webkit/WebViewProvider.java index aa1ffa25931d8..f01b349a746d8 100644 --- a/core/java/android/webkit/WebViewProvider.java +++ b/core/java/android/webkit/WebViewProvider.java @@ -33,6 +33,7 @@ import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.print.PrintDocumentAdapter; +import android.util.SparseArray; import android.view.DragEvent; import android.view.KeyEvent; import android.view.MotionEvent; @@ -41,6 +42,7 @@ import android.view.ViewGroup.LayoutParams; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityNodeInfo; import android.view.accessibility.AccessibilityNodeProvider; +import android.view.autofill.AutofillValue; import android.view.inputmethod.EditorInfo; import android.view.inputmethod.InputConnection; import android.view.textclassifier.TextClassifier; @@ -331,6 +333,10 @@ public interface WebViewProvider { int flags) { } + @SuppressWarnings("unused") + public default void autofill(SparseArrayvalues) { + } + public AccessibilityNodeProvider getAccessibilityNodeProvider(); public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info);