diff --git a/android/res/menu/cr3_reader_menu.xml b/android/res/menu/cr3_reader_menu.xml
index f0f6bbed14..3777a234fe 100644
--- a/android/res/menu/cr3_reader_menu.xml
+++ b/android/res/menu/cr3_reader_menu.xml
@@ -23,6 +23,7 @@
+
diff --git a/android/res/values/strings.xml b/android/res/values/strings.xml
index 79a857117d..e2022ec6d2 100644
--- a/android/res/values/strings.xml
+++ b/android/res/values/strings.xml
@@ -286,6 +286,7 @@
Downloading
Online catalogs
Read Aloud
+ Stop Read Aloud
Block image max zoom
Integer scale
Block image scaling mode
diff --git a/android/src/org/coolreader/crengine/ReaderAction.java b/android/src/org/coolreader/crengine/ReaderAction.java
index edb061321f..cbbc598bd6 100644
--- a/android/src/org/coolreader/crengine/ReaderAction.java
+++ b/android/src/org/coolreader/crengine/ReaderAction.java
@@ -116,6 +116,7 @@ public String toString() {
public final static ReaderAction GO_BACK = new ReaderAction("GO_BACK", R.string.action_go_back, ReaderCommand.DCMD_LINK_BACK, 0, R.id.cr3_go_back ).setIconId(R.drawable.cr3_button_prev);
public final static ReaderAction GO_FORWARD = new ReaderAction("GO_FORWARD", R.string.action_go_forward, ReaderCommand.DCMD_LINK_FORWARD, 0, R.id.cr3_go_forward).setIconId(R.drawable.cr3_button_next);
public final static ReaderAction TTS_PLAY = new ReaderAction("TTS_PLAY", R.string.mi_tts_play, ReaderCommand.DCMD_TTS_PLAY, 0, R.id.cr3_mi_tts_play ).setIconId(R.drawable.cr3_button_tts); //.setActivateWithLongMenuKey()
+ public final static ReaderAction TTS_STOP = new ReaderAction("TTS_STOP", R.string.mi_tts_stop, ReaderCommand.DCMD_TTS_STOP, 0, R.id.cr3_mi_tts_stop ).setIconId(R.drawable.cr3_button_tts); //.setActivateWithLongMenuKey()
public final static ReaderAction TOGGLE_TITLEBAR = new ReaderAction("TOGGLE_TITLEBAR", R.string.action_toggle_titlebar, ReaderCommand.DCMD_TOGGLE_TITLEBAR, 0 );
public final static ReaderAction SHOW_POSITION_INFO_POPUP = new ReaderAction("SHOW_POSITION_INFO_POPUP", R.string.action_show_position_info, ReaderCommand.DCMD_SHOW_POSITION_INFO_POPUP, 0 );
public final static ReaderAction SHOW_DICTIONARY = new ReaderAction("SHOW_DICTIONARY", R.string.action_show_dictionary, ReaderCommand.DCMD_SHOW_DICTIONARY, 0);
@@ -261,6 +262,7 @@ public static ArrayList createList(ReaderAction ... actions) {
ABOUT,
BOOK_INFO,
TTS_PLAY,
+ TTS_STOP,
TOGGLE_TITLEBAR,
SHOW_POSITION_INFO_POPUP,
SHOW_DICTIONARY,
diff --git a/android/src/org/coolreader/crengine/ReaderCommand.java b/android/src/org/coolreader/crengine/ReaderCommand.java
index e6927e4285..50d9f4fdfa 100644
--- a/android/src/org/coolreader/crengine/ReaderCommand.java
+++ b/android/src/org/coolreader/crengine/ReaderCommand.java
@@ -101,6 +101,7 @@ public enum ReaderCommand
DCMD_ABOUT(2019),
DCMD_BOOK_INFO(2020),
DCMD_TTS_PLAY(2021),
+ DCMD_TTS_STOP(2883),
DCMD_TOGGLE_TITLEBAR(2022),
DCMD_SHOW_POSITION_INFO_POPUP(2023),
DCMD_SHOW_DICTIONARY(2024),
diff --git a/android/src/org/coolreader/crengine/ReaderView.java b/android/src/org/coolreader/crengine/ReaderView.java
index 52ec2a0ae9..830e175055 100644
--- a/android/src/org/coolreader/crengine/ReaderView.java
+++ b/android/src/org/coolreader/crengine/ReaderView.java
@@ -2423,6 +2423,12 @@ public void onCommand(final ReaderCommand cmd, final int param, final Runnable o
}));
}
break;
+ case DCMD_TTS_STOP:
+ if(ttsToolbar != null){
+ log.i("DCMD_TTS_STOP: stopping TTS");
+ ttsToolbar.stopAndClose();
+ }
+ break;
case DCMD_TOGGLE_DOCUMENT_STYLES:
if (isBookLoaded())
toggleDocumentStyles();