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;