diff --git a/app/src/main/java/org/isoron/uhabits/dialogs/EditHabitFragment.java b/app/src/main/java/org/isoron/uhabits/dialogs/EditHabitFragment.java index c88775c76..c4aea772b 100644 --- a/app/src/main/java/org/isoron/uhabits/dialogs/EditHabitFragment.java +++ b/app/src/main/java/org/isoron/uhabits/dialogs/EditHabitFragment.java @@ -7,9 +7,11 @@ import org.isoron.uhabits.R; import org.isoron.uhabits.models.Habit; import android.app.DialogFragment; +import android.content.SharedPreferences; import android.graphics.Color; import android.graphics.ColorMatrix; import android.os.Bundle; +import android.preference.PreferenceManager; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; @@ -35,6 +37,8 @@ public class EditHabitFragment extends DialogFragment implements OnClickListener private Habit originalHabit, modified_habit; private TextView tvName, tvDescription, tvFreqNum, tvFreqDen, tvInputReminder; + private SharedPreferences prefs; + static class SolidColorMatrix extends ColorMatrix { public SolidColorMatrix(int color) @@ -93,6 +97,8 @@ public class EditHabitFragment extends DialogFragment implements OnClickListener ImageButton buttonPickColor = (ImageButton) view.findViewById(R.id.button_pick_color); + prefs = PreferenceManager.getDefaultSharedPreferences(getActivity()); + Bundle args = getArguments(); mode = (Integer) args.get("editMode"); @@ -100,7 +106,15 @@ public class EditHabitFragment extends DialogFragment implements OnClickListener { getDialog().setTitle("Create habit"); modified_habit = new Habit(); - } + + int defaultNum = prefs.getInt("pref_default_habit_freq_num", modified_habit.freq_num); + int defaultDen = prefs.getInt("pref_default_habit_freq_den", modified_habit.freq_den); + int defaultColor = prefs.getInt("pref_default_habit_color", modified_habit.color); + + modified_habit.color = defaultColor; + modified_habit.freq_num = defaultNum; + modified_habit.freq_den = defaultDen; + } else if(mode == EDIT_MODE) { originalHabit = Habit.get((Long) args.get("habitId")); @@ -109,12 +123,11 @@ public class EditHabitFragment extends DialogFragment implements OnClickListener getDialog().setTitle("Edit habit"); tvName.append(modified_habit.name); tvDescription.append(modified_habit.description); - tvFreqNum.setText(null); - tvFreqDen.setText(null); - tvFreqNum.append(modified_habit.freq_num.toString()); - tvFreqDen.append(modified_habit.freq_den.toString()); } + tvFreqNum.append(modified_habit.freq_num.toString()); + tvFreqDen.append(modified_habit.freq_den.toString()); + changeColor(modified_habit.color); updateReminder(); @@ -130,7 +143,6 @@ public class EditHabitFragment extends DialogFragment implements OnClickListener { public void onColorSelected(int color) { - modified_habit.color = color; changeColor(color); } }); @@ -143,15 +155,14 @@ public class EditHabitFragment extends DialogFragment implements OnClickListener private void changeColor(Integer color) { -// SolidColorMatrix matrix = new SolidColorMatrix(color); -// ColorMatrixColorFilter filter = new ColorMatrixColorFilter(matrix); -// Drawable background = getActivity().getResources().getDrawable( -// R.drawable.apptheme_edit_text_holo_light); -// background.setColorFilter(filter); -// tvName.setBackgroundDrawable(background); + modified_habit.color = color; tvName.setTextColor(color); + + SharedPreferences.Editor editor = prefs.edit(); + editor.putInt("pref_default_habit_color", color); + editor.apply(); } - + private void updateReminder() { if(modified_habit.reminder_hour != null) @@ -186,12 +197,12 @@ public class EditHabitFragment extends DialogFragment implements OnClickListener { int default_hour = 8; int default_min = 0; - + if(modified_habit.reminder_hour != null) { default_hour = modified_habit.reminder_hour; default_min = modified_habit.reminder_min; } - + TimePickerDialog timePicker = TimePickerDialog.newInstance(new OnTimeSetListener() { @@ -247,6 +258,11 @@ public class EditHabitFragment extends DialogFragment implements OnClickListener if(!valid) return; + SharedPreferences.Editor editor = prefs.edit(); + editor.putInt("pref_default_habit_freq_num", modified_habit.freq_num); + editor.putInt("pref_default_habit_freq_den", modified_habit.freq_den); + editor.apply(); + if(mode == EDIT_MODE) command = originalHabit.new EditCommand(modified_habit); diff --git a/app/src/main/java/org/isoron/uhabits/models/Habit.java b/app/src/main/java/org/isoron/uhabits/models/Habit.java index 7891ac44f..996245d79 100644 --- a/app/src/main/java/org/isoron/uhabits/models/Habit.java +++ b/app/src/main/java/org/isoron/uhabits/models/Habit.java @@ -70,10 +70,12 @@ public class Habit extends Model public Habit() { - this.color = ColorHelper.palette[7]; + this.color = ColorHelper.palette[5]; this.position = Habit.getCount(); this.highlight = 0; this.archived = 0; + this.freq_den = 7; + this.freq_num = 3; } public static Habit get(Long id) diff --git a/app/src/main/res/layout/edit_habit.xml b/app/src/main/res/layout/edit_habit.xml index 58cd07556..f0f8eaccc 100644 --- a/app/src/main/res/layout/edit_habit.xml +++ b/app/src/main/res/layout/edit_habit.xml @@ -43,7 +43,6 @@ Description Description Repeat - 3 times every - 7 days Reminder Discard