diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 8f3e276da..696d0c729 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -162,6 +162,16 @@
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/org/geometerplus/android/fbreader/FBReader.java b/src/org/geometerplus/android/fbreader/FBReader.java
index ea912c31d..0614b4e51 100644
--- a/src/org/geometerplus/android/fbreader/FBReader.java
+++ b/src/org/geometerplus/android/fbreader/FBReader.java
@@ -106,7 +106,7 @@ public final class FBReader extends ZLAndroidActivity {
fbReader.addAction(ActionCode.PROCESS_HYPERLINK, new ProcessHyperlinkAction(this, fbReader));
- fbReader.addAction(ActionCode.SPEAK, new SpeakAction(this, fbReader));
+ fbReader.addAction(ActionCode.SPEAK, new RunPluginAction(this, fbReader, Uri.parse("http://data.fbreader.org/plugin/tts")));
fbReader.addAction(ActionCode.SHOW_CANCEL_MENU, new ShowCancelMenuAction(this, fbReader));
}
diff --git a/src/org/geometerplus/android/fbreader/SpeakAction.java b/src/org/geometerplus/android/fbreader/RunPluginAction.java
similarity index 65%
rename from src/org/geometerplus/android/fbreader/SpeakAction.java
rename to src/org/geometerplus/android/fbreader/RunPluginAction.java
index d789755ce..f730e67ba 100644
--- a/src/org/geometerplus/android/fbreader/SpeakAction.java
+++ b/src/org/geometerplus/android/fbreader/RunPluginAction.java
@@ -19,10 +19,24 @@
package org.geometerplus.android.fbreader;
+import android.content.Intent;
+import android.content.ActivityNotFoundException;
+import android.net.Uri;
+
import org.geometerplus.fbreader.fbreader.FBReaderApp;
-class SpeakAction extends RunActivityAction {
- SpeakAction(FBReader baseActivity, FBReaderApp fbreader) {
- super(baseActivity, fbreader, SpeakActivity.class);
+class RunPluginAction extends FBAndroidAction {
+ private final Uri myUri;
+
+ RunPluginAction(FBReader baseActivity, FBReaderApp fbreader, Uri uri) {
+ super(baseActivity, fbreader);
+ myUri = uri;
+ }
+
+ public void run() {
+ try {
+ BaseActivity.startActivity(new Intent("android.fbreader.action.plugin.RUN", myUri));
+ } catch (ActivityNotFoundException e) {
+ }
}
}