summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVivek Sekhar <vsekhar@codeaurora.org>2015-12-17 18:35:53 -0800
committerjrizzoli <joey@cyanogenmoditalia.it>2016-01-11 22:03:24 +0100
commit2b3379fa58d5a29adc7ca67bca14687b35aa04e4 (patch)
treeb63db50cb830df7d2c5613b5541ec903eceb8fce
parent2b31026b6a6067cdebd37e9a3e66b602d54c1e34 (diff)
downloadandroid_packages_apps_Gello-2b3379fa58d5a29adc7ca67bca14687b35aa04e4.tar.gz
android_packages_apps_Gello-2b3379fa58d5a29adc7ca67bca14687b35aa04e4.tar.bz2
android_packages_apps_Gello-2b3379fa58d5a29adc7ca67bca14687b35aa04e4.zip
Fix touch issues on LegalPreviewFragment
Force a touch event on webview to ensure scroll events get propagated properly when not using top controls. Change-Id: I187fb8896657f777398bc59466ad814c775a9411
-rw-r--r--src/com/android/browser/preferences/LegalPreviewFragment.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/com/android/browser/preferences/LegalPreviewFragment.java b/src/com/android/browser/preferences/LegalPreviewFragment.java
index 515236b6..265e3efb 100644
--- a/src/com/android/browser/preferences/LegalPreviewFragment.java
+++ b/src/com/android/browser/preferences/LegalPreviewFragment.java
@@ -35,11 +35,14 @@ import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.os.SystemClock;
+import android.view.MotionEvent;
import android.widget.FrameLayout;
import com.android.browser.R;
import org.codeaurora.swe.WebView;
+import org.codeaurora.swe.WebChromeClient;
public class LegalPreviewFragment extends Fragment {
@@ -52,6 +55,19 @@ public class LegalPreviewFragment extends Fragment {
Bundle args = getArguments();
mUrl = args.getString(LegalPreviewActivity.URL_INTENT_EXTRA);
mWebView = new WebView(getActivity());
+
+ mWebView.setWebChromeClient(new WebChromeClient() {
+ @Override
+ public void onProgressChanged(WebView view, int newProgress) {
+ // force a touch to fix event propagation to renderer
+ long downTime = SystemClock.uptimeMillis();
+ long eventTime = SystemClock.uptimeMillis() + 50;
+ MotionEvent event = MotionEvent.obtain(
+ downTime, eventTime, MotionEvent.ACTION_UP,
+ 0.0f, 0.0f, 0);
+ view.dispatchTouchEvent(event);
+ }
+ });
}
@Override