|
|
@ -19,7 +19,6 @@ package org.isoron.uhabits.dialogs;
|
|
|
|
import android.app.DialogFragment;
|
|
|
|
import android.app.DialogFragment;
|
|
|
|
import android.content.SharedPreferences;
|
|
|
|
import android.content.SharedPreferences;
|
|
|
|
import android.graphics.Color;
|
|
|
|
import android.graphics.Color;
|
|
|
|
import android.graphics.ColorMatrix;
|
|
|
|
|
|
|
|
import android.os.Bundle;
|
|
|
|
import android.os.Bundle;
|
|
|
|
import android.preference.PreferenceManager;
|
|
|
|
import android.preference.PreferenceManager;
|
|
|
|
import android.text.format.DateFormat;
|
|
|
|
import android.text.format.DateFormat;
|
|
|
@ -46,33 +45,18 @@ import org.isoron.uhabits.models.Habit;
|
|
|
|
|
|
|
|
|
|
|
|
public class EditHabitFragment extends DialogFragment implements OnClickListener
|
|
|
|
public class EditHabitFragment extends DialogFragment implements OnClickListener
|
|
|
|
{
|
|
|
|
{
|
|
|
|
private int mode;
|
|
|
|
private Integer mode;
|
|
|
|
static final int EDIT_MODE = 0;
|
|
|
|
static final int EDIT_MODE = 0;
|
|
|
|
static final int CREATE_MODE = 1;
|
|
|
|
static final int CREATE_MODE = 1;
|
|
|
|
|
|
|
|
|
|
|
|
private OnSavedListener onSavedListener;
|
|
|
|
private OnSavedListener onSavedListener;
|
|
|
|
|
|
|
|
|
|
|
|
private Habit originalHabit, modified_habit;
|
|
|
|
private Habit originalHabit, modifiedHabit;
|
|
|
|
private TextView tvName, tvDescription, tvFreqNum, tvFreqDen, tvInputReminder;
|
|
|
|
private TextView tvName, tvDescription, tvFreqNum, tvFreqDen, tvInputReminder;
|
|
|
|
|
|
|
|
|
|
|
|
private SharedPreferences prefs;
|
|
|
|
private SharedPreferences prefs;
|
|
|
|
private boolean is24HourMode;
|
|
|
|
private boolean is24HourMode;
|
|
|
|
|
|
|
|
|
|
|
|
static class SolidColorMatrix extends ColorMatrix
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
public SolidColorMatrix(int color)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
float matrix[] = {0.0f, 0.0f, 0.0f, 0.0f, Color.red(color), 0.0f, 0.0f, 0.0f, 0.0f,
|
|
|
|
|
|
|
|
Color.green(color), 0.0f, 0.0f, 0.0f, 0.0f, Color.blue(color), 0.0f, 0.0f, 0.0f,
|
|
|
|
|
|
|
|
1.0f, 0};
|
|
|
|
|
|
|
|
set(matrix);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
|
|
|
|
|
|
* Factory *
|
|
|
|
|
|
|
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static EditHabitFragment editSingleHabitFragment(long id)
|
|
|
|
static EditHabitFragment editSingleHabitFragment(long id)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
EditHabitFragment frag = new EditHabitFragment();
|
|
|
|
EditHabitFragment frag = new EditHabitFragment();
|
|
|
@ -92,11 +76,7 @@ public class EditHabitFragment extends DialogFragment implements OnClickListener
|
|
|
|
return frag;
|
|
|
|
return frag;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
|
|
@Override
|
|
|
|
* Creation *
|
|
|
|
|
|
|
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
|
|
|
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
|
|
|
Bundle savedInstanceState)
|
|
|
|
Bundle savedInstanceState)
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -105,7 +85,7 @@ public class EditHabitFragment extends DialogFragment implements OnClickListener
|
|
|
|
tvDescription = (TextView) view.findViewById(R.id.input_description);
|
|
|
|
tvDescription = (TextView) view.findViewById(R.id.input_description);
|
|
|
|
tvFreqNum = (TextView) view.findViewById(R.id.input_freq_num);
|
|
|
|
tvFreqNum = (TextView) view.findViewById(R.id.input_freq_num);
|
|
|
|
tvFreqDen = (TextView) view.findViewById(R.id.input_freq_den);
|
|
|
|
tvFreqDen = (TextView) view.findViewById(R.id.input_freq_den);
|
|
|
|
tvInputReminder = (TextView) view.findViewById(R.id.input_reminder_time);
|
|
|
|
tvInputReminder = (TextView) view.findViewById(R.id.inputReminderTime);
|
|
|
|
|
|
|
|
|
|
|
|
Button buttonSave = (Button) view.findViewById(R.id.buttonSave);
|
|
|
|
Button buttonSave = (Button) view.findViewById(R.id.buttonSave);
|
|
|
|
Button buttonDiscard = (Button) view.findViewById(R.id.buttonDiscard);
|
|
|
|
Button buttonDiscard = (Button) view.findViewById(R.id.buttonDiscard);
|
|
|
@ -114,70 +94,52 @@ public class EditHabitFragment extends DialogFragment implements OnClickListener
|
|
|
|
buttonDiscard.setOnClickListener(this);
|
|
|
|
buttonDiscard.setOnClickListener(this);
|
|
|
|
tvInputReminder.setOnClickListener(this);
|
|
|
|
tvInputReminder.setOnClickListener(this);
|
|
|
|
|
|
|
|
|
|
|
|
ImageButton buttonPickColor = (ImageButton) view.findViewById(R.id.button_pick_color);
|
|
|
|
ImageButton buttonPickColor = (ImageButton) view.findViewById(R.id.buttonPickColor);
|
|
|
|
|
|
|
|
|
|
|
|
prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
|
|
|
|
prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
|
|
|
|
|
|
|
|
|
|
|
|
Bundle args = getArguments();
|
|
|
|
Bundle args = getArguments();
|
|
|
|
mode = (Integer) args.get("editMode");
|
|
|
|
mode = (Integer) args.get("editMode");
|
|
|
|
|
|
|
|
|
|
|
|
is24HourMode = DateFormat.is24HourFormat(getContext());
|
|
|
|
is24HourMode = DateFormat.is24HourFormat(getActivity());
|
|
|
|
|
|
|
|
|
|
|
|
if (mode == CREATE_MODE)
|
|
|
|
if (mode == CREATE_MODE)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
getDialog().setTitle("Create habit");
|
|
|
|
getDialog().setTitle("Create habit");
|
|
|
|
modified_habit = new Habit();
|
|
|
|
modifiedHabit = new Habit();
|
|
|
|
|
|
|
|
|
|
|
|
int defaultNum = prefs.getInt("pref_default_habit_freq_num", modified_habit.freq_num);
|
|
|
|
int defaultNum = prefs.getInt("pref_default_habit_freq_num", modifiedHabit.freqNum);
|
|
|
|
int defaultDen = prefs.getInt("pref_default_habit_freq_den", modified_habit.freq_den);
|
|
|
|
int defaultDen = prefs.getInt("pref_default_habit_freq_den", modifiedHabit.freqDen);
|
|
|
|
int defaultColor = prefs.getInt("pref_default_habit_color", modified_habit.color);
|
|
|
|
int defaultColor = prefs.getInt("pref_default_habit_color", modifiedHabit.color);
|
|
|
|
|
|
|
|
|
|
|
|
modified_habit.color = defaultColor;
|
|
|
|
modifiedHabit.color = defaultColor;
|
|
|
|
modified_habit.freq_num = defaultNum;
|
|
|
|
modifiedHabit.freqNum = defaultNum;
|
|
|
|
modified_habit.freq_den = defaultDen;
|
|
|
|
modifiedHabit.freqDen = defaultDen;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (mode == EDIT_MODE)
|
|
|
|
else if (mode == EDIT_MODE)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
originalHabit = Habit.get((Long) args.get("habitId"));
|
|
|
|
originalHabit = Habit.get((Long) args.get("habitId"));
|
|
|
|
modified_habit = new Habit(originalHabit);
|
|
|
|
modifiedHabit = new Habit(originalHabit);
|
|
|
|
|
|
|
|
|
|
|
|
getDialog().setTitle("Edit habit");
|
|
|
|
getDialog().setTitle("Edit habit");
|
|
|
|
tvName.append(modified_habit.name);
|
|
|
|
tvName.append(modifiedHabit.name);
|
|
|
|
tvDescription.append(modified_habit.description);
|
|
|
|
tvDescription.append(modifiedHabit.description);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
tvFreqNum.append(modified_habit.freq_num.toString());
|
|
|
|
tvFreqNum.append(modifiedHabit.freqNum.toString());
|
|
|
|
tvFreqDen.append(modified_habit.freq_den.toString());
|
|
|
|
tvFreqDen.append(modifiedHabit.freqDen.toString());
|
|
|
|
|
|
|
|
|
|
|
|
changeColor(modified_habit.color);
|
|
|
|
changeColor(modifiedHabit.color);
|
|
|
|
updateReminder();
|
|
|
|
updateReminder();
|
|
|
|
|
|
|
|
|
|
|
|
buttonPickColor.setOnClickListener(new OnClickListener()
|
|
|
|
buttonPickColor.setOnClickListener(this);
|
|
|
|
{
|
|
|
|
|
|
|
|
public void onClick(View view)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
ColorPickerDialog picker =
|
|
|
|
|
|
|
|
ColorPickerDialog.newInstance(R.string.color_picker_default_title,
|
|
|
|
|
|
|
|
ColorHelper.palette, modified_habit.color, 4,
|
|
|
|
|
|
|
|
ColorPickerDialog.SIZE_SMALL);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
picker.setOnColorSelectedListener(new ColorPickerSwatch.OnColorSelectedListener()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
public void onColorSelected(int color)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
changeColor(color);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
picker.show(getFragmentManager(), "picker");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return view;
|
|
|
|
return view;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void changeColor(Integer color)
|
|
|
|
private void changeColor(Integer color)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
modified_habit.color = color;
|
|
|
|
modifiedHabit.color = color;
|
|
|
|
tvName.setTextColor(color);
|
|
|
|
tvName.setTextColor(color);
|
|
|
|
|
|
|
|
|
|
|
|
SharedPreferences.Editor editor = prefs.edit();
|
|
|
|
SharedPreferences.Editor editor = prefs.edit();
|
|
|
@ -187,17 +149,16 @@ public class EditHabitFragment extends DialogFragment implements OnClickListener
|
|
|
|
|
|
|
|
|
|
|
|
private void updateReminder()
|
|
|
|
private void updateReminder()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (modified_habit.reminder_hour != null)
|
|
|
|
if (modifiedHabit.reminderHour != null)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
tvInputReminder.setTextColor(Color.BLACK);
|
|
|
|
tvInputReminder.setTextColor(Color.BLACK);
|
|
|
|
tvInputReminder.setText(
|
|
|
|
tvInputReminder.setText(DateHelper.formatTime(getActivity(),
|
|
|
|
DateHelper.formatTime(getActivity(), modified_habit.reminder_hour,
|
|
|
|
modifiedHabit.reminderHour, modifiedHabit.reminderMin));
|
|
|
|
modified_habit.reminder_min));
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
tvInputReminder.setTextColor(Color.GRAY);
|
|
|
|
tvInputReminder.setTextColor(Color.GRAY);
|
|
|
|
tvInputReminder.setText("Off");
|
|
|
|
tvInputReminder.setText(R.string.reminder_off);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -206,105 +167,131 @@ public class EditHabitFragment extends DialogFragment implements OnClickListener
|
|
|
|
this.onSavedListener = onSavedListener;
|
|
|
|
this.onSavedListener = onSavedListener;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
|
|
@Override
|
|
|
|
* Callback *
|
|
|
|
|
|
|
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public void onClick(View v)
|
|
|
|
public void onClick(View v)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
int id = v.getId();
|
|
|
|
switch(v.getId())
|
|
|
|
|
|
|
|
|
|
|
|
/* Due date spinner */
|
|
|
|
|
|
|
|
if (id == R.id.input_reminder_time)
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
int default_hour = 8;
|
|
|
|
case R.id.inputReminderTime:
|
|
|
|
int default_min = 0;
|
|
|
|
onDateSpinnerClick();
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
if (modified_habit.reminder_hour != null)
|
|
|
|
case R.id.buttonSave:
|
|
|
|
{
|
|
|
|
onSaveButtonClick();
|
|
|
|
default_hour = modified_habit.reminder_hour;
|
|
|
|
break;
|
|
|
|
default_min = modified_habit.reminder_min;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TimePickerDialog timePicker = TimePickerDialog.newInstance(new OnTimeSetListener()
|
|
|
|
case R.id.buttonDiscard:
|
|
|
|
{
|
|
|
|
dismiss();
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
case R.id.buttonPickColor:
|
|
|
|
public void onTimeSet(RadialPickerLayout view, int hour, int minute)
|
|
|
|
onColorButtonClick();
|
|
|
|
{
|
|
|
|
break;
|
|
|
|
modified_habit.reminder_hour = hour;
|
|
|
|
|
|
|
|
modified_habit.reminder_min = minute;
|
|
|
|
|
|
|
|
updateReminder();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public void onTimeCleared(RadialPickerLayout view)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
modified_habit.reminder_hour = null;
|
|
|
|
|
|
|
|
modified_habit.reminder_min = null;
|
|
|
|
|
|
|
|
updateReminder();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}, default_hour, default_min, is24HourMode);
|
|
|
|
|
|
|
|
timePicker.show(getFragmentManager(), "timePicker");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void onColorButtonClick()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
ColorPickerDialog picker = ColorPickerDialog.newInstance(
|
|
|
|
|
|
|
|
R.string.color_picker_default_title, ColorHelper.palette, modifiedHabit.color, 4,
|
|
|
|
|
|
|
|
ColorPickerDialog.SIZE_SMALL);
|
|
|
|
|
|
|
|
|
|
|
|
/* Save button */
|
|
|
|
picker.setOnColorSelectedListener(new ColorPickerSwatch.OnColorSelectedListener()
|
|
|
|
if (id == R.id.buttonSave)
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Command command = null;
|
|
|
|
public void onColorSelected(int color)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
changeColor(color);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
picker.show(getFragmentManager(), "picker");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
modified_habit.name = tvName.getText().toString().trim();
|
|
|
|
private void onSaveButtonClick()
|
|
|
|
modified_habit.description = tvDescription.getText().toString().trim();
|
|
|
|
{
|
|
|
|
modified_habit.freq_num = Integer.parseInt(tvFreqNum.getText().toString());
|
|
|
|
Command command = null;
|
|
|
|
modified_habit.freq_den = Integer.parseInt(tvFreqDen.getText().toString());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Boolean valid = true;
|
|
|
|
modifiedHabit.name = tvName.getText().toString().trim();
|
|
|
|
|
|
|
|
modifiedHabit.description = tvDescription.getText().toString().trim();
|
|
|
|
|
|
|
|
modifiedHabit.freqNum = Integer.parseInt(tvFreqNum.getText().toString());
|
|
|
|
|
|
|
|
modifiedHabit.freqDen = Integer.parseInt(tvFreqDen.getText().toString());
|
|
|
|
|
|
|
|
|
|
|
|
if (modified_habit.name.length() == 0)
|
|
|
|
if (!validate()) return;
|
|
|
|
{
|
|
|
|
|
|
|
|
tvName.setError("Name cannot be blank.");
|
|
|
|
|
|
|
|
valid = false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (modified_habit.freq_den <= 0)
|
|
|
|
SharedPreferences.Editor editor = prefs.edit();
|
|
|
|
{
|
|
|
|
editor.putInt("pref_default_habit_freq_num", modifiedHabit.freqNum);
|
|
|
|
tvFreqNum.setError("Number must be positive.");
|
|
|
|
editor.putInt("pref_default_habit_freq_den", modifiedHabit.freqDen);
|
|
|
|
valid = false;
|
|
|
|
editor.apply();
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (modified_habit.freq_num > modified_habit.freq_den)
|
|
|
|
Habit savedHabit = null;
|
|
|
|
{
|
|
|
|
|
|
|
|
tvFreqNum.setError("You can have at most one repetition per day");
|
|
|
|
|
|
|
|
valid = false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!valid) return;
|
|
|
|
if (mode == EDIT_MODE)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
command = originalHabit.new EditCommand(modifiedHabit);
|
|
|
|
|
|
|
|
savedHabit = originalHabit;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
SharedPreferences.Editor editor = prefs.edit();
|
|
|
|
if (mode == CREATE_MODE) command = new Habit.CreateCommand(modifiedHabit);
|
|
|
|
editor.putInt("pref_default_habit_freq_num", modified_habit.freq_num);
|
|
|
|
|
|
|
|
editor.putInt("pref_default_habit_freq_den", modified_habit.freq_den);
|
|
|
|
|
|
|
|
editor.apply();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Habit savedHabit = null;
|
|
|
|
if (onSavedListener != null) onSavedListener.onSaved(command, savedHabit);
|
|
|
|
|
|
|
|
|
|
|
|
if (mode == EDIT_MODE)
|
|
|
|
dismiss();
|
|
|
|
{
|
|
|
|
}
|
|
|
|
command = originalHabit.new EditCommand(modified_habit);
|
|
|
|
|
|
|
|
savedHabit = originalHabit;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (mode == CREATE_MODE) command = new Habit.CreateCommand(modified_habit);
|
|
|
|
private boolean validate()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
Boolean valid = true;
|
|
|
|
|
|
|
|
|
|
|
|
if (onSavedListener != null) onSavedListener.onSaved(command, savedHabit);
|
|
|
|
if (modifiedHabit.name.length() == 0)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
tvName.setError(getString(R.string.validation_name_should_not_be_blank));
|
|
|
|
|
|
|
|
valid = false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
dismiss();
|
|
|
|
if (modifiedHabit.freqNum <= 0)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
tvFreqNum.setError(getString(R.string.validation_number_should_be_positive));
|
|
|
|
|
|
|
|
valid = false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* Discard button */
|
|
|
|
if (modifiedHabit.freqNum > modifiedHabit.freqDen)
|
|
|
|
if (id == R.id.buttonDiscard)
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
dismiss();
|
|
|
|
tvFreqNum.setError(getString(R.string.validation_at_most_one_rep_per_day));
|
|
|
|
|
|
|
|
valid = false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return valid;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void onDateSpinnerClick()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
int defaultHour = 8;
|
|
|
|
|
|
|
|
int defaultMin = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (modifiedHabit.reminderHour != null)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
defaultHour = modifiedHabit.reminderHour;
|
|
|
|
|
|
|
|
defaultMin = modifiedHabit.reminderMin;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TimePickerDialog timePicker = TimePickerDialog.newInstance(new OnTimeSetListener()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public void onTimeSet(RadialPickerLayout view, int hour, int minute)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
modifiedHabit.reminderHour = hour;
|
|
|
|
|
|
|
|
modifiedHabit.reminderMin = minute;
|
|
|
|
|
|
|
|
updateReminder();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public void onTimeCleared(RadialPickerLayout view)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
modifiedHabit.reminderHour = null;
|
|
|
|
|
|
|
|
modifiedHabit.reminderMin = null;
|
|
|
|
|
|
|
|
updateReminder();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}, defaultHour, defaultMin, is24HourMode);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
timePicker.show(getFragmentManager(), "timePicker");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|