mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-10 14:20:55 +00:00
AlarmManager works different at API19+, that's why we need this fix
This commit is contained in:
1 parent
937b11dea9
commit
318337e6f7
1 file changed
+9
-2
+9
-2
@@ -1,5 +1,6 @@
|
||||
package com.sap.sailing.racecommittee.app.services;
|
||||
|
||||
import android.annotation.TargetApi;
|
||||
import android.app.AlarmManager;
|
||||
import android.app.NotificationManager;
|
||||
import android.app.PendingIntent;
|
||||
@@ -8,6 +9,7 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.os.Binder;
|
||||
import android.os.Build;
|
||||
import android.os.IBinder;
|
||||
import android.support.v4.app.NotificationCompat;
|
||||
import android.util.Pair;
|
||||
@@ -259,11 +261,16 @@ public class RaceStateService extends Service {
|
||||
intent.putExtra(AppConstants.EXTRAS_RACE_STATE_EVENT, event);
|
||||
return PendingIntent.getService(this, alarmManagerRequestCode++, intent, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
}
|
||||
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.KITKAT)
|
||||
public void setAlarm(ManagedRace race, RaceStateEvent event) {
|
||||
PendingIntent intent = createAlarmPendingIntent(race, event);
|
||||
managedIntents.get(race.getId()).add(Pair.create(intent, event.getEventName()));
|
||||
alarmManager.set(AlarmManager.RTC_WAKEUP, event.getTimePoint().asMillis(), intent);
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
||||
alarmManager.setExact(AlarmManager.RTC_WAKEUP, event.getTimePoint().asMillis(), intent);
|
||||
} else {
|
||||
alarmManager.set(AlarmManager.RTC_WAKEUP, event.getTimePoint().asMillis(), intent);
|
||||
}
|
||||
ExLog.i(this, TAG, "The alarm " + event.getEventName() + " will be fired at " + event.getTimePoint());
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user