Create switch for numerical habits feature

pull/286/head
Alinson S. Xavier 9 years ago
parent 1d76760dc8
commit 2d07f5e924

@ -100,8 +100,8 @@ public class EditHabitDialog extends AppCompatDialogFragment
initDependencies(); initDependencies();
ButterKnife.bind(this, view); ButterKnife.bind(this, view);
getDialog().setTitle(getTitle());
originalHabit = parseHabitFromArguments(); originalHabit = parseHabitFromArguments();
getDialog().setTitle(getTitle());
populateForm(); populateForm();
setupReminderController(); setupReminderController();
@ -112,7 +112,7 @@ public class EditHabitDialog extends AppCompatDialogFragment
protected int getTitle() protected int getTitle()
{ {
if (originalHabit == null) return R.string.edit_habit; if (originalHabit != null) return R.string.edit_habit;
else return R.string.create_habit; else return R.string.create_habit;
} }

@ -37,6 +37,7 @@ import org.isoron.uhabits.commands.*;
import org.isoron.uhabits.intents.*; import org.isoron.uhabits.intents.*;
import org.isoron.uhabits.io.*; import org.isoron.uhabits.io.*;
import org.isoron.uhabits.models.*; import org.isoron.uhabits.models.*;
import org.isoron.uhabits.preferences.*;
import org.isoron.uhabits.utils.*; import org.isoron.uhabits.utils.*;
import java.io.*; import java.io.*;
@ -94,6 +95,9 @@ public class ListHabitsScreen extends BaseScreen
@NonNull @NonNull
private final ThemeSwitcher themeSwitcher; private final ThemeSwitcher themeSwitcher;
@NonNull
private Preferences prefs;
@Inject @Inject
public ListHabitsScreen(@NonNull BaseActivity activity, public ListHabitsScreen(@NonNull BaseActivity activity,
@NonNull CommandRunner commandRunner, @NonNull CommandRunner commandRunner,
@ -104,10 +108,12 @@ public class ListHabitsScreen extends BaseScreen
@NonNull ConfirmDeleteDialogFactory confirmDeleteDialogFactory, @NonNull ConfirmDeleteDialogFactory confirmDeleteDialogFactory,
@NonNull FilePickerDialogFactory filePickerDialogFactory, @NonNull FilePickerDialogFactory filePickerDialogFactory,
@NonNull ColorPickerDialogFactory colorPickerFactory, @NonNull ColorPickerDialogFactory colorPickerFactory,
@NonNull EditHabitDialogFactory editHabitDialogFactory) @NonNull EditHabitDialogFactory editHabitDialogFactory,
@NonNull Preferences prefs)
{ {
super(activity); super(activity);
setRootView(rootView); setRootView(rootView);
this.prefs = prefs;
this.colorPickerFactory = colorPickerFactory; this.colorPickerFactory = colorPickerFactory;
this.commandRunner = commandRunner; this.commandRunner = commandRunner;
this.confirmDeleteDialogFactory = confirmDeleteDialogFactory; this.confirmDeleteDialogFactory = confirmDeleteDialogFactory;
@ -173,6 +179,12 @@ public class ListHabitsScreen extends BaseScreen
public void showCreateHabitScreen() public void showCreateHabitScreen()
{ {
if(!prefs.isNumericalHabitsFeatureEnabled())
{
showCreateBooleanHabitScreen();
return;
}
Dialog dialog = new AlertDialog.Builder(activity) Dialog dialog = new AlertDialog.Builder(activity)
.setTitle("Type of habit") .setTitle("Type of habit")
.setItems(R.array.habitTypes, (d, which) -> { .setItems(R.array.habitTypes, (d, which) -> {

@ -77,6 +77,11 @@ public class Preferences
} }
} }
public boolean isNumericalHabitsFeatureEnabled()
{
return prefs.getBoolean("pref_feature_numerical_habits", false);
}
public void setDefaultOrder(HabitList.Order order) public void setDefaultOrder(HabitList.Order order)
{ {
prefs.edit().putString("pref_default_order", order.name()).apply(); prefs.edit().putString("pref_default_order", order.name()).apply();

@ -142,6 +142,11 @@
android:key="pref_developer" android:key="pref_developer"
android:title="Enable developer mode"/> android:title="Enable developer mode"/>
<CheckBoxPreference
android:defaultValue="false"
android:key="pref_feature_numerical_habits"
android:title="Enable numerical habits"/>
</PreferenceCategory> </PreferenceCategory>
</PreferenceScreen> </PreferenceScreen>
Loading…
Cancel
Save