From cc5c3a2407180de0569c2536a2fa37ce782dd55c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Reimar=20D=C3=B6ffinger?= Date: Sun, 24 Jan 2016 20:26:56 +0100 Subject: [PATCH] Add menu entry to jump to random word. --- build.gradle | 3 +++ res/values-de/strings.xml | 1 + res/values/strings.xml | 1 + .../dictionary/DictionaryActivity.java | 21 ++++++++++++++++++- 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 3de4e18..0794423 100644 --- a/build.gradle +++ b/build.gradle @@ -41,6 +41,9 @@ def utildir = hasProperty("quickdicUtilDir") ? quickdicUtilDir : "../Util" android { compileSdkVersion 23 buildToolsVersion "23.0.2" + lintOptions { + disable "MissingTranslation" + } buildTypes { debug { applicationIdSuffix ".debug" diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index 246ed7d..88971b2 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -43,6 +43,7 @@ Sprechen Nächstes Wort Voriges Wort + Zufälliges Wort Datei: %s diff --git a/res/values/strings.xml b/res/values/strings.xml index cab5f71..1ace561 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -46,6 +46,7 @@ Speak Next word Previous word + Random word File: %s diff --git a/src/com/hughes/android/dictionary/DictionaryActivity.java b/src/com/hughes/android/dictionary/DictionaryActivity.java index bd45672..bb749f8 100644 --- a/src/com/hughes/android/dictionary/DictionaryActivity.java +++ b/src/com/hughes/android/dictionary/DictionaryActivity.java @@ -129,6 +129,8 @@ public class DictionaryActivity extends ActionBarActivity { List rowsToShow = null; // if not null, just show these rows. + final Random rand = new Random(); + final Handler uiHandler = new Handler(); private final Executor searchExecutor = Executors.newSingleThreadExecutor(new ThreadFactory() { @@ -168,7 +170,7 @@ public class DictionaryActivity extends ActionBarActivity { ImageButton languageButton; SearchView.OnQueryTextListener onQueryTextListener; - MenuItem nextWordMenuItem, previousWordMenuItem; + MenuItem nextWordMenuItem, previousWordMenuItem, randomWordMenuItem; // Never null. private File wordList = null; @@ -784,6 +786,14 @@ public class DictionaryActivity extends ActionBarActivity { defocusSearchText(); } + void onRandomWordButton() { + int destIndexEntry = rand.nextInt(index.sortedIndexEntries.size()); + final Index.IndexEntry dest = index.sortedIndexEntries.get(destIndexEntry); + setSearchText(dest.token, false); + jumpToRow(index.sortedIndexEntries.get(destIndexEntry).startRow); + defocusSearchText(); + } + // -------------------------------------------------------------------------- // Options Menu // -------------------------------------------------------------------------- @@ -820,6 +830,15 @@ public class DictionaryActivity extends ActionBarActivity { }); } + randomWordMenuItem = menu.add(getString(R.string.randomWord)); + randomWordMenuItem.setOnMenuItemClickListener(new OnMenuItemClickListener() { + @Override + public boolean onMenuItemClick(MenuItem item) { + onRandomWordButton(); + return true; + } + }); + application.onCreateGlobalOptionsMenu(this, menu); { -- 2.43.0