From 7866748099f9094de8a92da09a17e64e6de9c2cc Mon Sep 17 00:00:00 2001 From: Justin Biggs Date: Sat, 5 Oct 2019 09:46:35 -0500 Subject: [PATCH 1/6] #1526 show soft input on find-in-page clicked --- .../main/CompatFindActionModeCallback.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/org/kiwix/kiwixmobile/main/CompatFindActionModeCallback.java b/app/src/main/java/org/kiwix/kiwixmobile/main/CompatFindActionModeCallback.java index a490fc929..2bf908ee4 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/main/CompatFindActionModeCallback.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/main/CompatFindActionModeCallback.java @@ -44,13 +44,13 @@ public class CompatFindActionModeCallback private View mCustomView; - private EditText mEditText; + EditText mEditText; private TextView mFindResultsTextView; private WebView mWebView; - private InputMethodManager mInput; + InputMethodManager mInput; private ActionMode mActionMode; @@ -164,14 +164,14 @@ public class CompatFindActionModeCallback // Show on screen keyboard public void showSoftInput() { - mEditText.requestFocus(); - mEditText.setFocusable(true); - mEditText.setFocusableInTouchMode(true); - mEditText.requestFocusFromTouch(); + //duck-dive any hidden show/hide processes + mEditText.postDelayed(() -> { + + mEditText.requestFocus(); + mInput.showSoftInput(mEditText, 0); + + }, 100); - if (mEditText.requestFocus()) { - mInput.toggleSoftInput(InputMethodManager.SHOW_IMPLICIT, 0); - } } @Override From 450066de6ea1533376e246ad4457f0e78cde3c01 Mon Sep 17 00:00:00 2001 From: Justin Biggs Date: Sat, 5 Oct 2019 09:51:31 -0500 Subject: [PATCH 2/6] #1526 show soft input on find-in-page clicked remove colloquial comment language --- .../kiwix/kiwixmobile/main/CompatFindActionModeCallback.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/kiwix/kiwixmobile/main/CompatFindActionModeCallback.java b/app/src/main/java/org/kiwix/kiwixmobile/main/CompatFindActionModeCallback.java index 2bf908ee4..57d6f6797 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/main/CompatFindActionModeCallback.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/main/CompatFindActionModeCallback.java @@ -164,10 +164,11 @@ public class CompatFindActionModeCallback // Show on screen keyboard public void showSoftInput() { - //duck-dive any hidden show/hide processes + //wait for any hidden show/hide processes to finish mEditText.postDelayed(() -> { mEditText.requestFocus(); + //show the keyboard mInput.showSoftInput(mEditText, 0); }, 100); From 2417123a13487e0a2970f05c119b040abfbb28a6 Mon Sep 17 00:00:00 2001 From: Nitish Gadangi Date: Sun, 6 Oct 2019 23:03:36 +0530 Subject: [PATCH 3/6] Fixed minor grammatical errors --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 708a89ae2..64f8fbcc8 100644 --- a/README.md +++ b/README.md @@ -34,8 +34,7 @@ for you. If you prefer to build without Android Studio you must first set up the Android SDK and then run the command: `./gradlew build ` from the root directory of the project. -We utilize different build variants (flavours) to build various -different versions of our app. Ensure your build variant is +We utilize different build variants (flavors) to build various versions of our app. Ensure your build variant is `kiwixDebug` to build the standard app. ## Libraries Used From faa56b87067a6a5931f7579e7eaa69e4f921fd10 Mon Sep 17 00:00:00 2001 From: Emmanuel Engelhart Date: Mon, 14 Oct 2019 18:49:50 +0100 Subject: [PATCH 4/6] Remove email addresses from the Credits --- app/src/main/assets/credits.html | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/app/src/main/assets/credits.html b/app/src/main/assets/credits.html index d9cbca1cd..d4f7e78e2 100644 --- a/app/src/main/assets/credits.html +++ b/app/src/main/assets/credits.html @@ -20,22 +20,22 @@

Contributors

-Abdul Wadood -Adeel Zafar
-Aditya Sood
-Ayoub Dardory
-Christian Pühringer
-Elad Keyshawn
-Emmanuel Engelhart
-Isaac Hutt
-Joseph E. Reeve
-Julian Harty
-Rashiq Ahmad
-Renaud Gaudin
-Seán Mac Gillicuddy
-Siddharth Sharma
-Souradip Mookerjee
-Translatewiki community
+Abdul Wadood
+Adeel Zafar
+Aditya Sood
+Ayoub Dardory
+Christian Pühringer
+Elad Keyshawn
+Emmanuel Engelhart
+Isaac Hutt
+Joseph E. Reeve
+Julian Harty
+Rashiq Ahmad
+Renaud Gaudin
+Seán Mac Gillicuddy
+Siddharth Sharma
+Souradip Mookerjee
+Translatewiki community

Licenses

From a04f1907107eaf6ec7d81e5a7d2266fcaa07adc4 Mon Sep 17 00:00:00 2001 From: Justin Biggs Date: Mon, 14 Oct 2019 17:53:47 -0500 Subject: [PATCH 5/6] #1526 reset to private a couple of variables and use updated variable nomenclature --- .../main/CompatFindActionModeCallback.java | 94 +++++++++---------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/app/src/main/java/org/kiwix/kiwixmobile/main/CompatFindActionModeCallback.java b/app/src/main/java/org/kiwix/kiwixmobile/main/CompatFindActionModeCallback.java index c9920548f..97cecab35 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/main/CompatFindActionModeCallback.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/main/CompatFindActionModeCallback.java @@ -39,44 +39,44 @@ import org.kiwix.kiwixmobile.R; public class CompatFindActionModeCallback implements ActionMode.Callback, TextWatcher, View.OnClickListener { - public boolean mIsActive; + public boolean isActive; - private View mCustomView; + private View customView; - EditText mEditText; + private EditText editText; - private TextView mFindResultsTextView; + private TextView findResultsTextView; - private WebView mWebView; + private WebView webView; - InputMethodManager mInput; + private InputMethodManager input; - private ActionMode mActionMode; + private ActionMode actionMode; CompatFindActionModeCallback(Context context) { - mCustomView = LayoutInflater.from(context).inflate(R.layout.webview_search, null); - mEditText = mCustomView.findViewById(R.id.edit); - mEditText.setOnClickListener(this); - mFindResultsTextView = mCustomView.findViewById(R.id.find_results); - mInput = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); - mIsActive = false; + customView = LayoutInflater.from(context).inflate(R.layout.webview_search, null); + editText = customView.findViewById(R.id.edit); + editText.setOnClickListener(this); + findResultsTextView = customView.findViewById(R.id.find_results); + input = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); + isActive = false; setText(""); } public void setActive() { - mIsActive = true; + isActive = true; } public void finish() { - mActionMode.finish(); - mWebView.clearMatches(); + actionMode.finish(); + webView.clearMatches(); } // Place text in the text field so it can be searched for. Need to press // the find next or find previous button to find all of the matches. public void setText(String text) { - mEditText.setText(text); - Spannable span = mEditText.getText(); + editText.setText(text); + Spannable span = editText.getText(); int length = span.length(); // Ideally, we would like to set the selection to the whole field, @@ -95,22 +95,22 @@ public class CompatFindActionModeCallback throw new AssertionError( "WebView supplied to CompatFindActionModeCallback cannot be null"); } - mWebView = webView; + this.webView = webView; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { - mFindResultsTextView.setVisibility(View.VISIBLE); - mWebView.setFindListener((activeMatchOrdinal, numberOfMatches, isDoneCounting) -> { + findResultsTextView.setVisibility(View.VISIBLE); + this.webView.setFindListener((activeMatchOrdinal, numberOfMatches, isDoneCounting) -> { String result; - if (mEditText.getText().toString().isEmpty()) { + if (editText.getText().toString().isEmpty()) { result = ""; } else if (numberOfMatches == 0) { result = "0/0"; } else { result = (activeMatchOrdinal + 1) + "/" + numberOfMatches; } - mFindResultsTextView.setText(result); + findResultsTextView.setText(result); }); } else { - mFindResultsTextView.setVisibility(View.GONE); + findResultsTextView.setVisibility(View.GONE); } } @@ -119,31 +119,31 @@ public class CompatFindActionModeCallback // If false, find the previous match, up in the document. private void findNext(boolean next) { - if (mWebView == null) { + if (webView == null) { throw new AssertionError("No WebView for CompatFindActionModeCallback::findNext"); } - mWebView.findNext(next); + webView.findNext(next); } // Highlight all the instances of the string from mEditText in mWebView. public void findAll() { - if (mWebView == null) { + if (webView == null) { throw new AssertionError("No WebView for CompatFindActionModeCallback::findAll"); } - CharSequence find = mEditText.getText(); + CharSequence find = editText.getText(); if (find.length() == 0) { - mWebView.clearMatches(); + webView.clearMatches(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { - mWebView.findAllAsync(null); + webView.findAllAsync(null); } else { - mWebView.findAll(null); + webView.findAll(null); } } else { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { - mWebView.findAllAsync(find.toString()); + webView.findAllAsync(find.toString()); } else { - mWebView.findAll(find.toString()); + webView.findAll(find.toString()); } // Enable word highlighting with reflection @@ -151,7 +151,7 @@ public class CompatFindActionModeCallback for (Method ms : WebView.class.getDeclaredMethods()) { if (ms.getName().equals("setFindIsUp")) { ms.setAccessible(true); - ms.invoke(mWebView, true); + ms.invoke(webView, true); break; } } @@ -164,11 +164,11 @@ public class CompatFindActionModeCallback // Show on screen keyboard public void showSoftInput() { //wait for any hidden show/hide processes to finish - mEditText.postDelayed(() -> { + editText.postDelayed(() -> { - mEditText.requestFocus(); + editText.requestFocus(); //show the keyboard - mInput.showSoftInput(mEditText, 0); + input.showSoftInput(editText, 0); }, 100); @@ -181,21 +181,21 @@ public class CompatFindActionModeCallback @Override public boolean onCreateActionMode(ActionMode mode, Menu menu) { - mode.setCustomView(mCustomView); + mode.setCustomView(customView); mode.getMenuInflater().inflate(R.menu.menu_webview, menu); - mActionMode = mode; - Editable edit = mEditText.getText(); + actionMode = mode; + Editable edit = editText.getText(); Selection.setSelection(edit, edit.length()); - mEditText.requestFocus(); + editText.requestFocus(); return true; } @Override public void onDestroyActionMode(ActionMode mode) { - mActionMode = null; - mIsActive = false; - mWebView.clearMatches(); - mInput.hideSoftInputFromWindow(mWebView.getWindowToken(), 0); + actionMode = null; + isActive = false; + webView.clearMatches(); + input.hideSoftInputFromWindow(webView.getWindowToken(), 0); } @Override @@ -205,12 +205,12 @@ public class CompatFindActionModeCallback @Override public boolean onActionItemClicked(ActionMode mode, MenuItem item) { - if (mWebView == null) { + if (webView == null) { throw new AssertionError( "No WebView for CompatFindActionModeCallback::onActionItemClicked"); } - mInput.hideSoftInputFromWindow(mWebView.getWindowToken(), 0); + input.hideSoftInputFromWindow(webView.getWindowToken(), 0); switch (item.getItemId()) { case R.id.find_prev: From edf367cfc0e22b5f7e60e515a6569396a68318c1 Mon Sep 17 00:00:00 2001 From: Justin Biggs Date: Tue, 15 Oct 2019 09:57:05 -0500 Subject: [PATCH 6/6] #1526 commit MainActivity.java with refactored variable name --- app/src/main/java/org/kiwix/kiwixmobile/main/MainActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/org/kiwix/kiwixmobile/main/MainActivity.java b/app/src/main/java/org/kiwix/kiwixmobile/main/MainActivity.java index c34f13dfd..d19ce2b33 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/main/MainActivity.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/main/MainActivity.java @@ -597,7 +597,7 @@ public class MainActivity extends BaseActivity implements WebViewCallback, hideTabSwitcher(); } else if (isFullscreenOpened) { closeFullScreen(); - } else if (compatCallback.mIsActive) { + } else if (compatCallback.isActive) { compatCallback.finish(); } else if (drawerLayout.isDrawerOpen(GravityCompat.END)) { drawerLayout.closeDrawers();