From 8d181a6683880aebd3cbe51f801a6b0a140dc332 Mon Sep 17 00:00:00 2001 From: Alinson Xavier Date: Mon, 5 Jun 2017 18:01:13 -0400 Subject: [PATCH] Simplify ShowHabitActivity --- .../androidbase/activities/BaseActivity.java | 7 +++ .../androidbase/activities/BaseRootView.java | 14 +++++ .../androidbase/activities/BaseScreen.java | 11 +++- .../uhabits/HabitsApplicationComponent.java | 3 - .../activities/HabitsActivityComponent.java | 14 ++--- .../activities/about/AboutActivity.java | 9 +-- .../uhabits/activities/about/AboutModule.java | 30 +++++++++ .../activities/about/AboutRootView.java | 5 +- .../habits/list/ListHabitsActivity.java | 1 - .../habits/list/ListHabitsScreen.java | 18 +----- .../habits/show/ShowHabitActivity.java | 23 +------ .../habits/show/ShowHabitController.java | 61 ------------------- .../habits/show/ShowHabitRootView.java | 14 +++-- .../habits/show/ShowHabitScreen.java | 57 +++++++++++------ .../habits/show/ShowHabitsMenu.java | 12 ++-- .../habits/show/views/HistoryCard.java | 3 +- .../core/ui/screens/about/AboutBehavior.java | 3 + 17 files changed, 137 insertions(+), 148 deletions(-) create mode 100644 uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutModule.java delete mode 100644 uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitController.java diff --git a/android-base/src/main/java/org/isoron/androidbase/activities/BaseActivity.java b/android-base/src/main/java/org/isoron/androidbase/activities/BaseActivity.java index f58d65200..fae8c82ba 100644 --- a/android-base/src/main/java/org/isoron/androidbase/activities/BaseActivity.java +++ b/android-base/src/main/java/org/isoron/androidbase/activities/BaseActivity.java @@ -118,4 +118,11 @@ abstract public class BaseActivity extends AppCompatActivity { return new BaseExceptionHandler(this); } + + @Override + protected void onResume() + { + super.onResume(); + if(screen != null) screen.reattachDialogs(); + } } diff --git a/android-base/src/main/java/org/isoron/androidbase/activities/BaseRootView.java b/android-base/src/main/java/org/isoron/androidbase/activities/BaseRootView.java index c416d23cc..21c0322f7 100644 --- a/android-base/src/main/java/org/isoron/androidbase/activities/BaseRootView.java +++ b/android-base/src/main/java/org/isoron/androidbase/activities/BaseRootView.java @@ -46,6 +46,9 @@ public abstract class BaseRootView extends FrameLayout protected boolean shouldDisplayHomeAsUp = false; + @Nullable + private BaseScreen screen; + public BaseRootView(@NonNull Context context) { super(context); @@ -91,4 +94,15 @@ public abstract class BaseRootView extends FrameLayout if (view != null) view.setVisibility(GONE); } } + + public void onAttachedToScreen(BaseScreen screen) + { + this.screen = screen; + } + + @Nullable + public BaseScreen getScreen() + { + return screen; + } } diff --git a/android-base/src/main/java/org/isoron/androidbase/activities/BaseScreen.java b/android-base/src/main/java/org/isoron/androidbase/activities/BaseScreen.java index ddff40bc6..f135a6e62 100644 --- a/android-base/src/main/java/org/isoron/androidbase/activities/BaseScreen.java +++ b/android-base/src/main/java/org/isoron/androidbase/activities/BaseScreen.java @@ -157,6 +157,15 @@ public class BaseScreen { } + + /** + * Called after activity has been recreated, and the dialogs should be + * reattached to their controllers. + */ + public void reattachDialogs() + { + } + /** * Sets the menu to be shown by this screen. *

@@ -180,7 +189,7 @@ public class BaseScreen this.rootView = rootView; activity.setContentView(rootView); if (rootView == null) return; - + rootView.onAttachedToScreen(this); invalidateToolbar(); } diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/HabitsApplicationComponent.java b/uhabits-android/src/main/java/org/isoron/uhabits/HabitsApplicationComponent.java index dfc35281a..88f7b5e65 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/HabitsApplicationComponent.java +++ b/uhabits-android/src/main/java/org/isoron/uhabits/HabitsApplicationComponent.java @@ -34,7 +34,6 @@ import org.isoron.uhabits.core.utils.*; import org.isoron.uhabits.intents.*; import org.isoron.uhabits.io.*; import org.isoron.uhabits.models.sqlite.*; -import org.isoron.uhabits.notifications.*; import org.isoron.uhabits.sync.*; import org.isoron.uhabits.tasks.*; import org.isoron.uhabits.widgets.*; @@ -80,8 +79,6 @@ public interface HabitsApplicationComponent ReminderScheduler getReminderScheduler(); - RingtoneManager getRingtoneManager(); - SyncManager getSyncManager(); TaskRunner getTaskRunner(); diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsActivityComponent.java b/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsActivityComponent.java index 8d26af69d..cc4bbc767 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsActivityComponent.java +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsActivityComponent.java @@ -21,6 +21,7 @@ package org.isoron.uhabits.activities; import org.isoron.androidbase.activities.*; import org.isoron.uhabits.*; +import org.isoron.uhabits.activities.about.*; import org.isoron.uhabits.activities.common.dialogs.*; import org.isoron.uhabits.activities.habits.list.*; import org.isoron.uhabits.activities.habits.list.controllers.*; @@ -33,6 +34,7 @@ import dagger.*; @ActivityScope @Component(modules = { ActivityModule.class, + AboutModule.class, HabitsActivityModule.class, ListHabitsModule.class, ShowHabitModule.class, @@ -40,6 +42,10 @@ import dagger.*; }, dependencies = { HabitsApplicationComponent.class }) public interface HabitsActivityComponent { + AboutRootView getAboutRootView(); + + AboutScreen getAboutScreen(); + BaseActivity getActivity(); CheckmarkButtonControllerFactory getCheckmarkButtonControllerFactory(); @@ -48,8 +54,6 @@ public interface HabitsActivityComponent HabitCardListAdapter getHabitCardListAdapter(); - HabitCardListController getHabitCardListController(); - ListHabitsController getListHabitsController(); ListHabitsMenu getListHabitsMenu(); @@ -62,12 +66,6 @@ public interface HabitsActivityComponent NumberButtonControllerFactory getNumberButtonControllerFactory(); - ShowHabitController getShowHabitController(); - - ShowHabitsMenu getShowHabitMenu(); - - ShowHabitRootView getShowHabitRootView(); - ShowHabitScreen getShowHabitScreen(); ThemeSwitcher getThemeSwitcher(); diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutActivity.java b/uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutActivity.java index f413d55dd..408844c7b 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutActivity.java +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutActivity.java @@ -21,9 +21,7 @@ package org.isoron.uhabits.activities.about; import android.os.*; -import org.isoron.uhabits.*; import org.isoron.uhabits.activities.*; -import org.isoron.uhabits.core.ui.screens.about.*; /** * Activity that allows the user to see information about the app itself. @@ -35,11 +33,8 @@ public class AboutActivity extends HabitsActivity protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - HabitsApplicationComponent cmp = getAppComponent(); - AboutScreen screen = new AboutScreen(this, cmp.getIntentFactory()); - AboutBehavior behavior = new AboutBehavior(cmp.getPreferences(), screen); - AboutRootView rootView = new AboutRootView(this, behavior); - screen.setRootView(rootView); + AboutScreen screen = getActivityComponent().getAboutScreen(); + screen.setRootView(getActivityComponent().getAboutRootView()); setScreen(screen); } } diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutModule.java b/uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutModule.java new file mode 100644 index 000000000..f75c2258a --- /dev/null +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutModule.java @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2017 Á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.activities.about; + +import org.isoron.uhabits.core.ui.screens.about.*; + +import dagger.*; + +@Module +public abstract class AboutModule +{ + @Binds + abstract AboutBehavior.Screen getScreen(AboutScreen screen); +} diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutRootView.java b/uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutRootView.java index 116c414d5..1a88668a1 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutRootView.java +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/about/AboutRootView.java @@ -29,6 +29,8 @@ import org.isoron.uhabits.BuildConfig; import org.isoron.uhabits.R; import org.isoron.uhabits.core.ui.screens.about.*; +import javax.inject.*; + import butterknife.*; public class AboutRootView extends BaseRootView @@ -39,7 +41,8 @@ public class AboutRootView extends BaseRootView @NonNull private final AboutBehavior behavior; - public AboutRootView(@NonNull Context context, + @Inject + public AboutRootView(@NonNull @ActivityContext Context context, @NonNull AboutBehavior behavior) { super(context); diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsActivity.java b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsActivity.java index 78d154280..e4116bb3d 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsActivity.java +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsActivity.java @@ -64,7 +64,6 @@ public class ListHabitsActivity extends HabitsActivity screen.setMenu(menu); screen.setController(controller); - screen.setListController(component.getHabitCardListController()); screen.setSelectionMenu(selectionMenu); rootView.setController(controller, selectionMenu); diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.java b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.java index b84597aca..7882b9600 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.java +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.java @@ -30,10 +30,9 @@ import android.widget.*; import org.isoron.androidbase.activities.*; import org.isoron.androidbase.utils.*; -import org.isoron.uhabits.R; +import org.isoron.uhabits.*; import org.isoron.uhabits.activities.common.dialogs.*; import org.isoron.uhabits.activities.habits.edit.*; -import org.isoron.uhabits.activities.habits.list.controllers.*; import org.isoron.uhabits.core.commands.*; import org.isoron.uhabits.core.models.*; import org.isoron.uhabits.core.preferences.*; @@ -48,8 +47,8 @@ import java.util.*; import javax.inject.*; -import static android.content.DialogInterface.*; -import static android.view.inputmethod.EditorInfo.*; +import static android.content.DialogInterface.BUTTON_POSITIVE; +import static android.view.inputmethod.EditorInfo.IME_ACTION_DONE; @ActivityScope public class ListHabitsScreen extends BaseScreen @@ -95,11 +94,6 @@ public class ListHabitsScreen extends BaseScreen @NonNull private Preferences prefs; - @Nullable - private HabitCardListController listController; - - private final ListHabitsRootView rootView; - @Inject public ListHabitsScreen(@NonNull BaseActivity activity, @NonNull CommandRunner commandRunner, @@ -113,7 +107,6 @@ public class ListHabitsScreen extends BaseScreen { super(activity); setRootView(rootView); - this.rootView = rootView; this.prefs = prefs; this.colorPickerFactory = colorPickerFactory; this.commandRunner = commandRunner; @@ -123,11 +116,6 @@ public class ListHabitsScreen extends BaseScreen this.themeSwitcher = themeSwitcher; } - public void setListController(HabitCardListController listController) - { - this.listController = listController; - } - @StringRes private Integer getExecuteString(@NonNull Command command) { diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitActivity.java b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitActivity.java index a32499b80..42178f0ef 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitActivity.java +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitActivity.java @@ -20,7 +20,6 @@ package org.isoron.uhabits.activities.habits.show; import android.os.*; -import android.support.annotation.*; import org.isoron.uhabits.activities.*; @@ -31,30 +30,10 @@ import org.isoron.uhabits.activities.*; */ public class ShowHabitActivity extends HabitsActivity { - - @Nullable - private ShowHabitScreen screen; - @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - - HabitsActivityComponent component = getActivityComponent(); - screen = component.getShowHabitScreen(); - screen.setMenu(component.getShowHabitMenu()); - screen.setController(component.getShowHabitController()); - component - .getShowHabitRootView() - .setController(component.getShowHabitController()); - setScreen(screen); - } - - @Override - protected void onResume() - { - if (screen == null) throw new IllegalStateException(); - super.onResume(); - screen.reattachDialogs(); + setScreen(getActivityComponent().getShowHabitScreen()); } } diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitController.java b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitController.java deleted file mode 100644 index 4cbf41b13..000000000 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitController.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (C) 2017 Á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.activities.habits.show; - -import android.support.annotation.*; - -import org.isoron.uhabits.activities.common.dialogs.*; -import org.isoron.uhabits.activities.habits.show.views.*; -import org.isoron.uhabits.core.ui.screens.habits.show.*; - -import javax.inject.*; - -public class ShowHabitController - implements HistoryCard.Controller, HistoryEditorDialog.Controller -{ - private ShowHabitBehavior behavior; - - private ShowHabitScreen screen; - - @Inject - public ShowHabitController(@NonNull ShowHabitBehavior behavior, - @NonNull ShowHabitScreen screen) - { - this.behavior = behavior; - this.screen = screen; - } - - @Override - public void onEditHistoryButtonClick() - { - behavior.onEditHistory(); - } - - @Override - public void onToggleCheckmark(long timestamp) - { - behavior.onToggleCheckmark(timestamp); - } - - public void onToolbarChanged() - { - screen.invalidateToolbar(); - } -} diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitRootView.java b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitRootView.java index ef440cdf3..b284f6b34 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitRootView.java +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitRootView.java @@ -66,8 +66,8 @@ public class ShowHabitRootView extends BaseRootView @BindView(R.id.toolbar) Toolbar toolbar; - @Nullable - private ShowHabitController controller; + @NonNull + private Controller controller; @Inject public ShowHabitRootView(@NonNull @ActivityContext Context context, @@ -79,6 +79,7 @@ public class ShowHabitRootView extends BaseRootView addView(inflate(getContext(), R.layout.show_habit, null)); ButterKnife.bind(this); + controller = new Controller() {}; setDisplayHomeAsUp(true); initCards(); initToolbar(); @@ -101,10 +102,10 @@ public class ShowHabitRootView extends BaseRootView toolbar.setTitle(habit.getName()); }); - if(controller != null) controller.onToolbarChanged(); + controller.onToolbarChanged(); } - public void setController(@NonNull ShowHabitController controller) + public void setController(@NonNull Controller controller) { this.controller = controller; historyCard.setController(controller); @@ -145,4 +146,9 @@ public class ShowHabitRootView extends BaseRootView else barCard.setVisibility(GONE); } + + public interface Controller extends HistoryCard.Controller + { + default void onToolbarChanged() {} + } } diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitScreen.java b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitScreen.java index d4dda9c16..0d562af86 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitScreen.java +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitScreen.java @@ -22,7 +22,7 @@ package org.isoron.uhabits.activities.habits.show; import android.support.annotation.*; import org.isoron.androidbase.activities.*; -import org.isoron.uhabits.R; +import org.isoron.uhabits.*; import org.isoron.uhabits.activities.common.dialogs.*; import org.isoron.uhabits.activities.habits.edit.*; import org.isoron.uhabits.core.models.*; @@ -30,45 +30,68 @@ import org.isoron.uhabits.core.ui.screens.habits.show.*; import javax.inject.*; +import dagger.*; + @ActivityScope public class ShowHabitScreen extends BaseScreen - implements ShowHabitMenuBehavior.Screen, ShowHabitBehavior.Screen + implements ShowHabitMenuBehavior.Screen, + ShowHabitBehavior.Screen, + HistoryEditorDialog.Controller, + ShowHabitRootView.Controller { @NonNull private final Habit habit; - @Nullable - private ShowHabitController controller; - @NonNull private final EditHabitDialogFactory editHabitDialogFactory; + private final Lazy behavior; + @Inject public ShowHabitScreen(@NonNull BaseActivity activity, @NonNull Habit habit, @NonNull ShowHabitRootView view, - @NonNull EditHabitDialogFactory editHabitDialogFactory) + @NonNull ShowHabitsMenu menu, + @NonNull + EditHabitDialogFactory editHabitDialogFactory, + @NonNull Lazy behavior) { super(activity); + setMenu(menu); setRootView(view); - this.editHabitDialogFactory = editHabitDialogFactory; + this.habit = habit; + this.behavior = behavior; + this.editHabitDialogFactory = editHabitDialogFactory; + view.setController(this); } - public void reattachDialogs() + @Override + public void onEditHistoryButtonClick() { - if (controller == null) throw new IllegalStateException(); + behavior.get().onEditHistory(); + } - HistoryEditorDialog historyEditor = (HistoryEditorDialog) activity - .getSupportFragmentManager() - .findFragmentByTag("historyEditor"); + @Override + public void onToggleCheckmark(long timestamp) + { + behavior.get().onToggleCheckmark(timestamp); + } - if (historyEditor != null) historyEditor.setController(controller); + @Override + public void onToolbarChanged() + { + invalidateToolbar(); } - public void setController(@NonNull ShowHabitController controller) + @Override + public void reattachDialogs() { - this.controller = controller; + super.reattachDialogs(); + HistoryEditorDialog historyEditor = (HistoryEditorDialog) activity + .getSupportFragmentManager() + .findFragmentByTag("historyEditor"); + if (historyEditor != null) historyEditor.setController(this); } @Override @@ -80,11 +103,9 @@ public class ShowHabitScreen extends BaseScreen @Override public void showEditHistoryScreen() { - if (controller == null) throw new IllegalStateException(); - HistoryEditorDialog dialog = new HistoryEditorDialog(); dialog.setHabit(habit); - dialog.setController(controller); + dialog.setController(this); dialog.show(activity.getSupportFragmentManager(), "historyEditor"); } diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitsMenu.java b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitsMenu.java index 318e597c6..fe30a3e31 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitsMenu.java +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitsMenu.java @@ -23,20 +23,22 @@ import android.support.annotation.*; import android.view.*; import org.isoron.androidbase.activities.*; -import org.isoron.uhabits.R; +import org.isoron.uhabits.*; import org.isoron.uhabits.core.ui.screens.habits.show.*; import javax.inject.*; +import dagger.*; + @ActivityScope public class ShowHabitsMenu extends BaseMenu { @NonNull - ShowHabitMenuBehavior behavior; + private Lazy behavior; @Inject public ShowHabitsMenu(@NonNull BaseActivity activity, - @NonNull ShowHabitMenuBehavior behavior) + @NonNull Lazy behavior) { super(activity); this.behavior = behavior; @@ -48,11 +50,11 @@ public class ShowHabitsMenu extends BaseMenu switch (item.getItemId()) { case R.id.action_edit_habit: - behavior.onEditHabit(); + behavior.get().onEditHabit(); return true; case R.id.export: - behavior.onExportCSV(); + behavior.get().onExportCSV(); return true; default: diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/HistoryCard.java b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/HistoryCard.java index a176e698d..e59aecf73 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/HistoryCard.java +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/HistoryCard.java @@ -68,7 +68,6 @@ public class HistoryCard extends HabitCard public void setController(@NonNull Controller controller) { this.controller = controller; - chart.setController(controller); } @Override @@ -102,7 +101,7 @@ public class HistoryCard extends HabitCard chart.populateWithRandomData(); } - public interface Controller extends HistoryChart.Controller + public interface Controller { default void onEditHistoryButtonClick() {} } diff --git a/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/screens/about/AboutBehavior.java b/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/screens/about/AboutBehavior.java index 6fc091fad..17da79732 100644 --- a/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/screens/about/AboutBehavior.java +++ b/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/screens/about/AboutBehavior.java @@ -23,6 +23,8 @@ import android.support.annotation.*; import org.isoron.uhabits.core.preferences.*; +import javax.inject.*; + public class AboutBehavior { private int developerCountdown = 5; @@ -33,6 +35,7 @@ public class AboutBehavior @NonNull private Screen screen; + @Inject public AboutBehavior(@NonNull Preferences prefs, @NonNull Screen screen) { this.prefs = prefs;