]> iEval git - unical.git/blobdiff - src/ro/ieval/unical/AlarmReceiverActivity.java
Add alarm to events. work in progress
[unical.git] / src / ro / ieval / unical / AlarmReceiverActivity.java
diff --git a/src/ro/ieval/unical/AlarmReceiverActivity.java b/src/ro/ieval/unical/AlarmReceiverActivity.java
new file mode 100644 (file)
index 0000000..8f5fca0
--- /dev/null
@@ -0,0 +1,72 @@
+package ro.ieval.unical;
+
+import java.io.IOException;
+
+import android.app.Activity;
+import android.content.Context;
+import android.media.AudioManager;
+import android.media.MediaPlayer;
+import android.media.RingtoneManager;
+import android.net.Uri;
+import android.os.Bundle;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.View.OnTouchListener;
+import android.view.Window;
+import android.view.WindowManager;
+import android.widget.Button;
+
+public class AlarmReceiverActivity extends Activity {
+       private MediaPlayer mMediaPlayer;
+       
+       @Override
+       public void onCreate(Bundle savedInstanceState) {
+               super.onCreate(savedInstanceState);
+               this.requestWindowFeature(Window.FEATURE_NO_TITLE);
+               this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
+               setContentView(R.layout.alarm);
+               
+               Button stopAlarm = (Button) findViewById(R.id.stopAlarm);
+        stopAlarm.setOnTouchListener(new OnTouchListener() {
+            public boolean onTouch(View arg0, MotionEvent arg1) {
+                mMediaPlayer.stop();
+                finish();
+                return false;
+            }
+        });
+        playSound(this, getAlarmUri());
+    }
+    private void playSound(Context context, Uri alert) {
+        mMediaPlayer = new MediaPlayer();
+        try {
+            mMediaPlayer.setDataSource(context, alert);
+            final AudioManager audioManager = (AudioManager) context
+                    .getSystemService(Context.AUDIO_SERVICE);
+            if (audioManager.getStreamVolume(AudioManager.STREAM_ALARM) != 0) {
+                mMediaPlayer.setAudioStreamType(AudioManager.STREAM_ALARM);
+                mMediaPlayer.prepare();
+                mMediaPlayer.start();
+            }
+        } catch (IOException e) {
+            System.out.println("OOPS");
+        }
+    }
+    //Get an alarm sound. Try for an alarm. If none set, try notification, 
+    //Otherwise, ringtone.
+    private Uri getAlarmUri() {
+        Uri alert = RingtoneManager
+                .getDefaultUri(RingtoneManager.TYPE_ALARM);
+        if (alert == null) {
+            alert = RingtoneManager
+                    .getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
+            if (alert == null) {
+                alert = RingtoneManager
+                        .getDefaultUri(RingtoneManager.TYPE_RINGTONE);
+            }
+        }
+        return alert;
+    }
+}
This page took 0.022525 seconds and 4 git commands to generate.