/remindme/src/com/google/marvin/remindme/ReminderSpeakerActivity.java

http://eyes-free.googlecode.com/ · Java · 71 lines · 53 code · 12 blank · 6 comment · 1 complexity · 344200b3e21f9e5866be212f3d253f5f MD5 · raw file

  1. package com.google.marvin.remindme;
  2. import android.app.Activity;
  3. import android.app.AlertDialog.Builder;
  4. import android.content.DialogInterface;
  5. import android.content.DialogInterface.OnClickListener;
  6. import android.media.MediaPlayer;
  7. import android.net.Uri;
  8. import android.os.Bundle;
  9. public class ReminderSpeakerActivity extends Activity {
  10. private ReminderSpeakerActivity self;
  11. private boolean stopNow;
  12. /** Called when the activity is first created. */
  13. @Override
  14. public void onCreate(Bundle savedInstanceState) {
  15. super.onCreate(savedInstanceState);
  16. self = this;
  17. stopNow = false;
  18. //if (reminderUriStr != null) {
  19. class AlarmPlayer implements Runnable {
  20. public void run() {
  21. new MediaPlayer();
  22. MediaPlayer mPlayer =
  23. MediaPlayer.create(self, Uri.parse("/sdcard/remindme/note00.amr"));
  24. mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
  25. public void onCompletion(MediaPlayer mp) {
  26. try {
  27. Thread.sleep(3000);
  28. } catch (InterruptedException e) {
  29. // TODO Auto-generated catch block
  30. e.printStackTrace();
  31. }
  32. if (!stopNow) {
  33. new Thread(new AlarmPlayer()).start();
  34. }
  35. }
  36. });
  37. mPlayer.start();
  38. }
  39. }
  40. displayDismissDialog();
  41. new Thread(new AlarmPlayer()).start();
  42. // } else {
  43. // finish();
  44. // }
  45. }
  46. private void displayDismissDialog() {
  47. Builder dismissDialog = new Builder(this);
  48. String titleText = "Alarm";
  49. dismissDialog.setTitle(titleText);
  50. dismissDialog.setMessage("Press the DISMISS button to stop the alarm.");
  51. dismissDialog.setNeutralButton("Dismiss", new OnClickListener() {
  52. public void onClick(DialogInterface dialog, int which) {
  53. stopNow = true;
  54. finish();
  55. }
  56. });
  57. dismissDialog.show();
  58. }
  59. }