diff options
author | Vivek Sekhar <vsekhar@codeaurora.org> | 2015-12-17 18:35:53 -0800 |
---|---|---|
committer | jrizzoli <joey@cyanogenmoditalia.it> | 2016-01-11 22:03:24 +0100 |
commit | 2b3379fa58d5a29adc7ca67bca14687b35aa04e4 (patch) | |
tree | b63db50cb830df7d2c5613b5541ec903eceb8fce | |
parent | 2b31026b6a6067cdebd37e9a3e66b602d54c1e34 (diff) | |
download | android_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.java | 16 |
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 |