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: {