diff --git a/Habitica/res/values/strings.constants.xml b/Habitica/res/values/strings.constants.xml
index db5e26a5d..a334254da 100644
--- a/Habitica/res/values/strings.constants.xml
+++ b/Habitica/res/values/strings.constants.xml
@@ -18,4 +18,5 @@
habitica
habitrpg-qr-code.jpg
+ 1,750,000
\ No newline at end of file
diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml
index b6a6f9521..724a8567a 100644
--- a/Habitica/res/values/strings.xml
+++ b/Habitica/res/values/strings.xml
@@ -203,7 +203,7 @@
Got it!
Remind me again
Welcome to Habitica
- Join over 1,100,000 people having fun while getting things done. Create an avatar and track your real-life tasks.
+ Join over %s people having fun while getting things done. Create an avatar and track your real-life tasks.
Game Progress = Life Progress
Unlock features in the game by checking off your real-life tasks. Earn armor, pets, and more to reward you for meeting your goals!
Get Social and Fight Monsters
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/TaskAlarmManager.java b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/TaskAlarmManager.java
index 360cd5e98..2f8e69db2 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/TaskAlarmManager.java
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/TaskAlarmManager.java
@@ -19,6 +19,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
+import android.os.Build;
import android.support.v7.preference.PreferenceManager;
import android.util.Log;
@@ -26,6 +27,8 @@ import java.util.Calendar;
import java.util.Date;
import java.util.List;
+import static android.os.Build.VERSION.SDK_INT;
+
/**
* Created by keithholliday on 5/29/16.
*/
@@ -155,7 +158,7 @@ public class TaskAlarmManager {
PendingIntent sender = PendingIntent.getBroadcast(context, intentId, intent, PendingIntent.FLAG_UPDATE_CURRENT);
- am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), sender);
+ setAlarm(context, cal.getTimeInMillis(), sender);
remindersItem.save();
}
@@ -183,6 +186,10 @@ public class TaskAlarmManager {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, hour);
cal.set(Calendar.MINUTE, minute);
+ cal.set(Calendar.SECOND, 0);
+ if (cal.getTimeInMillis() < new Date().getTime()) {
+ cal.set(Calendar.DAY_OF_YEAR, cal.get(Calendar.DAY_OF_YEAR)+1);
+ }
long trigger_time = cal.getTimeInMillis();
Intent notificationIntent = new Intent(context, NotificationPublisher.class);
@@ -198,7 +205,7 @@ public class TaskAlarmManager {
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
- alarmManager.set(AlarmManager.RTC_WAKEUP, trigger_time, pendingIntent);
+ setAlarm(context, trigger_time, pendingIntent);
}
}
@@ -208,4 +215,15 @@ public class TaskAlarmManager {
PendingIntent displayIntent = PendingIntent.getBroadcast(context, 0, notificationIntent, 0);
alarmManager.cancel(displayIntent);
}
+
+ private static void setAlarm(Context context, long time, PendingIntent pendingIntent) {
+ AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
+
+ if (SDK_INT < Build.VERSION_CODES.KITKAT)
+ alarmManager.set(AlarmManager.RTC_WAKEUP, time, pendingIntent);
+ else if (Build.VERSION_CODES.KITKAT <= SDK_INT && SDK_INT < Build.VERSION_CODES.M)
+ alarmManager.setWindow(AlarmManager.RTC_WAKEUP, time, time+60000, pendingIntent);
+ else if (SDK_INT >= Build.VERSION_CODES.M)
+ alarmManager.setAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, time, pendingIntent);
+ }
}
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/IntroActivity.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/IntroActivity.java
index c8d4b797a..8311c39c4 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/IntroActivity.java
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/IntroActivity.java
@@ -73,7 +73,7 @@ public class IntroActivity extends BaseActivity implements View.OnClickListener,
case 0: {
fragment.setImage(ResourcesCompat.getDrawable(getResources(), R.drawable.intro_1, null));
fragment.setTitle(getString(R.string.intro_1_title));
- fragment.setDescription(getString(R.string.intro_1_description));
+ fragment.setDescription(getString(R.string.intro_1_description, getString(R.string.habitica_user_count)));
break;
}
case 1: {