From a90e26691f15095c378bcccfe81d5ae0a7b6e3d1 Mon Sep 17 00:00:00 2001 From: Alinson Xavier Date: Sun, 26 Jun 2016 17:10:17 -0400 Subject: [PATCH] Fix HistoryEditorDialog --- .../org/isoron/uhabits/BaseComponent.java | 38 ++---- .../org/isoron/uhabits/tasks/BaseTask.java | 3 + .../org/isoron/uhabits/tasks/SimpleTask.java | 42 ++++++ .../org/isoron/uhabits/ui/BaseScreen.java | 24 ++-- .../uhabits/ui/common/views/HistoryChart.java | 20 ++- .../ui/habits/edit/HistoryEditorDialog.java | 120 +++++++++++------- .../ui/habits/show/ShowHabitActivity.java | 9 +- .../ui/habits/show/ShowHabitController.java | 73 +++++++++++ .../ui/habits/show/ShowHabitRootView.java | 63 +++++---- .../ui/habits/show/ShowHabitScreen.java | 22 ++-- .../ui/habits/show/views/HistoryCard.java | 20 ++- .../ui/habits/show/views/StreakCard.java | 11 +- 12 files changed, 315 insertions(+), 130 deletions(-) create mode 100644 app/src/main/java/org/isoron/uhabits/tasks/SimpleTask.java create mode 100644 app/src/main/java/org/isoron/uhabits/ui/habits/show/ShowHabitController.java diff --git a/app/src/main/java/org/isoron/uhabits/BaseComponent.java b/app/src/main/java/org/isoron/uhabits/BaseComponent.java index 069caae05..28f39fe9a 100644 --- a/app/src/main/java/org/isoron/uhabits/BaseComponent.java +++ b/app/src/main/java/org/isoron/uhabits/BaseComponent.java @@ -19,30 +19,18 @@ package org.isoron.uhabits; -import org.isoron.uhabits.commands.ArchiveHabitsCommand; -import org.isoron.uhabits.commands.ChangeHabitColorCommand; -import org.isoron.uhabits.commands.CreateHabitCommand; -import org.isoron.uhabits.commands.DeleteHabitsCommand; -import org.isoron.uhabits.commands.EditHabitCommand; -import org.isoron.uhabits.commands.UnarchiveHabitsCommand; -import org.isoron.uhabits.io.AbstractImporter; -import org.isoron.uhabits.io.HabitsCSVExporter; -import org.isoron.uhabits.models.Habit; -import org.isoron.uhabits.tasks.ToggleRepetitionTask; -import org.isoron.uhabits.ui.BaseSystem; -import org.isoron.uhabits.ui.habits.edit.BaseDialogFragment; -import org.isoron.uhabits.ui.habits.edit.HistoryEditorDialog; -import org.isoron.uhabits.ui.habits.list.ListHabitsActivity; -import org.isoron.uhabits.ui.habits.list.ListHabitsController; -import org.isoron.uhabits.ui.habits.list.ListHabitsSelectionMenu; -import org.isoron.uhabits.ui.habits.list.controllers.CheckmarkButtonController; -import org.isoron.uhabits.ui.habits.list.model.HabitCardListAdapter; -import org.isoron.uhabits.ui.habits.list.model.HabitCardListCache; -import org.isoron.uhabits.ui.habits.list.model.HintList; -import org.isoron.uhabits.ui.habits.list.views.CheckmarkPanelView; -import org.isoron.uhabits.ui.habits.show.ShowHabitActivity; -import org.isoron.uhabits.widgets.BaseWidgetProvider; -import org.isoron.uhabits.widgets.HabitPickerDialog; +import org.isoron.uhabits.commands.*; +import org.isoron.uhabits.io.*; +import org.isoron.uhabits.models.*; +import org.isoron.uhabits.tasks.*; +import org.isoron.uhabits.ui.*; +import org.isoron.uhabits.ui.habits.edit.*; +import org.isoron.uhabits.ui.habits.list.*; +import org.isoron.uhabits.ui.habits.list.controllers.*; +import org.isoron.uhabits.ui.habits.list.model.*; +import org.isoron.uhabits.ui.habits.list.views.*; +import org.isoron.uhabits.ui.habits.show.*; +import org.isoron.uhabits.widgets.*; /** * Base component for dependency injection. @@ -100,4 +88,6 @@ public interface BaseComponent void inject(HabitsCSVExporter habitsCSVExporter); void inject(BaseDialogFragment baseDialogFragment); + + void inject(ShowHabitController showHabitController); } diff --git a/app/src/main/java/org/isoron/uhabits/tasks/BaseTask.java b/app/src/main/java/org/isoron/uhabits/tasks/BaseTask.java index d9542c84b..8bf2a8b23 100644 --- a/app/src/main/java/org/isoron/uhabits/tasks/BaseTask.java +++ b/app/src/main/java/org/isoron/uhabits/tasks/BaseTask.java @@ -21,6 +21,7 @@ package org.isoron.uhabits.tasks; import android.os.AsyncTask; import android.os.Build; +import android.support.annotation.*; import java.util.concurrent.TimeoutException; @@ -28,6 +29,7 @@ public abstract class BaseTask extends AsyncTask { private static int activeTaskCount; + @CallSuper @Override protected void onPreExecute() { @@ -35,6 +37,7 @@ public abstract class BaseTask extends AsyncTask activeTaskCount++; } + @CallSuper @Override protected void onPostExecute(Void aVoid) { diff --git a/app/src/main/java/org/isoron/uhabits/tasks/SimpleTask.java b/app/src/main/java/org/isoron/uhabits/tasks/SimpleTask.java new file mode 100644 index 000000000..a85d0fb78 --- /dev/null +++ b/app/src/main/java/org/isoron/uhabits/tasks/SimpleTask.java @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2016 Álinson Santos Xavier + * + * This file is part of Loop Habit Tracker. + * + * Loop Habit Tracker is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * Loop Habit Tracker is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +package org.isoron.uhabits.tasks; + +public class SimpleTask +{ + private final BaseTask baseTask; + + public SimpleTask(Runnable runnable) + { + this.baseTask = new BaseTask() + { + @Override + protected void doInBackground() + { + runnable.run(); + } + }; + } + + public void execute() + { + baseTask.execute(); + } +} diff --git a/app/src/main/java/org/isoron/uhabits/ui/BaseScreen.java b/app/src/main/java/org/isoron/uhabits/ui/BaseScreen.java index 3c5b6224e..910896284 100644 --- a/app/src/main/java/org/isoron/uhabits/ui/BaseScreen.java +++ b/app/src/main/java/org/isoron/uhabits/ui/BaseScreen.java @@ -234,17 +234,19 @@ public abstract class BaseScreen { if (rootView == null) return; - Toolbar toolbar = rootView.getToolbar(); - activity.setSupportActionBar(toolbar); - ActionBar actionBar = activity.getSupportActionBar(); - if (actionBar == null) return; - - actionBar.setDisplayHomeAsUpEnabled(rootView.getDisplayHomeAsUp()); - - int color = rootView.getToolbarColor(); - setActionBarColor(actionBar, color); - setStatusBarColor(color); - setupToolbarElevation(toolbar); + activity.runOnUiThread(() -> { + Toolbar toolbar = rootView.getToolbar(); + activity.setSupportActionBar(toolbar); + ActionBar actionBar = activity.getSupportActionBar(); + if (actionBar == null) return; + + actionBar.setDisplayHomeAsUpEnabled(rootView.getDisplayHomeAsUp()); + + int color = rootView.getToolbarColor(); + setActionBarColor(actionBar, color); + setStatusBarColor(color); + setupToolbarElevation(toolbar); + }); } private void setActionBarColor(@NonNull ActionBar actionBar, int color) diff --git a/app/src/main/java/org/isoron/uhabits/ui/common/views/HistoryChart.java b/app/src/main/java/org/isoron/uhabits/ui/common/views/HistoryChart.java index 3e3affd61..cbf8bb718 100644 --- a/app/src/main/java/org/isoron/uhabits/ui/common/views/HistoryChart.java +++ b/app/src/main/java/org/isoron/uhabits/ui/common/views/HistoryChart.java @@ -22,6 +22,7 @@ package org.isoron.uhabits.ui.common.views; import android.content.*; import android.graphics.*; import android.graphics.Paint.*; +import android.support.annotation.*; import android.util.*; import android.view.*; @@ -82,6 +83,9 @@ public class HistoryChart extends ScrollableChart private float headerOverflow = 0; + @NonNull + private Controller controller; + public HistoryChart(Context context) { super(context); @@ -114,13 +118,12 @@ public class HistoryChart extends ScrollableChart final Long timestamp = positionToTimestamp(x, y); if (timestamp == null) return false; -// ToggleRepetitionTask task = new ToggleRepetitionTask(habit, timestamp); -// task.setListener(this); -// task.execute(); + controller.onToggleCheckmark(timestamp); return true; } + public void populateWithRandomData() { Random random = new Random(); @@ -152,6 +155,11 @@ public class HistoryChart extends ScrollableChart postInvalidate(); } + public void setController(@NonNull Controller controller) + { + this.controller = controller; + } + public void setIsBackgroundTransparent(boolean isBackgroundTransparent) { this.isBackgroundTransparent = isBackgroundTransparent; @@ -330,6 +338,7 @@ public class HistoryChart extends ScrollableChart { isEditable = false; checkmarks = new int[0]; + controller = new Controller() {}; initColors(); initPaints(); @@ -412,4 +421,9 @@ public class HistoryChart extends ScrollableChart baseDate.add(Calendar.DAY_OF_YEAR, -nDays); baseDate.add(Calendar.DAY_OF_YEAR, -todayPositionInColumn); } + + public interface Controller + { + default void onToggleCheckmark(long timestamp) {} + } } diff --git a/app/src/main/java/org/isoron/uhabits/ui/habits/edit/HistoryEditorDialog.java b/app/src/main/java/org/isoron/uhabits/ui/habits/edit/HistoryEditorDialog.java index 688cd2e1b..3aa60ef76 100644 --- a/app/src/main/java/org/isoron/uhabits/ui/habits/edit/HistoryEditorDialog.java +++ b/app/src/main/java/org/isoron/uhabits/ui/habits/edit/HistoryEditorDialog.java @@ -19,42 +19,56 @@ package org.isoron.uhabits.ui.habits.edit; -import android.app.Dialog; -import android.content.Context; -import android.content.DialogInterface; -import android.os.Bundle; +import android.app.*; +import android.content.*; +import android.os.*; +import android.support.annotation.*; import android.support.v7.app.AlertDialog; -import android.support.v7.app.AppCompatDialogFragment; -import android.util.DisplayMetrics; +import android.support.v7.app.*; +import android.util.*; -import org.apache.commons.lang3.*; -import org.isoron.uhabits.HabitsApplication; -import org.isoron.uhabits.R; -import org.isoron.uhabits.models.Habit; -import org.isoron.uhabits.models.HabitList; -import org.isoron.uhabits.tasks.BaseTask; -import org.isoron.uhabits.ui.common.views.HistoryChart; +import org.isoron.uhabits.*; +import org.isoron.uhabits.models.*; +import org.isoron.uhabits.tasks.*; +import org.isoron.uhabits.ui.common.views.*; +import org.isoron.uhabits.utils.*; -import javax.inject.Inject; +import javax.inject.*; public class HistoryEditorDialog extends AppCompatDialogFragment - implements DialogInterface.OnClickListener + implements DialogInterface.OnClickListener, ModelObservable.Listener { + @Nullable private Habit habit; - private Listener listener; - + @Nullable HistoryChart historyChart; @Inject HabitList habitList; + @NonNull + private Controller controller; + + public HistoryEditorDialog() + { + this.controller = new Controller() {}; + } + + @Override + public void onClick(DialogInterface dialog, int which) + { + dismiss(); + } + + @NonNull @Override - public Dialog onCreateDialog(Bundle savedInstanceState) + public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { Context context = getActivity(); HabitsApplication.getComponent().inject(this); - historyChart = new HistoryChart(context, null); + historyChart = new HistoryChart(context); + historyChart.setController(controller); if (savedInstanceState != null) { @@ -65,9 +79,7 @@ public class HistoryEditorDialog extends AppCompatDialogFragment int padding = (int) getResources().getDimension(R.dimen.history_editor_padding); - if(true) throw new NotImplementedException(""); historyChart.setPadding(padding, 0, padding, 0); -// historyChart.setHabit(habit); historyChart.setIsEditable(true); AlertDialog.Builder builder = new AlertDialog.Builder(context); @@ -76,21 +88,13 @@ public class HistoryEditorDialog extends AppCompatDialogFragment .setView(historyChart) .setPositiveButton(android.R.string.ok, this); - refreshData(); - return builder.create(); } - private void refreshData() + @Override + public void onModelChange() { - new BaseTask() - { - @Override - protected void doInBackground() - { -// historyChart.refreshData(); - } - }.execute(); + refreshData(); } @Override @@ -105,25 +109,16 @@ public class HistoryEditorDialog extends AppCompatDialogFragment int height = Math.min(metrics.heightPixels, maxHeight); getDialog().getWindow().setLayout(width, height); - } - - @Override - public void onClick(DialogInterface dialog, int which) - { - dismiss(); - } - public void setHabit(Habit habit) - { -// this.habit = habit; -// if (historyChart != null) historyChart.setHabit(habit); + refreshData(); + habit.getCheckmarks().observable.addListener(this); } @Override public void onPause() { + habit.getCheckmarks().observable.removeListener(this); super.onPause(); - if (listener != null) listener.onHistoryEditorClosed(); } @Override @@ -132,13 +127,42 @@ public class HistoryEditorDialog extends AppCompatDialogFragment outState.putLong("habit", habit.getId()); } - public void setListener(Listener listener) + public void setController(@NonNull Controller controller) + { + this.controller = controller; + if (historyChart != null) historyChart.setController(controller); + } + + public void setHabit(@Nullable Habit habit) + { + this.habit = habit; + } + + private void refreshData() { - this.listener = listener; + if (habit == null) return; + new RefreshTask().execute(); } - public interface Listener + public interface Controller extends HistoryChart.Controller {} + + private class RefreshTask extends BaseTask { - void onHistoryEditorClosed(); + public int[] checkmarks; + + @Override + protected void doInBackground() + { + checkmarks = habit.getCheckmarks().getAllValues(); + } + + @Override + protected void onPostExecute(Void aVoid) + { + int color = ColorUtils.getColor(getContext(), habit.getColor()); + historyChart.setColor(color); + historyChart.setCheckmarks(checkmarks); + super.onPostExecute(aVoid); + } } } diff --git a/app/src/main/java/org/isoron/uhabits/ui/habits/show/ShowHabitActivity.java b/app/src/main/java/org/isoron/uhabits/ui/habits/show/ShowHabitActivity.java index df840a909..ebff34915 100644 --- a/app/src/main/java/org/isoron/uhabits/ui/habits/show/ShowHabitActivity.java +++ b/app/src/main/java/org/isoron/uhabits/ui/habits/show/ShowHabitActivity.java @@ -48,7 +48,14 @@ public class ShowHabitActivity extends BaseActivity Habit habit = getHabitFromIntent(); ShowHabitScreen screen = new ShowHabitScreen(this, habit); - setScreen(screen); + ShowHabitRootView view = new ShowHabitRootView(this, habit); + screen.setRootView(view); + this.setScreen(screen); + + ShowHabitsMenu menu = new ShowHabitsMenu(this, screen); + ShowHabitController controller = new ShowHabitController(screen, habit); + screen.setMenu(menu); + view.setController(controller); } @NonNull diff --git a/app/src/main/java/org/isoron/uhabits/ui/habits/show/ShowHabitController.java b/app/src/main/java/org/isoron/uhabits/ui/habits/show/ShowHabitController.java new file mode 100644 index 000000000..d05909f67 --- /dev/null +++ b/app/src/main/java/org/isoron/uhabits/ui/habits/show/ShowHabitController.java @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2016 Álinson Santos Xavier + * + * This file is part of Loop Habit Tracker. + * + * Loop Habit Tracker is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * Loop Habit Tracker is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +package org.isoron.uhabits.ui.habits.show; + +import android.support.annotation.*; + +import org.isoron.uhabits.*; +import org.isoron.uhabits.commands.*; +import org.isoron.uhabits.models.*; +import org.isoron.uhabits.tasks.*; +import org.isoron.uhabits.ui.habits.edit.*; + +import javax.inject.*; + +public class ShowHabitController implements ShowHabitRootView.Controller, + HistoryEditorDialog.Controller +{ + @NonNull + private final ShowHabitScreen screen; + + @NonNull + private final Habit habit; + + @Inject + CommandRunner commandRunner; + + public ShowHabitController(@NonNull ShowHabitScreen screen, + @NonNull Habit habit) + { + HabitsApplication.getComponent().inject(this); + this.screen = screen; + this.habit = habit; + } + + @Override + public void onToolbarChanged() + { + screen.invalidateToolbar(); + } + + @Override + public void onEditHistoryButtonClick() + { + screen.showEditHistoryDialog(this); + } + + @Override + public void onToggleCheckmark(long timestamp) + { + new SimpleTask(() -> { + ToggleRepetitionCommand command; + command = new ToggleRepetitionCommand(habit, timestamp); + commandRunner.execute(command, null); + }).execute(); + } +} diff --git a/app/src/main/java/org/isoron/uhabits/ui/habits/show/ShowHabitRootView.java b/app/src/main/java/org/isoron/uhabits/ui/habits/show/ShowHabitRootView.java index 225ec2712..265bbe21f 100644 --- a/app/src/main/java/org/isoron/uhabits/ui/habits/show/ShowHabitRootView.java +++ b/app/src/main/java/org/isoron/uhabits/ui/habits/show/ShowHabitRootView.java @@ -33,7 +33,8 @@ import butterknife.*; import static org.isoron.uhabits.utils.InterfaceUtils.*; -public class ShowHabitRootView extends BaseRootView implements ModelObservable.Listener +public class ShowHabitRootView extends BaseRootView + implements ModelObservable.Listener { @NonNull private Habit habit; @@ -59,43 +60,24 @@ public class ShowHabitRootView extends BaseRootView implements ModelObservable.L @BindView(R.id.toolbar) Toolbar toolbar; - private final ShowHabitScreen screen; + @NonNull + private Controller controller; public ShowHabitRootView(@NonNull Context context, - @NonNull Habit habit, - @NonNull ShowHabitScreen screen) + @NonNull Habit habit) { super(context); this.habit = habit; - this.screen = screen; addView(inflate(getContext(), R.layout.show_habit, null)); ButterKnife.bind(this); + controller = new Controller() {}; + initCards(); initToolbar(); } - @Override - public void onModelChange() - { - post(() -> screen.invalidateToolbar()); - } - - @Override - protected void onAttachedToWindow() - { - super.onAttachedToWindow(); - habit.getObservable().addListener(this); - } - - @Override - protected void onDetachedFromWindow() - { - habit.getObservable().removeListener(this); - super.onDetachedFromWindow(); - } - @Override public boolean getDisplayHomeAsUp() { @@ -109,6 +91,12 @@ public class ShowHabitRootView extends BaseRootView implements ModelObservable.L return toolbar; } + public void setController(@NonNull Controller controller) + { + this.controller = controller; + historyCard.setController(controller); + } + @Override public int getToolbarColor() { @@ -118,6 +106,12 @@ public class ShowHabitRootView extends BaseRootView implements ModelObservable.L return ColorUtils.getColor(getContext(), habit.getColor()); } + @Override + public void onModelChange() + { + controller.onToolbarChanged(); + } + @Override protected void initToolbar() { @@ -125,6 +119,20 @@ public class ShowHabitRootView extends BaseRootView implements ModelObservable.L toolbar.setTitle(habit.getName()); } + @Override + protected void onAttachedToWindow() + { + super.onAttachedToWindow(); + habit.getObservable().addListener(this); + } + + @Override + protected void onDetachedFromWindow() + { + habit.getObservable().removeListener(this); + super.onDetachedFromWindow(); + } + private void initCards() { subtitleCard.setHabit(habit); @@ -134,4 +142,9 @@ public class ShowHabitRootView extends BaseRootView implements ModelObservable.L streakCard.setHabit(habit); frequencyCard.setHabit(habit); } + + public interface Controller extends HistoryCard.Controller + { + default void onToolbarChanged(){} + } } diff --git a/app/src/main/java/org/isoron/uhabits/ui/habits/show/ShowHabitScreen.java b/app/src/main/java/org/isoron/uhabits/ui/habits/show/ShowHabitScreen.java index 1276b9b48..947a95a35 100644 --- a/app/src/main/java/org/isoron/uhabits/ui/habits/show/ShowHabitScreen.java +++ b/app/src/main/java/org/isoron/uhabits/ui/habits/show/ShowHabitScreen.java @@ -35,19 +35,23 @@ public class ShowHabitScreen extends BaseScreen { super(activity); this.habit = habit; - - ShowHabitRootView view = new ShowHabitRootView(activity, habit, this); - ShowHabitsMenu menu = new ShowHabitsMenu(activity, this); - - setRootView(view); - setMenu(menu); } public void showEditHabitDialog() { + Long id = habit.getId(); + if (id == null) throw new RuntimeException("habit not saved"); + FragmentManager manager = activity.getSupportFragmentManager(); - EditHabitDialogFragment - .newInstance(habit.getId()) - .show(manager, "editHabit"); + EditHabitDialogFragment.newInstance(id).show(manager, "editHabit"); + } + + public void showEditHistoryDialog( + @NonNull HistoryEditorDialog.Controller controller) + { + HistoryEditorDialog dialog = new HistoryEditorDialog(); + dialog.setHabit(habit); + dialog.setController(controller); + dialog.show(activity.getSupportFragmentManager(), "historyEditor"); } } diff --git a/app/src/main/java/org/isoron/uhabits/ui/habits/show/views/HistoryCard.java b/app/src/main/java/org/isoron/uhabits/ui/habits/show/views/HistoryCard.java index a0ecb9f90..03b663715 100644 --- a/app/src/main/java/org/isoron/uhabits/ui/habits/show/views/HistoryCard.java +++ b/app/src/main/java/org/isoron/uhabits/ui/habits/show/views/HistoryCard.java @@ -20,6 +20,7 @@ package org.isoron.uhabits.ui.habits.show.views; import android.content.*; +import android.support.annotation.*; import android.util.*; import android.widget.*; @@ -39,6 +40,9 @@ public class HistoryCard extends HabitCard @BindView(R.id.title) TextView title; + @NonNull + private Controller controller; + public HistoryCard(Context context) { super(context); @@ -55,10 +59,13 @@ public class HistoryCard extends HabitCard public void onClickEditButton() { Log.d("HistoryCard", "onClickEditButton"); + controller.onEditHistoryButtonClick(); + } -// HistoryEditorDialog frag = new HistoryEditorDialog(); -// frag.setHabit(habit); -// frag.show(getContext().getFragmentManager(), "historyEditor"); + public void setController(@NonNull Controller controller) + { + this.controller = controller; + chart.setController(controller); } @Override @@ -90,7 +97,7 @@ public class HistoryCard extends HabitCard { inflate(getContext(), R.layout.show_habit_history, this); ButterKnife.bind(this); - + controller = new Controller() {}; if (isInEditMode()) initEditMode(); } @@ -101,4 +108,9 @@ public class HistoryCard extends HabitCard chart.setColor(color); chart.populateWithRandomData(); } + + public interface Controller extends HistoryChart.Controller + { + default void onEditHistoryButtonClick() {} + } } diff --git a/app/src/main/java/org/isoron/uhabits/ui/habits/show/views/StreakCard.java b/app/src/main/java/org/isoron/uhabits/ui/habits/show/views/StreakCard.java index cbb65f31f..4a7a0b25b 100644 --- a/app/src/main/java/org/isoron/uhabits/ui/habits/show/views/StreakCard.java +++ b/app/src/main/java/org/isoron/uhabits/ui/habits/show/views/StreakCard.java @@ -58,7 +58,7 @@ public class StreakCard extends HabitCard @Override protected void refreshData() { - new MyBaseTask().execute(); + new RefreshTask().execute(); } private void init() @@ -77,20 +77,21 @@ public class StreakCard extends HabitCard streakChart.populateWithRandomData(); } - private class MyBaseTask extends BaseTask + private class RefreshTask extends BaseTask { - public List streaks; + public List bestStreaks; @Override protected void doInBackground() { - streaks = getHabit().getStreaks().getBest(NUM_STREAKS); + StreakList streaks = getHabit().getStreaks(); + bestStreaks = streaks.getBest(NUM_STREAKS); } @Override protected void onPostExecute(Void aVoid) { - streakChart.setStreaks(streaks); + streakChart.setStreaks(bestStreaks); super.onPostExecute(aVoid); }