summaryrefslogtreecommitdiffstats
path: root/src/com/android/deskclock/AlarmReceiver.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/deskclock/AlarmReceiver.java')
-rw-r--r--src/com/android/deskclock/AlarmReceiver.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/com/android/deskclock/AlarmReceiver.java b/src/com/android/deskclock/AlarmReceiver.java
index 242f865b5..2bacada09 100644
--- a/src/com/android/deskclock/AlarmReceiver.java
+++ b/src/com/android/deskclock/AlarmReceiver.java
@@ -26,6 +26,11 @@ import android.content.Intent;
import android.content.BroadcastReceiver;
import android.database.Cursor;
import android.os.Parcel;
+import android.text.TextUtils;
+
+import java.net.URISyntaxException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
/**
* Glue class: connects AlarmAlert IntentReceiver to AlarmAlert
@@ -112,6 +117,19 @@ public class AlarmReceiver extends BroadcastReceiver {
c = AlarmAlertFullScreen.class;
}
+ // If there's an intent specified, start that activity.
+ if (!TextUtils.isEmpty(alarm.intent)) {
+ try {
+ Intent alarmActivity = Intent.parseUri(alarm.intent, Intent.URI_INTENT_SCHEME);
+ alarmActivity.setFlags(alarmActivity.getFlags() | Intent.FLAG_ACTIVITY_NEW_TASK);
+ context.startActivity(alarmActivity);
+ } catch (URISyntaxException e) {
+ // Silently fail since the intent failed to parse.
+ }
+ } else {
+ Log.i("Empty or null intent!");
+ }
+
// Play the alarm alert and vibrate the device.
Intent playAlarm = new Intent(Alarms.ALARM_ALERT_ACTION);
playAlarm.putExtra(Alarms.ALARM_INTENT_EXTRA, alarm);