Use new date picker in repeat control

pull/321/head
Alex Baker 9 years ago
parent a8958ac287
commit 0f1f692984

@ -11,6 +11,7 @@ import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.media.MediaPlayer; import android.media.MediaPlayer;
import android.net.Uri; import android.net.Uri;
import android.support.v4.app.FragmentActivity;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
@ -51,7 +52,7 @@ public class FilesControlSet extends PopupControlSet {
private final DialogBuilder dialogBuilder; private final DialogBuilder dialogBuilder;
public FilesControlSet(ActivityPreferences preferences, TaskAttachmentDao taskAttachmentDao, public FilesControlSet(ActivityPreferences preferences, TaskAttachmentDao taskAttachmentDao,
Activity activity, DialogBuilder dialogBuilder) { FragmentActivity activity, DialogBuilder dialogBuilder) {
super(preferences, activity, R.layout.control_set_files_dialog, R.layout.control_set_files, R.string.TEA_control_files, dialogBuilder); super(preferences, activity, R.layout.control_set_files_dialog, R.layout.control_set_files, R.string.TEA_control_files, dialogBuilder);
this.taskAttachmentDao = taskAttachmentDao; this.taskAttachmentDao = taskAttachmentDao;
this.dialogBuilder = new DialogBuilder(activity, preferences); this.dialogBuilder = new DialogBuilder(activity, preferences);

@ -5,12 +5,12 @@
*/ */
package com.todoroo.astrid.gcal; package com.todoroo.astrid.gcal;
import android.app.Activity;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.content.ContentValues; import android.content.ContentValues;
import android.content.Intent; import android.content.Intent;
import android.database.Cursor; import android.database.Cursor;
import android.net.Uri; import android.net.Uri;
import android.support.v4.app.FragmentActivity;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.View; import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
@ -53,7 +53,7 @@ public class GCalControlSet extends TaskEditControlSetBase {
private Spinner calendarSelector; private Spinner calendarSelector;
private TextView calendar; private TextView calendar;
public GCalControlSet(GCalHelper gcal, final Activity activity) { public GCalControlSet(GCalHelper gcal, final FragmentActivity activity) {
super(activity, R.layout.control_set_gcal_display); super(activity, R.layout.control_set_gcal_display);
this.gcal = gcal; this.gcal = gcal;
this.calendars = gcal.getCalendars(); this.calendars = gcal.getCalendars();

@ -5,17 +5,12 @@
*/ */
package com.todoroo.astrid.helper; package com.todoroo.astrid.helper;
import android.app.Activity; import android.support.v4.app.FragmentActivity;
import android.content.res.ColorStateList;
import android.content.res.Resources.Theme;
import android.util.TypedValue;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.ui.EditDialogOkBackground;
import org.tasks.R; import org.tasks.R;
@ -28,7 +23,7 @@ import static org.tasks.preferences.ResourceResolver.getData;
*/ */
public abstract class TaskEditControlSetBase implements TaskEditControlSet { public abstract class TaskEditControlSetBase implements TaskEditControlSet {
protected final Activity activity; protected final FragmentActivity activity;
private final int viewLayout; private final int viewLayout;
private boolean useTemplate; private boolean useTemplate;
private View view; private View view;
@ -37,11 +32,11 @@ public abstract class TaskEditControlSetBase implements TaskEditControlSet {
protected final int themeColor; protected final int themeColor;
protected final int unsetColor; protected final int unsetColor;
public TaskEditControlSetBase(Activity activity, int viewLayout) { public TaskEditControlSetBase(FragmentActivity activity, int viewLayout) {
this(activity, viewLayout, true); this(activity, viewLayout, true);
} }
public TaskEditControlSetBase(Activity activity, int viewLayout, boolean useTemplate) { public TaskEditControlSetBase(FragmentActivity activity, int viewLayout, boolean useTemplate) {
this.activity = activity; this.activity = activity;
this.viewLayout = viewLayout; this.viewLayout = viewLayout;
this.useTemplate = useTemplate; this.useTemplate = useTemplate;

@ -5,12 +5,13 @@
*/ */
package com.todoroo.astrid.repeats; package com.todoroo.astrid.repeats;
import android.app.Activity;
import android.app.Dialog; import android.app.Dialog;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.support.v4.app.FragmentActivity;
import android.support.v7.app.AlertDialog; import android.support.v7.app.AlertDialog;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.View; import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams; import android.view.ViewGroup.LayoutParams;
import android.widget.AdapterView; import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener; import android.widget.AdapterView.OnItemSelectedListener;
@ -22,23 +23,23 @@ import android.widget.LinearLayout;
import android.widget.Spinner; import android.widget.Spinner;
import android.widget.TextView; import android.widget.TextView;
import com.fourmob.datetimepicker.date.DatePickerDialog;
import com.google.ical.values.Frequency; import com.google.ical.values.Frequency;
import com.google.ical.values.RRule; import com.google.ical.values.RRule;
import com.google.ical.values.Weekday; import com.google.ical.values.Weekday;
import com.google.ical.values.WeekdayNum; import com.google.ical.values.WeekdayNum;
import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.ui.DateAndTimeDialog;
import com.todoroo.astrid.ui.DateAndTimeDialog.DateAndTimeDialogListener;
import com.todoroo.astrid.ui.DateAndTimePicker; import com.todoroo.astrid.ui.DateAndTimePicker;
import com.todoroo.astrid.ui.NumberPickerDialog; import com.todoroo.astrid.ui.NumberPickerDialog;
import com.todoroo.astrid.ui.NumberPickerDialog.OnNumberPickedListener; import com.todoroo.astrid.ui.NumberPickerDialog.OnNumberPickedListener;
import com.todoroo.astrid.ui.PopupControlSet; import com.todoroo.astrid.ui.PopupControlSet;
import org.joda.time.DateTime;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.tasks.R; import org.tasks.R;
import org.tasks.dialogs.DialogBuilder; import org.tasks.dialogs.DialogBuilder;
import org.tasks.dialogs.MyDatePickerDialog;
import org.tasks.preferences.ActivityPreferences; import org.tasks.preferences.ActivityPreferences;
import java.text.DateFormatSymbols; import java.text.DateFormatSymbols;
@ -49,6 +50,7 @@ import java.util.LinkedList;
import java.util.List; import java.util.List;
import static org.tasks.date.DateTimeUtils.newDate; import static org.tasks.date.DateTimeUtils.newDate;
import static org.tasks.date.DateTimeUtils.newDateTime;
/** /**
* Control Set for managing repeats * Control Set for managing repeats
@ -60,6 +62,8 @@ public class RepeatControlSet extends PopupControlSet {
private static final Logger log = LoggerFactory.getLogger(RepeatControlSet.class); private static final Logger log = LoggerFactory.getLogger(RepeatControlSet.class);
private static final String FRAG_TAG_REPEAT_UNTIL = "frag_tag_repeat_until";
// --- spinner constants // --- spinner constants
public static final int INTERVAL_DAYS = 0; public static final int INTERVAL_DAYS = 0;
@ -77,7 +81,9 @@ public class RepeatControlSet extends PopupControlSet {
private Button value; private Button value;
private Spinner interval; private Spinner interval;
private Spinner type; private Spinner type;
private Button repeatUntil; private Spinner repeatUntil;
private ArrayAdapter<String> repeatUntilAdapter;
private final List<String> repeatUntilOptions = new ArrayList<>();
private LinearLayout daysOfWeekContainer; private LinearLayout daysOfWeekContainer;
private final CompoundButton[] daysOfWeek = new CompoundButton[7]; private final CompoundButton[] daysOfWeek = new CompoundButton[7];
@ -95,7 +101,7 @@ public class RepeatControlSet extends PopupControlSet {
// --- implementation // --- implementation
public RepeatControlSet(ActivityPreferences preferences, Activity activity, DialogBuilder dialogBuilder) { public RepeatControlSet(ActivityPreferences preferences, FragmentActivity activity, DialogBuilder dialogBuilder) {
super(preferences, activity, R.layout.control_set_repeat, R.layout.control_set_repeat_display, R.string.repeat_enabled, dialogBuilder); super(preferences, activity, R.layout.control_set_repeat, R.layout.control_set_repeat_display, R.string.repeat_enabled, dialogBuilder);
} }
@ -107,12 +113,7 @@ public class RepeatControlSet extends PopupControlSet {
private void setRepeatUntilValue(long newValue) { private void setRepeatUntilValue(long newValue) {
repeatUntilValue = newValue; repeatUntilValue = newValue;
updateRepeatUntilOptions();
if (newValue == 0) {
repeatUntil.setText(activity.getString(R.string.repeat_forever));
} else {
repeatUntil.setText(activity.getString(R.string.repeat_until, DateAndTimePicker.getDisplayString(activity, newValue, false, false)));
}
} }
protected void repeatValueClick() { protected void repeatValueClick() {
@ -131,15 +132,21 @@ public class RepeatControlSet extends PopupControlSet {
} }
private void repeatUntilClick() { private void repeatUntilClick() {
DateAndTimeDialog d = new DateAndTimeDialog(preferences, activity, repeatUntilValue, MyDatePickerDialog dialog = new MyDatePickerDialog();
R.layout.repeat_until_dialog, R.string.repeat_until_title); DateTime initial = newDateTime();
d.setDateAndTimeDialogListener(new DateAndTimeDialogListener() { dialog.initialize(new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePickerDialog datePickerDialog, int year, int month, int day) {
setRepeatUntilValue(new DateTime(year, month + 1, day, 0, 0, 0, 0).getMillis());
}
}, initial.getYear(), initial.getMonthOfYear() - 1, initial.getDayOfMonth(), false);
dialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override @Override
public void onDateAndTimeSelected(long date) { public void onCancel(DialogInterface dialog) {
setRepeatUntilValue(date); setRepeatUntilValue(repeatUntilValue);
} }
}); });
d.show(); dialog.show(activity.getSupportFragmentManager(), FRAG_TAG_REPEAT_UNTIL);
} }
public void addListener(RepeatChangedListener listener) { public void addListener(RepeatChangedListener listener) {
@ -251,17 +258,21 @@ public class RepeatControlSet extends PopupControlSet {
@Override @Override
protected void afterInflate() { protected void afterInflate() {
value = (Button) getDialogView().findViewById(R.id.repeatValue); View dialogView = getDialogView();
interval = (Spinner) getDialogView().findViewById(R.id.repeatInterval); value = (Button) dialogView.findViewById(R.id.repeatValue);
interval.setAdapter(new ArrayAdapter<String>(activity, R.layout.simple_spinner_item, activity.getResources().getStringArray(R.array.repeat_interval)) {{ interval = (Spinner) dialogView.findViewById(R.id.repeatInterval);
interval.setAdapter(new ArrayAdapter<String>(activity, android.R.layout.simple_spinner_item, activity.getResources().getStringArray(R.array.repeat_interval)) {{
setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
}}); }});
type = (Spinner) getDialogView().findViewById(R.id.repeatType); type = (Spinner) dialogView.findViewById(R.id.repeatType);
type.setAdapter(new ArrayAdapter<String>(activity, R.layout.simple_spinner_item, activity.getResources().getStringArray(R.array.repeat_type)) {{ type.setAdapter(new ArrayAdapter<String>(activity, android.R.layout.simple_spinner_item, activity.getResources().getStringArray(R.array.repeat_type)) {{
setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
}}); }});
daysOfWeekContainer = (LinearLayout) getDialogView().findViewById(R.id.repeatDayOfWeekContainer); daysOfWeekContainer = (LinearLayout) dialogView.findViewById(R.id.repeatDayOfWeekContainer);
repeatUntil = (Button) getDialogView().findViewById(R.id.repeatUntil); repeatUntil = (Spinner) dialogView.findViewById(R.id.repeat_until);
repeatUntilAdapter = new ArrayAdapter<>(activity, android.R.layout.simple_spinner_item, repeatUntilOptions);
repeatUntilAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
repeatUntil.setAdapter(repeatUntilAdapter);
setRepeatValue(1); setRepeatValue(1);
setRepeatUntilValue(0); setRepeatUntilValue(0);
@ -312,12 +323,30 @@ public class RepeatControlSet extends PopupControlSet {
} }
}); });
repeatUntil.setOnClickListener(new View.OnClickListener() { repeatUntil.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override @Override
public void onClick(View v) { public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
if (repeatUntilOptions.size() == 2) {
if (i == 0) {
setRepeatUntilValue(0);
} else {
repeatUntilClick();
}
} else {
if (i == 1) {
setRepeatUntilValue(0);
} else if (i == 2) {
repeatUntilClick(); repeatUntilClick();
} }
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
//
}
}); });
daysOfWeekContainer.setVisibility(View.GONE); daysOfWeekContainer.setVisibility(View.GONE);
} }
@ -433,4 +462,15 @@ public class RepeatControlSet extends PopupControlSet {
} }
}); });
} }
private void updateRepeatUntilOptions() {
repeatUntilOptions.clear();
if (repeatUntilValue > 0) {
repeatUntilOptions.add(activity.getString(R.string.repeat_until, DateAndTimePicker.getDisplayString(activity, repeatUntilValue, false, false)));
}
repeatUntilOptions.add(activity.getString(R.string.repeat_forever));
repeatUntilOptions.add(activity.getString(R.string.repeat_until, "").trim());
repeatUntilAdapter.notifyDataSetChanged();
repeatUntil.setSelection(0);
}
} }

@ -24,6 +24,7 @@ import com.todoroo.astrid.gcal.GCalHelper;
import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.utility.Flags; import com.todoroo.astrid.utility.Flags;
import org.joda.time.DateTime;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.tasks.injection.InjectingBroadcastReceiver; import org.tasks.injection.InjectingBroadcastReceiver;
@ -39,6 +40,7 @@ import java.util.TimeZone;
import javax.inject.Inject; import javax.inject.Inject;
import static org.tasks.date.DateTimeUtils.newDate; import static org.tasks.date.DateTimeUtils.newDate;
import static org.tasks.date.DateTimeUtils.newDateTime;
import static org.tasks.date.DateTimeUtils.newDateUtc; import static org.tasks.date.DateTimeUtils.newDateUtc;
public class RepeatTaskCompleteListener extends InjectingBroadcastReceiver { public class RepeatTaskCompleteListener extends InjectingBroadcastReceiver {
@ -80,8 +82,7 @@ public class RepeatTaskCompleteListener extends InjectingBroadcastReceiver {
long oldDueDate = task.getDueDate(); long oldDueDate = task.getDueDate();
long repeatUntil = task.getRepeatUntil(); long repeatUntil = task.getRepeatUntil();
boolean repeatFinished = repeatUntil > 0 && newDueDate >= repeatUntil; if (repeatFinished(newDueDate, repeatUntil)) {
if (repeatFinished) {
return; return;
} }
@ -97,6 +98,12 @@ public class RepeatTaskCompleteListener extends InjectingBroadcastReceiver {
} }
} }
static boolean repeatFinished(long newDueDate, long repeatUntil) {
return repeatUntil > 0 && newDateTime(repeatUntil).getMillisOfDay() == 0
? newDateTime(newDueDate).withMillisOfDay(0).isAfter(repeatUntil)
: newDueDate >= repeatUntil;
}
public static void rescheduleTask(Context context, GCalHelper gcalHelper, TaskService taskService, Task task, long newDueDate) { public static void rescheduleTask(Context context, GCalHelper gcalHelper, TaskService taskService, Task task, long newDueDate) {
long hideUntil = task.getHideUntil(); long hideUntil = task.getHideUntil();
if(hideUntil > 0 && task.getDueDate() > 0) { if(hideUntil > 0 && task.getDueDate() > 0) {

@ -6,6 +6,7 @@
package com.todoroo.astrid.tags; package com.todoroo.astrid.tags;
import android.app.Activity; import android.app.Activity;
import android.support.v4.app.FragmentActivity;
import android.support.v7.app.AlertDialog; import android.support.v7.app.AlertDialog;
import android.text.Editable; import android.text.Editable;
import android.text.TextUtils; import android.text.TextUtils;
@ -72,7 +73,7 @@ public final class TagsControlSet extends PopupControlSet {
private final TagDataDao tagDataDao; private final TagDataDao tagDataDao;
private final TagService tagService; private final TagService tagService;
public TagsControlSet(MetadataDao metadataDao, TagDataDao tagDataDao, ActivityPreferences preferences, TagService tagService, Activity activity, DialogBuilder dialogBuilder) { public TagsControlSet(MetadataDao metadataDao, TagDataDao tagDataDao, ActivityPreferences preferences, TagService tagService, FragmentActivity activity, DialogBuilder dialogBuilder) {
super(preferences, activity, R.layout.control_set_tag_list, R.layout.control_set_tags, R.string.TEA_tags_label_long, dialogBuilder); super(preferences, activity, R.layout.control_set_tag_list, R.layout.control_set_tags, R.string.TEA_tags_label_long, dialogBuilder);
this.metadataDao = metadataDao; this.metadataDao = metadataDao;
this.tagDataDao = tagDataDao; this.tagDataDao = tagDataDao;

@ -5,8 +5,8 @@
*/ */
package com.todoroo.astrid.timers; package com.todoroo.astrid.timers;
import android.app.Activity;
import android.os.SystemClock; import android.os.SystemClock;
import android.support.v4.app.FragmentActivity;
import android.text.format.DateFormat; import android.text.format.DateFormat;
import android.view.View; import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
@ -33,7 +33,7 @@ public class TimerActionControlSet extends TaskEditControlSetBase {
private boolean timerActive; private boolean timerActive;
private final List<TimerActionListener> listeners = new LinkedList<>(); private final List<TimerActionListener> listeners = new LinkedList<>();
public TimerActionControlSet(final NotificationManager notificationManager, final TaskService taskService, final Activity activity, View parent) { public TimerActionControlSet(final NotificationManager notificationManager, final TaskService taskService, final FragmentActivity activity, View parent) {
super(activity, -1); super(activity, -1);
LinearLayout timerContainer = (LinearLayout) parent.findViewById(R.id.timer_container); LinearLayout timerContainer = (LinearLayout) parent.findViewById(R.id.timer_container);

@ -5,7 +5,7 @@
*/ */
package com.todoroo.astrid.timers; package com.todoroo.astrid.timers;
import android.app.Activity; import android.support.v4.app.FragmentActivity;
import android.text.TextUtils; import android.text.TextUtils;
import android.text.format.DateUtils; import android.text.format.DateUtils;
import android.view.View; import android.view.View;
@ -34,7 +34,7 @@ public class TimerControlSet extends PopupControlSet implements TimerActionListe
private final TextView displayEdit; private final TextView displayEdit;
private ActivityPreferences preferences; private ActivityPreferences preferences;
public TimerControlSet(ActivityPreferences preferences, final Activity activity, DialogBuilder dialogBuilder) { public TimerControlSet(ActivityPreferences preferences, final FragmentActivity activity, DialogBuilder dialogBuilder) {
super(preferences, activity, R.layout.control_set_timers_dialog, R.layout.control_set_timers, R.string.TEA_timer_controls, dialogBuilder); super(preferences, activity, R.layout.control_set_timers_dialog, R.layout.control_set_timers, R.string.TEA_timer_controls, dialogBuilder);
this.preferences = preferences; this.preferences = preferences;
@ -81,7 +81,7 @@ public class TimerControlSet extends PopupControlSet implements TimerActionListe
private final TimeDurationControlSet controlSet; private final TimeDurationControlSet controlSet;
private final IntegerProperty property; private final IntegerProperty property;
public TimeDurationTaskEditControlSet(Activity activity, View v, IntegerProperty property, int timeButtonId) { public TimeDurationTaskEditControlSet(FragmentActivity activity, View v, IntegerProperty property, int timeButtonId) {
super(activity, -1); super(activity, -1);
this.property = property; this.property = property;
this.controlSet = new TimeDurationControlSet(activity, v, property, timeButtonId, preferences); this.controlSet = new TimeDurationControlSet(activity, v, property, timeButtonId, preferences);

@ -1,87 +0,0 @@
/**
* Copyright (c) 2012 Todoroo Inc
*
* See the file "LICENSE" for the full license governing this code.
*/
package com.todoroo.astrid.ui;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.view.View;
import android.view.Window;
import android.view.WindowManager.LayoutParams;
import android.widget.Button;
import org.tasks.R;
import org.tasks.preferences.ActivityPreferences;
public class DateAndTimeDialog extends Dialog {
public interface DateAndTimeDialogListener {
void onDateAndTimeSelected(long date);
}
private final DateAndTimePicker dateAndTimePicker;
private boolean cancelled = false;
private DateAndTimeDialogListener listener;
public DateAndTimeDialog(ActivityPreferences preferences, Context context, long startDate, int contentView, int title) {
super(context, preferences.getEditDialogTheme());
if (title == 0) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
} else {
setTitle(title);
}
/** Design the dialog in main.xml file */
setContentView(contentView);
LayoutParams params = getWindow().getAttributes();
params.height = LayoutParams.FILL_PARENT;
params.width = LayoutParams.FILL_PARENT;
getWindow().setAttributes(params);
dateAndTimePicker = (DateAndTimePicker) findViewById(R.id.date_and_time);
dateAndTimePicker.initializeWithDate(startDate);
Button okButton = (Button) findViewById(R.id.ok);
Button cancelButton = (Button) findViewById(R.id.cancel);
okButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
if (listener != null) {
listener.onDateAndTimeSelected(dateAndTimePicker.constructDueDate());
}
}
});
cancelButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
cancelled = true;
cancel();
}
});
setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
if (!cancelled) { // i.e. if back button pressed, which we treat as an "OK"
if (listener != null) {
listener.onDateAndTimeSelected(dateAndTimePicker.constructDueDate());
}
} else {
cancelled = false; // reset
}
}
});
}
public void setDateAndTimeDialogListener(DateAndTimeDialogListener listener) {
this.listener = listener;
}
}

@ -5,7 +5,7 @@
*/ */
package com.todoroo.astrid.ui; package com.todoroo.astrid.ui;
import android.app.Activity; import android.support.v4.app.FragmentActivity;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.Gravity; import android.view.Gravity;
import android.widget.LinearLayout; import android.widget.LinearLayout;
@ -22,7 +22,7 @@ public class DeadlineControlSet extends PopupControlSet {
private DateAndTimePicker dateAndTimePicker; private DateAndTimePicker dateAndTimePicker;
public DeadlineControlSet(ActivityPreferences preferences, Activity activity, DialogBuilder dialogBuilder) { public DeadlineControlSet(ActivityPreferences preferences, FragmentActivity activity, DialogBuilder dialogBuilder) {
super(preferences, activity, R.layout.control_set_deadline_dialog, R.layout.control_set_deadline, 0, dialogBuilder); super(preferences, activity, R.layout.control_set_deadline_dialog, R.layout.control_set_deadline, 0, dialogBuilder);
} }

@ -5,7 +5,7 @@
*/ */
package com.todoroo.astrid.ui; package com.todoroo.astrid.ui;
import android.app.Activity; import android.support.v4.app.FragmentActivity;
import android.widget.EditText; import android.widget.EditText;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
@ -17,7 +17,7 @@ public class DescriptionControlSet extends TaskEditControlSetBase {
protected EditText editText; protected EditText editText;
public DescriptionControlSet(Activity activity) { public DescriptionControlSet(FragmentActivity activity) {
super(activity, R.layout.control_set_description); super(activity, R.layout.control_set_description);
} }

@ -5,7 +5,7 @@
*/ */
package com.todoroo.astrid.ui; package com.todoroo.astrid.ui;
import android.app.Activity; import android.support.v4.app.FragmentActivity;
import android.util.DisplayMetrics; import android.util.DisplayMetrics;
import android.view.View; import android.view.View;
import android.view.ViewGroup.LayoutParams; import android.view.ViewGroup.LayoutParams;
@ -40,7 +40,7 @@ public class ImportanceControlSet extends TaskEditControlSetBase {
void importanceChanged(int i); void importanceChanged(int i);
} }
public ImportanceControlSet(Activity activity) { public ImportanceControlSet(FragmentActivity activity) {
super(activity, R.layout.control_set_importance); super(activity, R.layout.control_set_importance);
colors = Task.getImportanceColors(activity.getResources()); colors = Task.getImportanceColors(activity.getResources());
} }

@ -5,21 +5,16 @@
*/ */
package com.todoroo.astrid.ui; package com.todoroo.astrid.ui;
import android.app.Activity;
import android.app.Dialog; import android.app.Dialog;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.support.v4.app.FragmentActivity;
import android.support.v7.app.AlertDialog; import android.support.v7.app.AlertDialog;
import android.util.DisplayMetrics;
import android.view.View; import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.helper.TaskEditControlSetBase; import com.todoroo.astrid.helper.TaskEditControlSetBase;
import org.tasks.R;
import org.tasks.dialogs.DialogBuilder; import org.tasks.dialogs.DialogBuilder;
import org.tasks.preferences.ActivityPreferences; import org.tasks.preferences.ActivityPreferences;
@ -50,7 +45,7 @@ public abstract class PopupControlSet extends TaskEditControlSetBase {
} }
}; };
public PopupControlSet(ActivityPreferences preferences, Activity activity, int viewLayout, public PopupControlSet(ActivityPreferences preferences, FragmentActivity activity, int viewLayout,
int taskEditViewLayout, final int title, DialogBuilder dialogBuilder) { int taskEditViewLayout, final int title, DialogBuilder dialogBuilder) {
super(activity, viewLayout, false); super(activity, viewLayout, false);
this.preferences = preferences; this.preferences = preferences;

@ -32,7 +32,7 @@ public class RandomReminderControlSet {
periodSpinner.setVisibility(View.VISIBLE); periodSpinner.setVisibility(View.VISIBLE);
// create adapter // create adapter
ArrayAdapter<String> adapter = new ArrayAdapter<>( ArrayAdapter<String> adapter = new ArrayAdapter<>(
activity, R.layout.simple_spinner_item, activity, android.R.layout.simple_spinner_item,
activity.getResources().getStringArray(R.array.TEA_reminder_random)); activity.getResources().getStringArray(R.array.TEA_reminder_random));
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
periodSpinner.setAdapter(adapter); periodSpinner.setAdapter(adapter);

@ -196,7 +196,7 @@ public class ReminderControlSet extends TaskEditControlSetBase implements Adapte
}); });
addSpinner = (Spinner) getView().findViewById(R.id.alarms_add_spinner); addSpinner = (Spinner) getView().findViewById(R.id.alarms_add_spinner);
addSpinner.setOnItemSelectedListener(ReminderControlSet.this); addSpinner.setOnItemSelectedListener(ReminderControlSet.this);
remindAdapter = new ArrayAdapter<String>(activity, R.layout.simple_spinner_item, spinnerOptions) { remindAdapter = new ArrayAdapter<String>(activity, android.R.layout.simple_spinner_item, spinnerOptions) {
@Override @Override
public View getDropDownView(int position, View convertView, ViewGroup parent) { public View getDropDownView(int position, View convertView, ViewGroup parent) {
View v; View v;

@ -80,10 +80,6 @@ public class ActivityPreferences extends Preferences {
return isDarkTheme() ? R.style.TasksDialogDark : R.style.TasksDialog; return isDarkTheme() ? R.style.TasksDialogDark : R.style.TasksDialog;
} }
public int getEditDialogTheme() {
return isDarkTheme() ? R.style.TEA_Dialog_Dark : R.style.TEA_Dialog;
}
public boolean isDarkTheme() { public boolean isDarkTheme() {
return getBoolean(R.string.p_use_dark_theme, false); return getBoolean(R.string.p_use_dark_theme, false);
} }

@ -1,57 +1,67 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?><!--
<!--
** Copyright (c) 2012 Todoroo Inc ** Copyright (c) 2012 Todoroo Inc
** **
** 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="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical"
android:paddingLeft="5dip" android:paddingLeft="5dip"
android:paddingRight="5dip" android:paddingRight="5dip">
android:orientation="vertical">
<LinearLayout android:id="@+id/repeatContainer" <LinearLayout
android:orientation="vertical" android:id="@+id/repeatContainer"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="0dp"
android:layout_weight="100"> android:layout_weight="100"
android:orientation="vertical"
android:paddingBottom="5dp"
android:paddingTop="5dp">
<LinearLayout <LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content"
android:orientation="horizontal">
<Button android:id="@+id/repeatValue" <Button
android:layout_weight="1" android:id="@+id/repeatValue"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" /> android:layout_height="wrap_content"
android:layout_weight="1" />
<Spinner android:id="@+id/repeatInterval" <Spinner
android:layout_weight="1" android:id="@+id/repeatInterval"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:prompt="@string/repeat_interval_prompt"/> android:layout_weight="1"
android:prompt="@string/repeat_interval_prompt" />
</LinearLayout> </LinearLayout>
<Spinner <Spinner
android:id="@+id/repeatType" android:id="@+id/repeatType"
android:layout_width="fill_parent" android:layout_width="wrap_content"
android:layout_height="wrap_content"/> android:layout_height="wrap_content"
android:paddingBottom="5dp"
android:paddingTop="5dp" />
<LinearLayout android:id="@+id/repeatDayOfWeekContainer" <LinearLayout
android:orientation="horizontal" android:id="@+id/repeatDayOfWeekContainer"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center"/> android:gravity="center"
android:orientation="horizontal"
android:paddingBottom="5dp"
android:paddingTop="5dp" />
</LinearLayout> </LinearLayout>
<Button android:id="@+id/repeatUntil" <Spinner
android:id="@+id/repeat_until"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1"/> android:paddingBottom="5dp"
android:paddingTop="5dp" />
</LinearLayout> </LinearLayout>

@ -1,42 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
** Copyright (c) 2012 Todoroo Inc
**
** See the file "LICENSE" for the full license governing this code.
-->
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:astrid="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.todoroo.astrid.ui.DateAndTimePicker
android:id="@+id/date_and_time"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
astrid:shortcutLabels="@array/repeat_until_shortcuts"/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="7dip"
android:paddingRight="7dip"
android:orientation="horizontal">
<Button
android:id="@+id/ok"
android:layout_width="fill_parent"
android:layout_height="50dip"
android:layout_weight="1"
android:text="@android:string/ok"/>
<Button
android:id="@+id/cancel"
android:layout_width="fill_parent"
android:layout_height="50dip"
android:layout_weight="1"
android:text="@android:string/cancel"/>
</LinearLayout>
</LinearLayout>
</ScrollView>

@ -1,9 +0,0 @@
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerItemStyle"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:textColor="?attr/asTextColor"
android:textAlignment="inherit"/>

@ -199,16 +199,6 @@
<item>دقائق</item> <item>دقائق</item>
<item>سنين</item> <item>سنين</item>
</string-array> </string-array>
<string-array name="repeat_until_shortcuts">
<item>للأبد</item>
<item>يوم محدد</item>
<item>اليوم</item>
<item>غدا</item>
<item>(day after)</item>
<item>الأسبوع القادم</item>
<item>خلال أسبوعين</item>
<item>الشهر القادم</item>
</string-array>
<string-array name="repeat_type"> <string-array name="repeat_type">
<item>من تاريخ الموعد</item> <item>من تاريخ الموعد</item>
<item>من تاريخ الاتمام</item> <item>من تاريخ الاتمام</item>

@ -313,17 +313,6 @@
<item>Минута(и)</item> <item>Минута(и)</item>
<item>Година(и)</item> <item>Година(и)</item>
</string-array> </string-array>
<string-array name="repeat_until_shortcuts">
<item>Завинаги</item>
<item>Определен ден</item>
<item>Днес</item>
<item>Утре</item>
<item>(ден след)</item>
<item>Следваща седмица</item>
<item>За две седмици</item>
<item>Следващия месец</item>
</string-array>
<string name="repeat_until_title">Повтаряй до...</string>
<string-array name="repeat_type"> <string-array name="repeat_type">
<item>от краен срок</item> <item>от краен срок</item>
<item>от датата на завършване</item> <item>от датата на завършване</item>

@ -167,17 +167,6 @@
<string name="repeat_every">Cada %d</string> <string name="repeat_every">Cada %d</string>
<string name="repeat_interval_prompt">Interval de Repecitiò</string> <string name="repeat_interval_prompt">Interval de Repecitiò</string>
<string name="repeat_never">Sense repetir</string> <string name="repeat_never">Sense repetir</string>
<string-array name="repeat_until_shortcuts">
<item>Forever</item>
<item>Specific Day</item>
<item>Avui</item>
<item>Demà</item>
<item>(day after)</item>
<item>La setmana que ve</item>
<item>In Two Weeks</item>
<item>El mes que ve</item>
</string-array>
<string name="repeat_until_title">Repetir fins...</string>
<string name="repeat_detail_byday">$I en $D</string> <string name="repeat_detail_byday">$I en $D</string>
<string name="repeat_detail_duedate">Cada %s</string> <string name="repeat_detail_duedate">Cada %s</string>
<string name="repeat_detail_duedate_until">Cada %1$s\nfins %2$s</string> <string name="repeat_detail_duedate_until">Cada %1$s\nfins %2$s</string>

@ -293,17 +293,6 @@
<item>Minuta(-y)</item> <item>Minuta(-y)</item>
<item>Rok(y)</item> <item>Rok(y)</item>
</string-array> </string-array>
<string-array name="repeat_until_shortcuts">
<item>Vždy</item>
<item>Určitý den</item>
<item>Dnes</item>
<item>Zítra</item>
<item>(den poté)</item>
<item>Příští týden</item>
<item>Za dva týdny</item>
<item>Příští měsíc</item>
</string-array>
<string name="repeat_until_title">Opakuje dokud ...</string>
<string-array name="repeat_type"> <string-array name="repeat_type">
<item>od data splnění</item> <item>od data splnění</item>
<item>od data dokončení</item> <item>od data dokončení</item>

@ -157,17 +157,6 @@
<string name="repeat_interval_prompt">Interval for gentagelse</string> <string name="repeat_interval_prompt">Interval for gentagelse</string>
<string name="repeat_never">Gentages ikke</string> <string name="repeat_never">Gentages ikke</string>
<string name="repeat_dont">Gentag ikke</string> <string name="repeat_dont">Gentag ikke</string>
<string-array name="repeat_until_shortcuts">
<item>Forever</item>
<item>Specific Day</item>
<item>I dag</item>
<item>I morgen</item>
<item>(day after)</item>
<item>Next Week</item>
<item>In Two Weeks</item>
<item>Next Month</item>
</string-array>
<string name="repeat_until_title">Gentag indtil...</string>
<string name="repeat_detail_byday">$I på $D</string> <string name="repeat_detail_byday">$I på $D</string>
<string name="repeat_detail_duedate">Hver %s</string> <string name="repeat_detail_duedate">Hver %s</string>
<string name="repeat_detail_duedate_until">Hver %1$s\nindtil %2$s</string> <string name="repeat_detail_duedate_until">Hver %1$s\nindtil %2$s</string>

@ -306,17 +306,6 @@
<item>Minute(n)</item> <item>Minute(n)</item>
<item>Jahr(e)</item> <item>Jahr(e)</item>
</string-array> </string-array>
<string-array name="repeat_until_shortcuts">
<item>Für immer</item>
<item>Bestimmter Tag</item>
<item>Heute</item>
<item>Morgen</item>
<item>(Tag danach)</item>
<item>Nächste Woche</item>
<item>In zwei Wochen</item>
<item>Nächster Monat</item>
</string-array>
<string name="repeat_until_title">Wiederhole bis...</string>
<string-array name="repeat_type"> <string-array name="repeat_type">
<item>bei Fälligkeit</item> <item>bei Fälligkeit</item>
<item>bei Erledigung</item> <item>bei Erledigung</item>

@ -294,17 +294,6 @@
<item>Λεπτό(ά)</item> <item>Λεπτό(ά)</item>
<item>Χρόνος(ια)</item> <item>Χρόνος(ια)</item>
</string-array> </string-array>
<string-array name="repeat_until_shortcuts">
<item>Επ\'αόριστον</item>
<item>Συγκεκριμένη ημέρα</item>
<item>Σήμερα</item>
<item>Αύριο</item>
<item>(μεθαύριο)</item>
<item>Την επόμενη εβδομάδα</item>
<item>Σε δύο εβδομάδες</item>
<item>Τον επόμενο μήνα</item>
</string-array>
<string name="repeat_until_title">Επανάληψη εως ότου</string>
<string-array name="repeat_type"> <string-array name="repeat_type">
<item>απο την ημερομηνία λήξης</item> <item>απο την ημερομηνία λήξης</item>
<item>απο την ημερομηνία ολοκλήρωσης </item> <item>απο την ημερομηνία ολοκλήρωσης </item>

@ -307,17 +307,6 @@
<item>Minuto(s)</item> <item>Minuto(s)</item>
<item>Año(s)</item> <item>Año(s)</item>
</string-array> </string-array>
<string-array name="repeat_until_shortcuts">
<item>Para siempre</item>
<item>Día específico</item>
<item>Hoy</item>
<item>Mañana</item>
<item>(día siguiente)</item>
<item>Próxima semana</item>
<item>En dos semanas</item>
<item>Próximo mes</item>
</string-array>
<string name="repeat_until_title">Repetir hasta...</string>
<string-array name="repeat_type"> <string-array name="repeat_type">
<item>desde la fecha de vencimiento</item> <item>desde la fecha de vencimiento</item>
<item>Desde la fecha de finalización</item> <item>Desde la fecha de finalización</item>

@ -72,7 +72,6 @@
<string name="repeat_interval_prompt">Toistoväli</string> <string name="repeat_interval_prompt">Toistoväli</string>
<string name="repeat_never">Ei toistuva</string> <string name="repeat_never">Ei toistuva</string>
<string name="repeat_dont">Älä toista</string> <string name="repeat_dont">Älä toista</string>
<string name="repeat_until_title">Toista kunnes...</string>
<string name="repeat_detail_duedate">Joka %s</string> <string name="repeat_detail_duedate">Joka %s</string>
<string name="repeat_detail_duedate_until">Joka %1$s\nkunnes %2$s</string> <string name="repeat_detail_duedate_until">Joka %1$s\nkunnes %2$s</string>
<string name="repeat_forever">Toista loputtomiin</string> <string name="repeat_forever">Toista loputtomiin</string>

@ -307,17 +307,6 @@
<item>Minute(s)</item> <item>Minute(s)</item>
<item>Année(s)</item> <item>Année(s)</item>
</string-array> </string-array>
<string-array name="repeat_until_shortcuts">
<item>Indéfiniment</item>
<item>Jour précis</item>
<item>Aujourd\'hui</item>
<item>Demain</item>
<item>(jour d\'après)</item>
<item>Semaine Prochaine</item>
<item>Dans deux semaines</item>
<item>Mois suivant</item>
</string-array>
<string name="repeat_until_title">Répéter jusqu\'à...</string>
<string-array name="repeat_type"> <string-array name="repeat_type">
<item>à partir de la date due</item> <item>à partir de la date due</item>
<item>à partir de la date d\'achèvement</item> <item>à partir de la date d\'achèvement</item>

@ -310,17 +310,6 @@ Se visualizzi questo errore più volte, ti consigliamo di cancellare tutti i dat
<item>Minuto(i)</item> <item>Minuto(i)</item>
<item>Anno(i)</item> <item>Anno(i)</item>
</string-array> </string-array>
<string-array name="repeat_until_shortcuts">
<item>Per sempre</item>
<item>Giorno specifico</item>
<item>Oggi</item>
<item>Domani</item>
<item>(giorno dopo)</item>
<item>Settimana Successiva</item>
<item>Ogni Due Settimane</item>
<item>Mese Successivo</item>
</string-array>
<string name="repeat_until_title">Ripeti fino a...</string>
<string-array name="repeat_type"> <string-array name="repeat_type">
<item>dalla data di scadenza</item> <item>dalla data di scadenza</item>
<item>dalla data di completamento</item> <item>dalla data di completamento</item>

@ -296,17 +296,6 @@
<item>דקה/דקות</item> <item>דקה/דקות</item>
<item>שנה/שנים</item> <item>שנה/שנים</item>
</string-array> </string-array>
<string-array name="repeat_until_shortcuts">
<item>לנצח</item>
<item>תאריך מסויים</item>
<item>היום</item>
<item>מחר</item>
<item>(יום אחרי)</item>
<item>שבוע הבא</item>
<item>שבועיים</item>
<item>החודש הבא</item>
</string-array>
<string name="repeat_until_title">חזור עד...</string>
<string-array name="repeat_type"> <string-array name="repeat_type">
<item>מתאריך היעד</item> <item>מתאריך היעד</item>
<item>מהיום שהמשימה הושלמה</item> <item>מהיום שהמשימה הושלמה</item>

@ -312,17 +312,6 @@
<item></item> <item></item>
<item></item> <item></item>
</string-array> </string-array>
<string-array name="repeat_until_shortcuts">
<item>永久に</item>
<item>指定した日</item>
<item>今日</item>
<item>明日</item>
<item>(日後)</item>
<item>来週</item>
<item>2週間以内</item>
<item>来月</item>
</string-array>
<string name="repeat_until_title">繰り返し期限...</string>
<string-array name="repeat_type"> <string-array name="repeat_type">
<item>期限から</item> <item>期限から</item>
<item>完了日から</item> <item>完了日から</item>

@ -311,17 +311,6 @@ Tasks의 백업에서 당신의 일정을 복구하시기 바랍니다.
<item>분마다</item> <item>분마다</item>
<item>년마다</item> <item>년마다</item>
</string-array> </string-array>
<string-array name="repeat_until_shortcuts">
<item>영원히</item>
<item>특정일</item>
<item>오늘</item>
<item>내일</item>
<item>(며칠 후)</item>
<item>다음 주</item>
<item>2주에</item>
<item>다음 달</item>
</string-array>
<string name="repeat_until_title">다음까지 반복하기...</string>
<string-array name="repeat_type"> <string-array name="repeat_type">
<item>마감일로부터</item> <item>마감일로부터</item>
<item>완료일로부터</item> <item>완료일로부터</item>

@ -144,16 +144,6 @@
<string name="repeat_every">Hver %d</string> <string name="repeat_every">Hver %d</string>
<string name="repeat_interval_prompt">Gjentakelsesintervall</string> <string name="repeat_interval_prompt">Gjentakelsesintervall</string>
<string name="repeat_dont">Ikke gjenta</string> <string name="repeat_dont">Ikke gjenta</string>
<string-array name="repeat_until_shortcuts">
<item>Forever</item>
<item>Specific Day</item>
<item>I dag</item>
<item>I morgen</item>
<item>(day after)</item>
<item>Next Week</item>
<item>In Two Weeks</item>
<item>Next Month</item>
</string-array>
<string name="repeat_detail_byday">$I på $D</string> <string name="repeat_detail_byday">$I på $D</string>
<string name="repeat_detail_duedate">Hver %s</string> <string name="repeat_detail_duedate">Hver %s</string>
<string name="TPl_notification">Tidtaker aktiv for %s!</string> <string name="TPl_notification">Tidtaker aktiv for %s!</string>

@ -298,17 +298,6 @@
<item>Minu(u)t(en)</item> <item>Minu(u)t(en)</item>
<item>Ja(a)r(en)</item> <item>Ja(a)r(en)</item>
</string-array> </string-array>
<string-array name="repeat_until_shortcuts">
<item>Altijd</item>
<item>Specifieke dag</item>
<item>Vandaag</item>
<item>Morgen</item>
<item>(volgende dag)</item>
<item>Volgende week</item>
<item>Binnen twee weken</item>
<item>Volgende maand</item>
</string-array>
<string name="repeat_until_title">Herhalen tot...</string>
<string-array name="repeat_type"> <string-array name="repeat_type">
<item>vanaf einddatum</item> <item>vanaf einddatum</item>
<item>vanaf datum voltooid</item> <item>vanaf datum voltooid</item>

@ -300,17 +300,6 @@ i odzyskanie zadań z kopi zapasowej (Settings-&gt;Sync and backup-&gt;Backup-&g
<item>Minut(a/y)</item> <item>Minut(a/y)</item>
<item>Rok/lata</item> <item>Rok/lata</item>
</string-array> </string-array>
<string-array name="repeat_until_shortcuts">
<item>Zawsze</item>
<item>Konkretny dzień</item>
<item>Dzisiaj</item>
<item>Jutro</item>
<item>(pojutrze)</item>
<item>Następny tydzień</item>
<item>W ciągu dwóch tygodni</item>
<item>Przyszły miesiąc</item>
</string-array>
<string name="repeat_until_title">Powtarzaj do...</string>
<string-array name="repeat_type"> <string-array name="repeat_type">
<item>od planowanego terminu</item> <item>od planowanego terminu</item>
<item>od daty ukończenia</item> <item>od daty ukończenia</item>

@ -296,17 +296,6 @@
<item>Minuto(s)</item> <item>Minuto(s)</item>
<item>Ano(s)</item> <item>Ano(s)</item>
</string-array> </string-array>
<string-array name="repeat_until_shortcuts">
<item>Para sempre</item>
<item>Dia Específico</item>
<item>Hoje</item>
<item>Amanhã</item>
<item>(depois de amanhã)</item>
<item>Próxima semana</item>
<item>Em Duas Semanas</item>
<item>Próximo mês</item>
</string-array>
<string name="repeat_until_title">Repetir até...</string>
<string-array name="repeat_type"> <string-array name="repeat_type">
<item>à partir do dia do prazo final</item> <item>à partir do dia do prazo final</item>
<item>à partir do dia de realização</item> <item>à partir do dia de realização</item>

@ -308,17 +308,6 @@ das tarefas através de um backup em Definições-&gt;Sincronização e backup-&
<item>Minuto(s)</item> <item>Minuto(s)</item>
<item>Ano(s)</item> <item>Ano(s)</item>
</string-array> </string-array>
<string-array name="repeat_until_shortcuts">
<item>Eternamente</item>
<item>Dia concreto</item>
<item>Hoje</item>
<item>Amanhã</item>
<item>(dia antes)</item>
<item>Próxima semana</item>
<item>Em duas semanas</item>
<item>Próximo mês</item>
</string-array>
<string name="repeat_until_title">Repetir até...</string>
<string-array name="repeat_type"> <string-array name="repeat_type">
<item>da data limite</item> <item>da data limite</item>
<item>desde a data de conclusão</item> <item>desde a data de conclusão</item>

@ -308,17 +308,6 @@
<item>Минута(ы)</item> <item>Минута(ы)</item>
<item>Лет (Года)</item> <item>Лет (Года)</item>
</string-array> </string-array>
<string-array name="repeat_until_shortcuts">
<item>Всегда</item>
<item>Определённый день</item>
<item>Сегодня</item>
<item>Завтра</item>
<item>(день спустя)</item>
<item>На следующей неделе</item>
<item>В течении двух недель</item>
<item>Следующий месяц</item>
</string-array>
<string name="repeat_until_title">Повторять до ...</string>
<string-array name="repeat_type"> <string-array name="repeat_type">
<item>с намеченного времени</item> <item>с намеченного времени</item>
<item>со времени завершения</item> <item>со времени завершения</item>

@ -306,17 +306,6 @@
<item>Minúta</item> <item>Minúta</item>
<item>Rok</item> <item>Rok</item>
</string-array> </string-array>
<string-array name="repeat_until_shortcuts">
<item>Navždy</item>
<item>Konkrétny deň</item>
<item>Dnes</item>
<item>Zajtra</item>
<item>(deň po)</item>
<item>Nasledujúci týždeň</item>
<item>V dvoch týždňoch</item>
<item>Nasledujúci mesiac</item>
</string-array>
<string name="repeat_until_title">Opakovať do...</string>
<string-array name="repeat_type"> <string-array name="repeat_type">
<item>od dátumu ukončenia</item> <item>od dátumu ukončenia</item>
<item>od dátumu dokončenia</item> <item>od dátumu dokončenia</item>

@ -300,17 +300,6 @@
<item>V minutah</item> <item>V minutah</item>
<item>Let/o /i /a</item> <item>Let/o /i /a</item>
</string-array> </string-array>
<string-array name="repeat_until_shortcuts">
<item>Do preklica</item>
<item>Določen dan</item>
<item>Danes</item>
<item>Jutri</item>
<item>(dan kasneje)</item>
<item>Naslednji teden</item>
<item>V roku dveh tednov</item>
<item>Naslednji mesec</item>
</string-array>
<string name="repeat_until_title">Ponavljaj, dokler ...</string>
<string-array name="repeat_type"> <string-array name="repeat_type">
<item>od datuma dospelosti</item> <item>od datuma dospelosti</item>
<item>od datuma dokončanja</item> <item>od datuma dokončanja</item>

@ -294,17 +294,6 @@ och återställer dina aktuella uppgifter från en backup
<item>Minut(er)</item> <item>Minut(er)</item>
<item>År</item> <item>År</item>
</string-array> </string-array>
<string-array name="repeat_until_shortcuts">
<item>Forever</item>
<item>Specifik dag</item>
<item>Idag</item>
<item>Imorgon</item>
<item>(i övermorgon)</item>
<item>Nästa Vecka</item>
<item>Om två veckor</item>
<item>Nästa månad</item>
</string-array>
<string name="repeat_until_title">Repetera tills...</string>
<string-array name="repeat_type"> <string-array name="repeat_type">
<item>från förfallodatumet</item> <item>från förfallodatumet</item>
<item>från avslutningsdatumet</item> <item>från avslutningsdatumet</item>

@ -86,16 +86,6 @@
<string name="rmd_NoA_done">เสร็จเรียบร้อยแล้ว!</string> <string name="rmd_NoA_done">เสร็จเรียบร้อยแล้ว!</string>
<string name="rmd_NoA_snooze">หลับ..</string> <string name="rmd_NoA_snooze">หลับ..</string>
<string name="repeat_enabled">การเกิดซ้ำ</string> <string name="repeat_enabled">การเกิดซ้ำ</string>
<string-array name="repeat_until_shortcuts">
<item>Forever</item>
<item>Specific Day</item>
<item>วันนี้</item>
<item>พรุ่งนี้</item>
<item>(day after)</item>
<item>Next Week</item>
<item>In Two Weeks</item>
<item>Next Month</item>
</string-array>
<string name="today">วันนี้</string> <string name="today">วันนี้</string>
<string name="tomorrow">พรุ่งนี้</string> <string name="tomorrow">พรุ่งนี้</string>
<string name="yesterday">เมื่อวาน</string> <string name="yesterday">เมื่อวาน</string>

@ -272,17 +272,6 @@
<item>Dakika</item> <item>Dakika</item>
<item>Yıl</item> <item>Yıl</item>
</string-array> </string-array>
<string-array name="repeat_until_shortcuts">
<item>Sürekli</item>
<item>Belirli Gün</item>
<item>Bugün</item>
<item>Yarın</item>
<item>(ertesi gün)</item>
<item>Gelecek Hafta</item>
<item>2 Hafta İçinde</item>
<item>Gelecek Ay</item>
</string-array>
<string name="repeat_until_title">Bu kadar yinele...</string>
<string-array name="repeat_type"> <string-array name="repeat_type">
<item>son tarihten itibaren</item> <item>son tarihten itibaren</item>
<item>tamamlanma tarihinden itibaren</item> <item>tamamlanma tarihinden itibaren</item>

@ -296,17 +296,6 @@
<string name="repeat_interval_prompt">Інтервал повторення</string> <string name="repeat_interval_prompt">Інтервал повторення</string>
<string name="repeat_never">Не повторювати</string> <string name="repeat_never">Не повторювати</string>
<string name="repeat_dont">Не повторювати</string> <string name="repeat_dont">Не повторювати</string>
<string-array name="repeat_until_shortcuts">
<item>Forever</item>
<item>Specific Day</item>
<item>Сьогодні</item>
<item>Завтра</item>
<item>(day after)</item>
<item>Next Week</item>
<item>In Two Weeks</item>
<item>Next Month</item>
</string-array>
<string name="repeat_until_title">Повторювати поки...</string>
<string name="repeat_detail_byday">$I кожен $D</string> <string name="repeat_detail_byday">$I кожен $D</string>
<string name="repeat_detail_duedate">З інтервалом в %s</string> <string name="repeat_detail_duedate">З інтервалом в %s</string>
<string name="repeat_detail_duedate_until">Кожні %1$s\nпоки %2$s</string> <string name="repeat_detail_duedate_until">Кожні %1$s\nпоки %2$s</string>

@ -251,17 +251,6 @@
<item>分钟</item> <item>分钟</item>
<item></item> <item></item>
</string-array> </string-array>
<string-array name="repeat_until_shortcuts">
<item>永远重复</item>
<item>具体的一天</item>
<item>今天</item>
<item>明天</item>
<item>(后天)</item>
<item>下星期</item>
<item>两星期内</item>
<item>下个月</item>
</string-array>
<string name="repeat_until_title">重复到……</string>
<string-array name="repeat_type"> <string-array name="repeat_type">
<item>自到期日</item> <item>自到期日</item>
<item>自完成日</item> <item>自完成日</item>

@ -283,17 +283,6 @@
<item>分鐘</item> <item>分鐘</item>
<item></item> <item></item>
</string-array> </string-array>
<string-array name="repeat_until_shortcuts">
<item>永遠重複</item>
<item>具體的一天</item>
<item>今天</item>
<item>明天</item>
<item>(後天)</item>
<item>下星期</item>
<item>兩星期內</item>
<item>下個月</item>
</string-array>
<string name="repeat_until_title">重複到……</string>
<string-array name="repeat_type"> <string-array name="repeat_type">
<item>自到期日</item> <item>自到期日</item>
<item>自完成日</item> <item>自完成日</item>

@ -27,19 +27,6 @@
<item>Year(s)</item> <item>Year(s)</item>
</string-array> </string-array>
<string-array name="repeat_until_shortcuts">
<item>Forever</item>
<item>Specific Day</item>
<item>Today</item>
<item>Tomorrow</item>
<item>(day after)</item>
<item>Next Week</item>
<item>In Two Weeks</item>
<item>Next Month</item>
</string-array>
<string name="repeat_until_title">Repeat until...</string>
<string-array name="repeat_type"> <string-array name="repeat_type">
<!-- slide 20c: repeat type (date to repeat from) --> <!-- slide 20c: repeat type (date to repeat from) -->
<item>from due date</item> <item>from due date</item>

@ -56,18 +56,6 @@
<style name="TaskListView" parent="ListView"> <style name="TaskListView" parent="ListView">
</style> </style>
<!-- =============================================== TaskEditActivity == -->
<style name="TEA_Dialog" parent="Theme.AppCompat.Light.Dialog">
<item name="asTextColor">@android:color/black</item>
<item name="android:windowNoTitle">true</item>
</style>
<style name="TEA_Dialog_Dark" parent="Theme.AppCompat.Dialog">
<item name="asTextColor">@android:color/white</item>
<item name="android:windowNoTitle">true</item>
</style>
<!-- ==================================================== TaskAdapter == --> <!-- ==================================================== TaskAdapter == -->
<style name="TextAppearance.TAd_ItemTitle"> <style name="TextAppearance.TAd_ItemTitle">

Loading…
Cancel
Save