Move repeat control to task edit screen

pull/253/head
Alex Baker 11 years ago
parent d8724951d3
commit 7c86c75307

@ -362,6 +362,8 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener {
GCalControlSet gcalControl = new GCalControlSet(preferences, gcalHelper, getActivity()); GCalControlSet gcalControl = new GCalControlSet(preferences, gcalHelper, getActivity());
controlSetMap.put(getString(R.string.TEA_ctrl_repeat_pref), repeatControls);
// The deadline control set contains the repeat controls and the // The deadline control set contains the repeat controls and the
// calendar controls. // calendar controls.
// NOTE: we add the gcalControl AFTER the // NOTE: we add the gcalControl AFTER the
@ -369,10 +371,8 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener {
// otherwise the correct date may not be written to the calendar event. // otherwise the correct date may not be written to the calendar event.
// Order matters! // Order matters!
DeadlineControlSet deadlineControl = new DeadlineControlSet( DeadlineControlSet deadlineControl = new DeadlineControlSet(
preferences, getActivity(), R.layout.control_set_deadline, repeatControls, preferences, getActivity(), R.layout.control_set_deadline, gcalControl.getDisplayView());
repeatControls.getDisplayView(), gcalControl.getDisplayView()); controlSetMap.put(getString(R.string.TEA_ctrl_when_pref), deadlineControl);
controlSetMap.put(getString(R.string.TEA_ctrl_when_pref),
deadlineControl);
controls.add(repeatControls); controls.add(repeatControls);
repeatControls.addListener(editTitle); repeatControls.addListener(editTitle);
controls.add(deadlineControl); controls.add(deadlineControl);
@ -385,7 +385,6 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener {
importanceControl); importanceControl);
DescriptionControlSet notesControlSet = new DescriptionControlSet(getActivity()); DescriptionControlSet notesControlSet = new DescriptionControlSet(getActivity());
EditText notesEditText = (EditText) notesControlSet.getView().findViewById(R.id.notes);
controls.add(notesControlSet); controls.add(notesControlSet);
controlSetMap.put(getString(R.string.TEA_ctrl_notes_pref), controlSetMap.put(getString(R.string.TEA_ctrl_notes_pref),
notesControlSet); notesControlSet);

@ -17,7 +17,6 @@ import android.widget.ArrayAdapter;
import android.widget.Button; import android.widget.Button;
import android.widget.CheckBox; import android.widget.CheckBox;
import android.widget.CompoundButton; import android.widget.CompoundButton;
import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.Spinner; import android.widget.Spinner;
import android.widget.TextView; import android.widget.TextView;
@ -379,50 +378,26 @@ public class RepeatControlSet extends PopupControlSet {
} }
} }
public boolean isRecurrenceSet() {
return doRepeat;
}
/**
* @return the recurrence display string if set, null
* if not set
*/
public String getStringForExternalDisplay() {
if (isRecurrenceSet()) {
return getRepeatString(false);
}
return null;
}
@Override @Override
protected void refreshDisplayView() { protected void refreshDisplayView() {
TextView repeatDisplay = (TextView) getDisplayView().findViewById(R.id.display_row_edit); TextView repeatDisplay = (TextView) getDisplayView().findViewById(R.id.display_row_edit);
ImageView repeatImage = (ImageView) getDisplayView().findViewById(R.id.display_row_icon);
if (doRepeat) { if (doRepeat) {
repeatDisplay.setText(getRepeatString(true)); repeatDisplay.setText(getRepeatString());
repeatDisplay.setTextColor(themeColor); repeatDisplay.setTextColor(themeColor);
repeatImage.setImageResource(R.drawable.tea_icn_repeat);
} else { } else {
repeatDisplay.setTextColor(unsetColor); repeatDisplay.setTextColor(unsetColor);
repeatDisplay.setText(R.string.repeat_never); repeatDisplay.setText(R.string.repeat_never);
repeatImage.setImageResource(R.drawable.tea_icn_repeat_gray);
} }
} }
private String getRepeatString(boolean useAbbrev) { private String getRepeatString() {
int arrayResource; int arrayResource = R.array.repeat_interval;
if (useAbbrev) {
arrayResource = R.array.repeat_interval_short;
} else {
arrayResource = R.array.repeat_interval;
}
String[] dates = activity.getResources().getStringArray( String[] dates = activity.getResources().getStringArray(
arrayResource); arrayResource);
String date = String.format("%s %s", repeatValue, dates[intervalValue]); //$NON-NLS-1$ String date = String.format("%s %s", repeatValue, dates[intervalValue]); //$NON-NLS-1$
if (repeatUntilValue > 0) { if (repeatUntilValue > 0) {
return activity.getString(R.string.repeat_detail_duedate_until, date, DateAndTimePicker.getDisplayString(activity, repeatUntilValue, useAbbrev, useAbbrev)); return activity.getString(R.string.repeat_detail_duedate_until, date, DateAndTimePicker.getDisplayString(activity, repeatUntilValue, false, false));
} else { } else {
return activity.getString(R.string.repeat_detail_duedate, date); // Every freq int return activity.getString(R.string.repeat_detail_duedate, date); // Every freq int
} }

@ -20,7 +20,6 @@ import android.widget.TextView;
import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.repeats.RepeatControlSet;
import org.tasks.R; import org.tasks.R;
import org.tasks.preferences.ActivityPreferences; import org.tasks.preferences.ActivityPreferences;
@ -28,14 +27,12 @@ import org.tasks.preferences.ActivityPreferences;
public class DeadlineControlSet extends PopupControlSet { public class DeadlineControlSet extends PopupControlSet {
private DateAndTimePicker dateAndTimePicker; private DateAndTimePicker dateAndTimePicker;
private final View[] extraViews; private final View extraView;
private final RepeatControlSet repeatControlSet;
public DeadlineControlSet(ActivityPreferences preferences, Activity activity, int displayViewLayout, public DeadlineControlSet(ActivityPreferences preferences, Activity activity, int displayViewLayout,
RepeatControlSet repeatControlSet, View...extraViews) { View extraViews) {
super(preferences, activity, R.layout.control_set_deadline_dialog, displayViewLayout, 0); super(preferences, activity, R.layout.control_set_deadline_dialog, displayViewLayout, 0);
this.extraViews = extraViews; this.extraView = extraViews;
this.repeatControlSet = repeatControlSet;
} }
@Override @Override
@ -50,13 +47,6 @@ public class DeadlineControlSet extends PopupControlSet {
displayString.append(DateAndTimePicker.getDisplayString(activity, model.getDueDate(), false, false)); displayString.append(DateAndTimePicker.getDisplayString(activity, model.getDueDate(), false, false));
} }
if (repeatControlSet != null) {
String repeatString = repeatControlSet.getStringForExternalDisplay();
if (!TextUtils.isEmpty(repeatString)) {
displayString.append("\n"); //$NON-NLS-1$
displayString.append(repeatString);
}
}
TextView dateDisplay = (TextView) getDisplayView().findViewById(R.id.display_row_edit); TextView dateDisplay = (TextView) getDisplayView().findViewById(R.id.display_row_edit);
if (TextUtils.isEmpty(displayString)) { if (TextUtils.isEmpty(displayString)) {
dateDisplay.setText(R.string.TEA_deadline_hint); dateDisplay.setText(R.string.TEA_deadline_hint);
@ -75,9 +65,9 @@ public class DeadlineControlSet extends PopupControlSet {
protected void afterInflate() { protected void afterInflate() {
dateAndTimePicker = (DateAndTimePicker) getView().findViewById(R.id.date_and_time); dateAndTimePicker = (DateAndTimePicker) getView().findViewById(R.id.date_and_time);
LinearLayout extras = (LinearLayout) getView().findViewById(R.id.datetime_extras); LinearLayout extras = (LinearLayout) getView().findViewById(R.id.datetime_extras);
for (View v : extraViews) { if (extraView != null) {
LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT, 1.0f); LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT, 1.0f);
extras.addView(v, lp); extras.addView(extraView, lp);
} }
LinearLayout body = (LinearLayout) getView().findViewById(R.id.datetime_body); LinearLayout body = (LinearLayout) getView().findViewById(R.id.datetime_body);

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 871 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1019 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 859 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 599 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

@ -4,40 +4,41 @@
** **
** See the file "LICENSE" for the full license governing this code. ** See the file "LICENSE" for the full license governing this code.
--> -->
<LinearLayout <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:orientation="vertical" android:layout_height="wrap_content"
android:layout_width="fill_parent" android:orientation="horizontal">
android:layout_height="fill_parent">
<ImageView
android:src="?attr/ic_action_reload"
android:contentDescription="@string/repeat_until_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:padding="@dimen/task_edit_drawable_padding" />
<!-- tags -->
<LinearLayout <LinearLayout
android:id="@+id/repeat_body"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="50dip" android:layout_height="wrap_content"
android:gravity="center_vertical"> android:orientation="vertical">
<ImageView android:id="@+id/display_row_icon"
android:layout_marginRight="10dip"
android:layout_width="20dip"
android:layout_height="20dip"
android:scaleType="fitCenter"/>
<TextView <TextView
android:id="@+id/display_row_edit" android:id="@+id/display_row_edit"
android:layout_width="fill_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_gravity="top"
android:gravity="left" android:gravity="start"
android:paddingLeft="5dip" android:textColor="?attr/asThemeTextColor"
android:textColor="?attr/asThemeTextColor" /> android:textSize="@dimen/task_edit_text_size"
<View android:paddingTop="@dimen/task_edit_padding_top_bottom"
android:layout_width="1px" android:paddingBottom="@dimen/task_edit_padding_top_bottom"
android:layout_height="fill_parent" android:layout_marginTop="@dimen/task_edit_padding_top_bottom"
android:background="?android:attr/listDivider" /> android:layout_marginBottom="@dimen/task_edit_padding_top_bottom"
android:paddingRight="@dimen/task_edit_padding_right"
android:paddingEnd="@dimen/task_edit_padding_right" />
<include layout="@layout/task_edit_divider"/>
</LinearLayout> </LinearLayout>
<View
android:layout_width="fill_parent"
android:layout_height="1px"
android:padding="5dip"
android:background="?android:attr/listDivider" />
</LinearLayout> </LinearLayout>

@ -46,6 +46,7 @@
<attr name="ic_action_box" format="reference" /> <attr name="ic_action_box" format="reference" />
<attr name="ic_action_bell" format="reference" /> <attr name="ic_action_bell" format="reference" />
<attr name="ic_action_alarm" format="reference" /> <attr name="ic_action_alarm" format="reference" />
<attr name="ic_action_reload" format="reference" />
<attr name="drawer_text" format="color"/> <attr name="drawer_text" format="color"/>
<attr name="importance_background_selected" format="reference"/> <attr name="importance_background_selected" format="reference"/>
<attr name="tea_icn_addcal" format="reference"/> <attr name="tea_icn_addcal" format="reference"/>

@ -238,8 +238,13 @@
<item >@string/TEA_control_hidden_section</item> <item >@string/TEA_control_hidden_section</item>
</string-array> </string-array>
<string name="p_use_dark_theme">use_dark_theme</string>
<string name="p_use_dark_theme_widget">use_dark_theme_widget</string>
<string name="p_debug_logging">debug_logging</string>
<string name="TEA_ctrl_title_pref">TEA_ctrl_title_pref</string> <!-- Deprecated --> <string name="TEA_ctrl_title_pref">TEA_ctrl_title_pref</string> <!-- Deprecated -->
<string name="TEA_ctrl_when_pref">TEA_ctrl_when_pref</string> <string name="TEA_ctrl_when_pref">TEA_ctrl_when_pref</string>
<string name="TEA_ctrl_repeat_pref">TEA_ctrl_repeat_pref</string>
<string name="TEA_ctrl_more_pref">TEA_ctrl_more_pref</string> <string name="TEA_ctrl_more_pref">TEA_ctrl_more_pref</string>
<string name="TEA_ctrl_importance_pref">TEA_ctrl_importance_pref</string> <string name="TEA_ctrl_importance_pref">TEA_ctrl_importance_pref</string>
<string name="TEA_ctrl_lists_pref">TEA_ctrl_lists_pref</string> <string name="TEA_ctrl_lists_pref">TEA_ctrl_lists_pref</string>
@ -250,13 +255,10 @@
<string name="TEA_ctrl_reminders_pref">TEA_ctrl_reminders_pref</string> <string name="TEA_ctrl_reminders_pref">TEA_ctrl_reminders_pref</string>
<string name="TEA_ctrl_timer_pref">TEA_ctrl_timer_pref</string> <string name="TEA_ctrl_timer_pref">TEA_ctrl_timer_pref</string>
<string name="TEA_ctrl_share_pref">TEA_ctrl_share_pref</string> <string name="TEA_ctrl_share_pref">TEA_ctrl_share_pref</string>
<string name="p_use_dark_theme">use_dark_theme</string>
<string name="p_use_dark_theme_widget">use_dark_theme_widget</string>
<string name="p_debug_logging">debug_logging</string>
<!-- Deprecated -->
<string-array name="TEA_control_sets_prefs"> <string-array name="TEA_control_sets_prefs">
<item>@string/TEA_ctrl_when_pref</item> <item>@string/TEA_ctrl_when_pref</item>
<item>@string/TEA_ctrl_repeat_pref</item>
<item>@string/TEA_ctrl_importance_pref</item> <item>@string/TEA_ctrl_importance_pref</item>
<item>@string/TEA_ctrl_lists_pref</item> <item>@string/TEA_ctrl_lists_pref</item>
<item>@string/TEA_ctrl_notes_pref</item> <item>@string/TEA_ctrl_notes_pref</item>
@ -267,5 +269,4 @@
<item>@string/TEA_ctrl_hide_section_pref</item> <item>@string/TEA_ctrl_hide_section_pref</item>
</string-array> </string-array>
</resources> </resources>

@ -65,6 +65,7 @@
<item name="ic_action_box">@drawable/ic_action_box</item> <item name="ic_action_box">@drawable/ic_action_box</item>
<item name="ic_action_bell">@drawable/ic_action_bell</item> <item name="ic_action_bell">@drawable/ic_action_bell</item>
<item name="ic_action_alarm">@drawable/ic_action_alarm</item> <item name="ic_action_alarm">@drawable/ic_action_alarm</item>
<item name="ic_action_reload">@drawable/ic_action_reload</item>
</style> </style>
<style name="Tasks.Dark"> <style name="Tasks.Dark">
@ -93,6 +94,7 @@
<item name="ic_action_box">@drawable/ic_action_box_white</item> <item name="ic_action_box">@drawable/ic_action_box_white</item>
<item name="ic_action_bell">@drawable/ic_action_bell_white</item> <item name="ic_action_bell">@drawable/ic_action_bell_white</item>
<item name="ic_action_alarm">@drawable/ic_action_alarm_white</item> <item name="ic_action_alarm">@drawable/ic_action_alarm_white</item>
<item name="ic_action_reload">@drawable/ic_action_reload_white</item>
<item name="asDueDateColor">#c3c3c3</item> <item name="asDueDateColor">#c3c3c3</item>
</style> </style>

Loading…
Cancel
Save