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