|
|
|
@ -24,6 +24,7 @@ import android.os.*;
|
|
|
|
|
import android.support.annotation.*;
|
|
|
|
|
import android.support.v7.app.*;
|
|
|
|
|
import android.text.format.*;
|
|
|
|
|
import android.util.Log;
|
|
|
|
|
import android.view.*;
|
|
|
|
|
|
|
|
|
|
import com.android.datetimepicker.time.*;
|
|
|
|
@ -63,6 +64,9 @@ public class EditHabitDialog extends AppCompatDialogFragment
|
|
|
|
|
@BindView(R.id.namePanel)
|
|
|
|
|
NameDescriptionPanel namePanel;
|
|
|
|
|
|
|
|
|
|
@BindView(R.id.typePanel)
|
|
|
|
|
TypePanel typePanel;
|
|
|
|
|
|
|
|
|
|
@BindView(R.id.reminderPanel)
|
|
|
|
|
ReminderPanel reminderPanel;
|
|
|
|
|
|
|
|
|
@ -112,6 +116,7 @@ public class EditHabitDialog extends AppCompatDialogFragment
|
|
|
|
|
|
|
|
|
|
populateForm();
|
|
|
|
|
setupReminderController();
|
|
|
|
|
setupTypeController();
|
|
|
|
|
setupNameController();
|
|
|
|
|
|
|
|
|
|
return view;
|
|
|
|
@ -138,11 +143,6 @@ public class EditHabitDialog extends AppCompatDialogFragment
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private int getTypeFromArguments()
|
|
|
|
|
{
|
|
|
|
|
return Habit.YES_NO_HABIT;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void initDependencies()
|
|
|
|
|
{
|
|
|
|
|
Context appContext = getContext().getApplicationContext();
|
|
|
|
@ -164,9 +164,9 @@ public class EditHabitDialog extends AppCompatDialogFragment
|
|
|
|
|
@OnClick(R.id.buttonSave)
|
|
|
|
|
void onSaveButtonClick()
|
|
|
|
|
{
|
|
|
|
|
int type = getTypeFromArguments();
|
|
|
|
|
|
|
|
|
|
if (!namePanel.validate()) return;
|
|
|
|
|
|
|
|
|
|
int type = typePanel.getType();
|
|
|
|
|
if (type == Habit.YES_NO_HABIT && !frequencyPanel.validate()) return;
|
|
|
|
|
if (type == Habit.NUMBER_HABIT && !targetPanel.validate()) return;
|
|
|
|
|
|
|
|
|
@ -204,16 +204,24 @@ public class EditHabitDialog extends AppCompatDialogFragment
|
|
|
|
|
private void populateForm()
|
|
|
|
|
{
|
|
|
|
|
Habit habit = modelFactory.buildHabit();
|
|
|
|
|
habit.setFrequency(Frequency.DAILY);
|
|
|
|
|
habit.setColor(prefs.getDefaultHabitColor(habit.getColor()));
|
|
|
|
|
habit.setType(getTypeFromArguments());
|
|
|
|
|
habit.setType(Habit.YES_NO_HABIT);
|
|
|
|
|
habit.setFrequency(Frequency.DAILY);
|
|
|
|
|
|
|
|
|
|
if (originalHabit != null) habit.copyFrom(originalHabit);
|
|
|
|
|
|
|
|
|
|
if (habit.isNumerical()) frequencyPanel.setVisibility(GONE);
|
|
|
|
|
else targetPanel.setVisibility(GONE);
|
|
|
|
|
if (habit.isNumerical())
|
|
|
|
|
{
|
|
|
|
|
frequencyPanel.setVisibility(GONE);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
targetPanel.setVisibility(GONE);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
namePanel.populateFrom(habit);
|
|
|
|
|
typePanel.setType(habit.getType());
|
|
|
|
|
typePanel.setEnabled(originalHabit == null);
|
|
|
|
|
frequencyPanel.setFrequency(habit.getFrequency());
|
|
|
|
|
targetPanel.setTargetValue(habit.getTargetValue());
|
|
|
|
|
targetPanel.setUnit(habit.getUnit());
|
|
|
|
@ -241,6 +249,18 @@ public class EditHabitDialog extends AppCompatDialogFragment
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void setupTypeController()
|
|
|
|
|
{
|
|
|
|
|
typePanel.setController(new TypePanel.Controller()
|
|
|
|
|
{
|
|
|
|
|
@Override
|
|
|
|
|
public void onTypeSelected(Integer previousType)
|
|
|
|
|
{
|
|
|
|
|
Log.d("YOUREIT", "Prev: " + previousType.toString() + " Sel: " + typePanel.getType().toString());
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void setupReminderController()
|
|
|
|
|
{
|
|
|
|
|
reminderPanel.setController(new ReminderPanel.Controller()
|
|
|
|
|