Show repeat string in when display row

pull/14/head
Sam Bosley 14 years ago
parent 2fe2b3d77f
commit c7d4bfd0dd

@ -62,7 +62,7 @@ public class RepeatControlSet extends PopupControlSet {
private static final int TYPE_COMPLETION_DATE = 1;
//private final CheckBox enabled;
private boolean doRepeat = true;
private boolean doRepeat = false;
private Button value;
private Spinner interval;
private Spinner type;
@ -343,16 +343,23 @@ public class RepeatControlSet extends PopupControlSet {
return doRepeat;
}
/**
* @return the recurrence display string if set, null
* if not set
*/
public String getStringForExternalDisplay() {
if (isRecurrenceSet()) {
return getRepeatString(false);
}
return null;
}
@Override
protected void refreshDisplayView() {
TextView repeatDisplay = (TextView) getDisplayView().findViewById(R.id.display_row_edit);
ImageView repeatImage = (ImageView) getDisplayView().findViewById(R.id.repeat_image_icon);
if (doRepeat) {
String[] dateAbbrev = activity.getResources().getStringArray(
R.array.repeat_interval_short);
String date = String.format("%s %s", repeatValue, dateAbbrev[intervalValue]); //$NON-NLS-1$
String text = String.format(activity.getString(R.string.repeat_detail_duedate), date); // Every freq int
repeatDisplay.setText(text);
repeatDisplay.setText(getRepeatString(true));
TypedValue repeatIcon = new TypedValue();
activity.getTheme().resolveAttribute(R.attr.asRepeatIcon, repeatIcon, false);
@ -364,6 +371,19 @@ public class RepeatControlSet extends PopupControlSet {
}
}
private String getRepeatString(boolean useAbbrev) {
int arrayResource;
if (useAbbrev)
arrayResource = R.array.repeat_interval_short;
else
arrayResource = R.array.repeat_interval;
String[] dates = activity.getResources().getStringArray(
arrayResource);
String date = String.format("%s %s", repeatValue, dates[intervalValue]); //$NON-NLS-1$
return String.format(activity.getString(R.string.repeat_detail_duedate), date); // Every freq int
}
@Override
protected Dialog buildDialog(String title, final DialogInterface.OnClickListener okListener, final DialogInterface.OnCancelListener cancelListener) {

@ -538,7 +538,7 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener {
// Order matters!
DeadlineControlSet deadlineControl = new DeadlineControlSet(
getActivity(), R.layout.control_set_deadline,
R.layout.control_set_default_display,
R.layout.control_set_default_display, repeatControls,
repeatControls.getDisplayView(), gcalControl.getDisplayView());
controlSetMap.put(getString(R.string.TEA_ctrl_when_pref),
deadlineControl);

@ -639,7 +639,7 @@ public class TaskListFragment extends ListFragment implements OnScrollListener,
deadlineControl = new DeadlineControlSet(
getActivity(), R.layout.control_set_deadline,
R.layout.control_set_default_display,
R.layout.control_set_default_display, null,
repeatControl.getDisplayView(), gcalControl.getDisplayView());
deadlineControl.setIsQuickadd(true);

@ -1,6 +1,7 @@
package com.todoroo.astrid.ui;
import android.app.Activity;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
@ -12,29 +13,40 @@ import android.widget.TextView;
import com.timsu.astrid.R;
import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.repeats.RepeatControlSet;
public class DeadlineControlSet extends PopupControlSet {
private boolean isQuickadd = false;
private DateAndTimePicker dateAndTimePicker;
private final View[] extraViews;
private final RepeatControlSet repeatControlSet;
public DeadlineControlSet(Activity activity, int viewLayout, int displayViewLayout, View...extraViews) {
public DeadlineControlSet(Activity activity, int viewLayout, int displayViewLayout,
RepeatControlSet repeatControlSet, View...extraViews) {
super(activity, viewLayout, displayViewLayout, 0);
this.extraViews = extraViews;
this.displayText.setText(activity.getString(R.string.TEA_when_header_label));
this.repeatControlSet = repeatControlSet;
}
@Override
protected void refreshDisplayView() {
String toDisplay;
StringBuilder displayString = new StringBuilder();
if (initialized)
toDisplay = dateAndTimePicker.getDisplayString(activity, isQuickadd, isQuickadd);
displayString.append(dateAndTimePicker.getDisplayString(activity, isQuickadd, isQuickadd));
else
toDisplay = DateAndTimePicker.getDisplayString(activity, model.getValue(Task.DUE_DATE), isQuickadd, isQuickadd);
displayString.append(DateAndTimePicker.getDisplayString(activity, model.getValue(Task.DUE_DATE), isQuickadd, isQuickadd));
if (!isQuickadd && 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);
dateDisplay.setText(toDisplay);
dateDisplay.setText(displayString);
}
@Override

Loading…
Cancel
Save