Merge tag 'v1.3.1' into dev

This commit is contained in:
2016-03-15 20:38:51 -04:00
8 changed files with 74 additions and 19 deletions

View File

@@ -31,7 +31,7 @@ import java.util.TimeZone;
public class DateHelper
{
public static int millisecondsInOneDay = 24 * 60 * 60 * 1000;
public static long millisecondsInOneDay = 24 * 60 * 60 * 1000;
private static Long fixedLocalTime = null;
public static long getLocalTime()

View File

@@ -92,10 +92,12 @@ public class HabitBroadcastReceiver extends BroadcastReceiver
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
long delayMinutes = Long.parseLong(prefs.getString("pref_snooze_interval", "15"));
Habit habit = Habit.get(ContentUris.parseId(data));
ReminderHelper.createReminderAlarm(context, habit,
new Date().getTime() + delayMinutes * 60 * 1000);
dismissNotification(context, habit);
long habitId = ContentUris.parseId(data);
Habit habit = Habit.get(habitId);
if(habit != null)
ReminderHelper.createReminderAlarm(context, habit,
new Date().getTime() + delayMinutes * 60 * 1000);
dismissNotification(context, habitId);
}
private void checkHabit(Context context, Intent intent)
@@ -103,10 +105,11 @@ public class HabitBroadcastReceiver extends BroadcastReceiver
Uri data = intent.getData();
Long timestamp = intent.getLongExtra("timestamp", DateHelper.getStartOfToday());
Habit habit = Habit.get(ContentUris.parseId(data));
habit.repetitions.toggle(timestamp);
habit.save();
dismissNotification(context, habit);
long habitId = ContentUris.parseId(data);
Habit habit = Habit.get(habitId);
if(habit != null)
habit.repetitions.toggle(timestamp);
dismissNotification(context, habitId);
sendRefreshBroadcast(context);
}
@@ -129,12 +132,12 @@ public class HabitBroadcastReceiver extends BroadcastReceiver
}
}
private void dismissNotification(Context context, Habit habit)
private void dismissNotification(Context context, Long habitId)
{
NotificationManager notificationManager =
(NotificationManager) context.getSystemService(Activity.NOTIFICATION_SERVICE);
int notificationId = (int) (habit.getId() % Integer.MAX_VALUE);
int notificationId = (int) (habitId % Integer.MAX_VALUE);
notificationManager.cancel(notificationId);
}
@@ -146,6 +149,7 @@ public class HabitBroadcastReceiver extends BroadcastReceiver
Long timestamp = intent.getLongExtra("timestamp", DateHelper.getStartOfToday());
Long reminderTime = intent.getLongExtra("reminderTime", DateHelper.getStartOfToday());
if (habit == null) return;
if (habit.checkmarks.getTodayValue() != Checkmark.UNCHECKED) return;
habit.highlight = 1;

View File

@@ -124,7 +124,7 @@ public class ScoreList
return lastScore;
}
public int[] getAllValues(Long fromTimestamp, Long toTimestamp, Integer divisor)
public int[] getAllValues(Long fromTimestamp, Long toTimestamp, Long divisor)
{
// Force rebuild of the score table
getNewestValue();
@@ -157,7 +157,7 @@ public class ScoreList
}
public int[] getAllValues(int divisor)
public int[] getAllValues(long divisor)
{
Repetition oldestRep = habit.repetitions.getOldest();
if(oldestRep == null) return new int[0];

View File

@@ -50,6 +50,7 @@ public class RingView extends View
private float maxDiameter;
private float textSize;
public RingView(Context context, AttributeSet attrs)
{
super(context, attrs);
@@ -133,7 +134,6 @@ public class RingView extends View
float lineHeight = pRing.getFontSpacing();
canvas.drawText(String.format("%.0f%%", percentage * 100), rect.centerX(),
rect.centerY() + lineHeight / 3, pRing);
pRing.setTextSize(textSize);
canvas.translate(width / 2, diameter + labelMarginTop);
labelLayout.draw(canvas);

View File

@@ -25,7 +25,6 @@ import android.appwidget.AppWidgetProvider;
import android.content.Context;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.media.Image;
import android.os.Build;
import android.os.Bundle;
import android.preference.PreferenceManager;
@@ -33,7 +32,6 @@ import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RemoteViews;
import org.isoron.helpers.DialogHelper;
@@ -106,7 +104,13 @@ public abstract class BaseWidgetProvider extends AppWidgetProvider
if(habitId < 0) return;
Habit habit = Habit.get(habitId);
if(habit == null) return;
if(habit == null)
{
RemoteViews errorView = new RemoteViews(context.getPackageName(),
R.layout.widget_error);
manager.updateAppWidget(widgetId, errorView);
return;
}
View widgetView = buildCustomView(context, habit);
measureCustomView(context, width, height, widgetView);