From e7148abc2e23ab9f1fd37cf5a73e86b556713d16 Mon Sep 17 00:00:00 2001 From: Alinson Xavier Date: Sun, 20 Mar 2016 08:36:16 -0400 Subject: [PATCH] Open statistics page when user taps on widget Closes #19 --- .../java/org/isoron/uhabits/HabitBroadcastReceiver.java | 7 +++++++ .../isoron/uhabits/widgets/FrequencyWidgetProvider.java | 3 ++- .../org/isoron/uhabits/widgets/HistoryWidgetProvider.java | 3 ++- .../org/isoron/uhabits/widgets/ScoreWidgetProvider.java | 3 ++- .../org/isoron/uhabits/widgets/StreakWidgetProvider.java | 3 ++- 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/isoron/uhabits/HabitBroadcastReceiver.java b/app/src/main/java/org/isoron/uhabits/HabitBroadcastReceiver.java index db88d38e9..685fd8bcc 100644 --- a/app/src/main/java/org/isoron/uhabits/HabitBroadcastReceiver.java +++ b/app/src/main/java/org/isoron/uhabits/HabitBroadcastReceiver.java @@ -222,6 +222,13 @@ public class HabitBroadcastReceiver extends BroadcastReceiver return PendingIntent.getBroadcast(context, 0, deleteIntent, 0); } + public static PendingIntent buildViewHabitIntent(Context context, Habit habit) + { + Intent intent = new Intent(context, ShowHabitActivity.class); + intent.setData(Uri.parse("content://org.isoron.uhabits/habit/" + habit.getId())); + return PendingIntent.getActivity(context, 0, intent, 0); + } + private boolean checkWeekday(Intent intent, Habit habit) { Long timestamp = intent.getLongExtra("timestamp", DateHelper.getStartOfToday()); diff --git a/app/src/main/java/org/isoron/uhabits/widgets/FrequencyWidgetProvider.java b/app/src/main/java/org/isoron/uhabits/widgets/FrequencyWidgetProvider.java index 8ea2248df..82af6dcb3 100644 --- a/app/src/main/java/org/isoron/uhabits/widgets/FrequencyWidgetProvider.java +++ b/app/src/main/java/org/isoron/uhabits/widgets/FrequencyWidgetProvider.java @@ -23,6 +23,7 @@ import android.app.PendingIntent; import android.content.Context; import android.view.View; +import org.isoron.uhabits.HabitBroadcastReceiver; import org.isoron.uhabits.R; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.views.HabitFrequencyView; @@ -41,7 +42,7 @@ public class FrequencyWidgetProvider extends BaseWidgetProvider @Override protected PendingIntent getOnClickPendingIntent(Context context, Habit habit) { - return null; + return HabitBroadcastReceiver.buildViewHabitIntent(context, habit); } @Override diff --git a/app/src/main/java/org/isoron/uhabits/widgets/HistoryWidgetProvider.java b/app/src/main/java/org/isoron/uhabits/widgets/HistoryWidgetProvider.java index 2fd440910..957e1b63c 100644 --- a/app/src/main/java/org/isoron/uhabits/widgets/HistoryWidgetProvider.java +++ b/app/src/main/java/org/isoron/uhabits/widgets/HistoryWidgetProvider.java @@ -22,6 +22,7 @@ import android.app.PendingIntent; import android.content.Context; import android.view.View; +import org.isoron.uhabits.HabitBroadcastReceiver; import org.isoron.uhabits.R; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.views.HabitHistoryView; @@ -40,7 +41,7 @@ public class HistoryWidgetProvider extends BaseWidgetProvider @Override protected PendingIntent getOnClickPendingIntent(Context context, Habit habit) { - return null; + return HabitBroadcastReceiver.buildViewHabitIntent(context, habit); } @Override diff --git a/app/src/main/java/org/isoron/uhabits/widgets/ScoreWidgetProvider.java b/app/src/main/java/org/isoron/uhabits/widgets/ScoreWidgetProvider.java index 5eb9c1097..f1d64439b 100644 --- a/app/src/main/java/org/isoron/uhabits/widgets/ScoreWidgetProvider.java +++ b/app/src/main/java/org/isoron/uhabits/widgets/ScoreWidgetProvider.java @@ -22,6 +22,7 @@ import android.app.PendingIntent; import android.content.Context; import android.view.View; +import org.isoron.uhabits.HabitBroadcastReceiver; import org.isoron.uhabits.R; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.views.HabitScoreView; @@ -40,7 +41,7 @@ public class ScoreWidgetProvider extends BaseWidgetProvider @Override protected PendingIntent getOnClickPendingIntent(Context context, Habit habit) { - return null; + return HabitBroadcastReceiver.buildViewHabitIntent(context, habit); } @Override diff --git a/app/src/main/java/org/isoron/uhabits/widgets/StreakWidgetProvider.java b/app/src/main/java/org/isoron/uhabits/widgets/StreakWidgetProvider.java index 40916a8fc..05d4af462 100644 --- a/app/src/main/java/org/isoron/uhabits/widgets/StreakWidgetProvider.java +++ b/app/src/main/java/org/isoron/uhabits/widgets/StreakWidgetProvider.java @@ -22,6 +22,7 @@ import android.app.PendingIntent; import android.content.Context; import android.view.View; +import org.isoron.uhabits.HabitBroadcastReceiver; import org.isoron.uhabits.R; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.views.HabitStreakView; @@ -40,7 +41,7 @@ public class StreakWidgetProvider extends BaseWidgetProvider @Override protected PendingIntent getOnClickPendingIntent(Context context, Habit habit) { - return null; + return HabitBroadcastReceiver.buildViewHabitIntent(context, habit); } @Override