X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altosdroid%2Fsrc%2Forg%2Faltusmetrum%2FAltosDroid%2FAltosDroid.java;h=5631ffb7777346e291838e87fe6f9d10798fb5ff;hb=6441437d3b0e848b225a3d6c78ab00e2590c6988;hp=d23d504f4523a92e0a1eb9cc9e28cb850ca05a2c;hpb=54baecc208a40606e3242b2cbd5e66567053646f;p=fw%2Faltos diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroid.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroid.java index d23d504f..5631ffb7 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroid.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroid.java @@ -31,6 +31,8 @@ import android.os.Handler; import android.os.Message; import android.os.Messenger; import android.os.RemoteException; +import android.speech.tts.TextToSpeech; +import android.speech.tts.TextToSpeech.OnInitListener; import android.text.method.ScrollingMovementMethod; import android.util.Log; //import android.view.KeyEvent; @@ -77,13 +79,15 @@ public class AltosDroid extends Activity { private boolean mIsBound; Messenger mService = null; - final Messenger mMessenger = new Messenger(new IncomingHandler()); + final Messenger mMessenger = new Messenger(new IncomingHandler(this)); // Name of the connected device private String mConnectedDeviceName = null; // Local Bluetooth adapter private BluetoothAdapter mBluetoothAdapter = null; + private TextToSpeech tts; + private boolean tts_enabled = false; // The Handler that gets information back from the Telemetry Service static class IncomingHandler extends Handler { @@ -119,8 +123,9 @@ public class AltosDroid extends Activity { break; case MSG_DEVNAME: // save the connected device's name - ad.mConnectedDeviceName = msg.getData().getString(KEY_DEVNAME); - Toast.makeText(ad.getApplicationContext(), "Connected to " + ad.mConnectedDeviceName = (String) msg.obj; + if (ad.mConnectedDeviceName != null) + Toast.makeText(ad.getApplicationContext(), "Connected to " + ad.mConnectedDeviceName, Toast.LENGTH_SHORT).show(); break; case MSG_TOAST: @@ -183,6 +188,14 @@ public class AltosDroid extends Activity { return; } + // Enable Text to Speech + tts = new TextToSpeech(this, new OnInitListener() { + public void onInit(int status) { + if (status == TextToSpeech.SUCCESS) tts_enabled = true; + if (tts_enabled) tts.speak("AltosDroid ready", TextToSpeech.QUEUE_ADD, null ); + } + }); + // Start Telemetry Service startService(new Intent(AltosDroid.this, TelemetryService.class)); @@ -237,6 +250,8 @@ public class AltosDroid extends Activity { doUnbindService(); + if (tts != null) tts.shutdown(); + if(D) Log.e(TAG, "--- ON DESTROY ---"); } @@ -327,9 +342,10 @@ public class AltosDroid extends Activity { // User did not enable Bluetooth or an error occured Log.d(TAG, "BT not enabled"); stopService(new Intent(AltosDroid.this, TelemetryService.class)); - Toast.makeText(this, R.string.bt_not_enabled_leaving, Toast.LENGTH_SHORT).show(); + Toast.makeText(this, R.string.bt_not_enabled, Toast.LENGTH_SHORT).show(); finish(); } + break; } } @@ -343,13 +359,13 @@ public class AltosDroid extends Activity { //Message msg = Message.obtain(null, TelemetryService.MSG_CONNECT_TELEBT); //msg.obj = device; //mService.send(msg); - mService.send(Message.obtain(null, TelemetryService.MSG_CONNECT_TELEBT, device)); + if (D) Log.i(TAG, "Connecting to " + device.getName()); + mService.send(Message.obtain(null, TelemetryService.MSG_CONNECT, device)); } catch (RemoteException e) { e.printStackTrace(); } } - @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater();