diff --git a/.gitignore b/.gitignore index ffbeee76..5de2dae5 100644 --- a/.gitignore +++ b/.gitignore @@ -46,9 +46,9 @@ libespeak.so* # programs platforms/*/espeak-phoneme-data -espeak -espeakedit -speak +src/espeak +src/espeakedit +src/speak # Linux/Source distribution files diff --git a/src/com/googlecode/eyesfree/espeak/eSpeakActivity.java b/src/com/googlecode/eyesfree/espeak/eSpeakActivity.java index 81665f37..7692232c 100644 --- a/src/com/googlecode/eyesfree/espeak/eSpeakActivity.java +++ b/src/com/googlecode/eyesfree/espeak/eSpeakActivity.java @@ -30,6 +30,7 @@ import android.speech.tts.TextToSpeech; import android.view.View; import android.widget.TextView; +import java.lang.ref.WeakReference; import java.util.ArrayList; public class eSpeakActivity extends Activity { @@ -277,16 +278,24 @@ public class eSpeakActivity extends Activity { } }; - private final Handler mHandler = new Handler() { - @Override + private static class EspeakHandler extends Handler { + private WeakReference mActivity; + + public EspeakHandler(eSpeakActivity activity) + { + mActivity = new WeakReference(activity); + } + + @Override public void handleMessage(Message msg) { switch (msg.what) { case TTS_INITIALIZED: - onInitialized(msg.arg1); + mActivity.get().onInitialized(msg.arg1); break; } } - }; + } + private final Handler mHandler = new EspeakHandler(this); private final View.OnClickListener mOnClickListener = new View.OnClickListener() { @Override