From 496e530761f04e5791afc4423ba82fe877b45889 Mon Sep 17 00:00:00 2001 From: Snek Date: Thu, 23 Mar 2017 11:46:46 +0300 Subject: [PATCH] Alarm: rename class file, fix bug when alarm failed to set up, fix RuntimeException on activity launch --- app/src/main/java/com/example/yink/amadeus/Alarm.java | 2 -- .../main/java/com/example/yink/amadeus/AlarmActivity.java | 5 ++--- app/src/main/java/com/example/yink/amadeus/AlarmService.java | 1 + 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/example/yink/amadeus/Alarm.java b/app/src/main/java/com/example/yink/amadeus/Alarm.java index 58d5116..f089ecd 100644 --- a/app/src/main/java/com/example/yink/amadeus/Alarm.java +++ b/app/src/main/java/com/example/yink/amadeus/Alarm.java @@ -46,7 +46,6 @@ class Alarm { settings = PreferenceManager.getDefaultSharedPreferences(context); AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); - //v = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE); Intent alarmIntent = new Intent(context, AlarmReceiver.class); final PendingIntent pendingIntent = PendingIntent.getBroadcast(context, ALARM_ID, alarmIntent, PendingIntent.FLAG_UPDATE_CURRENT); NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); @@ -61,7 +60,6 @@ class Alarm { notificationManager.cancel(ALARM_NOTIFICATION_ID); alarmManager.cancel(pendingIntent); - //if (settings.getBoolean("vibrate", false)) { if (v != null) { v.cancel(); } diff --git a/app/src/main/java/com/example/yink/amadeus/AlarmActivity.java b/app/src/main/java/com/example/yink/amadeus/AlarmActivity.java index 3a4bd30..a0b951b 100644 --- a/app/src/main/java/com/example/yink/amadeus/AlarmActivity.java +++ b/app/src/main/java/com/example/yink/amadeus/AlarmActivity.java @@ -19,7 +19,7 @@ import java.util.Calendar; public class AlarmActivity extends AppCompatActivity { - private final String TAG = "Amadeus.Alarm"; + private final String TAG = "Amadeus.AlarmActivity"; private AlarmManager alarmManager; private PendingIntent pendingIntent; @@ -35,8 +35,7 @@ public class AlarmActivity extends AppCompatActivity { alarmTimePicker = (TimePicker) findViewById(R.id.alarmTimePicker); alarmToggle = (ToggleButton) findViewById(R.id.alarmToggle); alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); - Intent alarmIntent = new Intent(this, AlarmReceiver.class); - pendingIntent = PendingIntent.getBroadcast(this, Alarm.ALARM_ID, alarmIntent, PendingIntent.FLAG_NO_CREATE); + pendingIntent = PendingIntent.getBroadcast(this, Alarm.ALARM_ID, new Intent(this, AlarmReceiver.class), 0); alarmTimePicker.setIs24HourView(settings.getBoolean("24-hour_format", true)); diff --git a/app/src/main/java/com/example/yink/amadeus/AlarmService.java b/app/src/main/java/com/example/yink/amadeus/AlarmService.java index 09cc049..94bf99c 100644 --- a/app/src/main/java/com/example/yink/amadeus/AlarmService.java +++ b/app/src/main/java/com/example/yink/amadeus/AlarmService.java @@ -17,6 +17,7 @@ public class AlarmService extends IntentService { protected void onHandleIntent(Intent intent) { sendNotification(getString(R.string.incoming_call)); Intent launch = new Intent(this, LaunchActivity.class); + launch.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(launch); AlarmReceiver.completeWakefulIntent(intent); }