diff options
Diffstat (limited to 'android/lib')
3 files changed, 45 insertions, 3 deletions
diff --git a/android/lib/src/main/java/org/libreoffice/androidlib/COWebView.java b/android/lib/src/main/java/org/libreoffice/androidlib/COWebView.java new file mode 100644 index 0000000000..290366ef1e --- /dev/null +++ b/android/lib/src/main/java/org/libreoffice/androidlib/COWebView.java @@ -0,0 +1,42 @@ +/* -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +package org.libreoffice.androidlib; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.inputmethod.BaseInputConnection; +import android.view.inputmethod.EditorInfo; +import android.view.inputmethod.InputConnection; +import android.webkit.WebView; + +public class COWebView extends WebView { + public COWebView(Context context) { + super(context); + } + + public COWebView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public COWebView(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + public COWebView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + } + + /* + * This fixes Unidentified key events in javascript such as 'space' key and + * shortcuts that require such keys + * */ + @Override + public InputConnection onCreateInputConnection(EditorInfo outAttrs) { + return new BaseInputConnection(this, false); + } +} diff --git a/android/lib/src/main/java/org/libreoffice/androidlib/LOActivity.java b/android/lib/src/main/java/org/libreoffice/androidlib/LOActivity.java index 7b7317b1f5..6e202100db 100644 --- a/android/lib/src/main/java/org/libreoffice/androidlib/LOActivity.java +++ b/android/lib/src/main/java/org/libreoffice/androidlib/LOActivity.java @@ -106,7 +106,7 @@ public class LOActivity extends AppCompatActivity { private URI documentUri; private String urlToLoad; - private WebView mWebView = null; + private COWebView mWebView = null; private SharedPreferences sPrefs; private Handler mMainHandler = null; private RateAppController rateAppController; @@ -334,7 +334,7 @@ public class LOActivity extends AppCompatActivity { finish(); } - mWebView = findViewById(R.id.browser); + mWebView = (COWebView) findViewById(R.id.browser); WebSettings webSettings = mWebView.getSettings(); webSettings.setJavaScriptEnabled(true); diff --git a/android/lib/src/main/res/layout/lolib_activity_main.xml b/android/lib/src/main/res/layout/lolib_activity_main.xml index 8d1f1d9fff..2a6a6e7058 100644 --- a/android/lib/src/main/res/layout/lolib_activity_main.xml +++ b/android/lib/src/main/res/layout/lolib_activity_main.xml @@ -6,7 +6,7 @@ android:layout_height="match_parent" tools:context=".LOActivity"> - <WebView + <org.libreoffice.androidlib.COWebView android:id="@+id/browser" android:layout_width="match_parent" android:layout_height="match_parent" |