diff --git a/astrid/res/layout/control_dialog_ok.xml b/astrid/res/layout/control_dialog_ok.xml
index 7f7e7a881..55b1dc07a 100644
--- a/astrid/res/layout/control_dialog_ok.xml
+++ b/astrid/res/layout/control_dialog_ok.xml
@@ -3,7 +3,7 @@
android:id="@+id/edit_dlg_ok"
android:layout_width="150dip"
android:layout_height="45dip"
- android:layout_marginTop="10dip"
+ android:layout_marginTop="5dip"
android:layout_marginBottom="5dip"
android:layout_weight="1"
android:layout_gravity="center_horizontal"
diff --git a/astrid/res/layout/control_set_deadline_display.xml b/astrid/res/layout/control_set_deadline_display.xml
index e6c73ba89..7838ba6a9 100644
--- a/astrid/res/layout/control_set_deadline_display.xml
+++ b/astrid/res/layout/control_set_deadline_display.xml
@@ -13,12 +13,12 @@
android:gravity="center_vertical">
+ android:src="@drawable/icn_edit_when"/>
@@ -21,6 +21,7 @@
+
+
\ No newline at end of file
diff --git a/astrid/res/layout/task_edit_activity.xml b/astrid/res/layout/task_edit_activity.xml
index e2a56bf12..3cc573f81 100644
--- a/astrid/res/layout/task_edit_activity.xml
+++ b/astrid/res/layout/task_edit_activity.xml
@@ -120,52 +120,6 @@
android:layout_height="fill_parent"
android:orientation="vertical">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Title
- When
+ When
Task Summary
diff --git a/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java
index ae0651525..5a58200d3 100755
--- a/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java
+++ b/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java
@@ -93,7 +93,6 @@ import com.todoroo.astrid.ui.HideUntilControlSet;
import com.todoroo.astrid.ui.ImportanceControlSet;
import com.todoroo.astrid.ui.ReminderControlSet;
import com.todoroo.astrid.voice.VoiceInputAssistant;
-import com.todoroo.astrid.welcome.HelpInfoPopover;
/**
* This activity is responsible for creating new tasks and editing existing
@@ -256,8 +255,6 @@ public final class TaskEditActivity extends Activity {
LinearLayout basicControls = (LinearLayout) findViewById(R.id.basic_controls);
LinearLayout whenDialogView = (LinearLayout) LayoutInflater.from(this).inflate(
R.layout.task_edit_when_controls, null);
- LinearLayout whenControls = (LinearLayout) whenDialogView.findViewById(R.id.when_controls);
- LinearLayout whenHeader = (LinearLayout) findViewById(R.id.when_header);
LinearLayout moreControls = (LinearLayout) findViewById(R.id.more_controls);
constructWhenDialog(whenDialogView);
@@ -282,31 +279,21 @@ public final class TaskEditActivity extends Activity {
controlSetMap.put(getString(R.string.TEA_ctrl_who_pref),
peopleControlSet);
- DeadlineControlSet deadlineControl = new DeadlineControlSet(
- TaskEditActivity.this, R.layout.control_set_deadline,
- R.layout.control_set_deadline_display, whenHeader,
- R.id.aux_date, R.id.when_shortcut_container, R.id.when_label,
- R.id.when_image);
- controls.add(deadlineControl);
- whenControls.addView(deadlineControl.getDisplayView());
-
RepeatControlSet repeatControls = new RepeatControlSet(
TaskEditActivity.this, R.layout.control_set_repeat,
R.layout.control_set_repeat_display, R.string.repeat_enabled);
controls.add(repeatControls);
- whenControls.addView(repeatControls.getDisplayView());
GCalControlSet gcalControl = new GCalControlSet(TaskEditActivity.this,
R.layout.control_set_gcal, R.layout.control_set_gcal_display,
R.string.gcal_TEA_addToCalendar_label);
controls.add(gcalControl);
- whenControls.addView(gcalControl.getDisplayView());
- hideUntilControls = new HideUntilControlSet(TaskEditActivity.this,
- R.layout.control_set_hide, R.layout.control_set_hide_display,
- R.string.hide_until_prompt);
- controls.add(hideUntilControls);
- whenControls.addView(hideUntilControls.getDisplayView());
+ DeadlineControlSet deadlineControl = new DeadlineControlSet(
+ TaskEditActivity.this, R.layout.control_set_deadline,
+ R.layout.control_set_deadline_display, repeatControls.getDisplayView(), gcalControl.getDisplayView());
+ controls.add(deadlineControl);
+ controlSetMap.put(getString(R.string.TEA_ctrl_when_pref), deadlineControl);
ImportanceControlSet importanceControl = new ImportanceControlSet(
TaskEditActivity.this, R.layout.control_set_importance);
@@ -337,6 +324,12 @@ public final class TaskEditActivity extends Activity {
controlSetMap.put(getString(R.string.TEA_ctrl_reminders_pref),
reminderControl);
+ hideUntilControls = new HideUntilControlSet(TaskEditActivity.this,
+ R.layout.control_set_hide, R.layout.control_set_hide_display,
+ R.string.hide_until_prompt);
+ controls.add(hideUntilControls);
+ reminderControl.addViewToBody(hideUntilControls.getDisplayView());
+
TimerControlSet timerControl = new TimerControlSet(
TaskEditActivity.this, R.layout.control_set_timers,
R.layout.control_set_timers_extras_display,
@@ -375,8 +368,6 @@ public final class TaskEditActivity extends Activity {
else
itemOrder = getResources().getStringArray(R.array.TEA_control_sets_prefs);
String moreSectionTrigger = getString(R.string.TEA_ctrl_more_pref);
- String whenViewDescriptor = getString(R.string.TEA_ctrl_when_pref);
- View whenView = findViewById(R.id.when_container);
String shareViewDescriptor = getString(R.string.TEA_ctrl_share_pref);
LinearLayout section = basicControls;
for (int i = 0; i < itemOrder.length; i++) {
@@ -387,11 +378,7 @@ public final class TaskEditActivity extends Activity {
TaskEditControlSet curr = controlSetMap.get(item);
if (item.equals(shareViewDescriptor))
section.addView(peopleControlSet.getSharedWithRow());
- else if (item.equals(whenViewDescriptor)) {
- LinearLayout parent = (LinearLayout) whenView.getParent();
- parent.removeView(whenView);
- section.addView(whenView);
- } else if (curr != null)
+ else if (curr != null)
section.addView(curr.getDisplayView());
}
}
@@ -450,8 +437,6 @@ public final class TaskEditActivity extends Activity {
Button discardButtonGeneral = (Button) findViewById(R.id.discard);
discardButtonGeneral.setOnClickListener(mDiscardListener);
- findViewById(R.id.when_header).setOnClickListener(mExpandWhenListener);
-
findViewById(R.id.more_header).setOnClickListener(mExpandMoreListener);
findViewById(R.id.activity).setOnClickListener(new View.OnClickListener() {
@@ -475,32 +460,16 @@ public final class TaskEditActivity extends Activity {
dismissDialogButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- showWhenShortcutHelp();
DialogUtilities.dismissDialog(TaskEditActivity.this, whenDialog);
}
});
- whenDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
- @Override
- public void onCancel(DialogInterface dialog) {
- showWhenShortcutHelp();
- }
- });
-
DisplayMetrics metrics = new DisplayMetrics();
this.getWindowManager().getDefaultDisplay().getMetrics(metrics);
whenDialog.setTitle(R.string.TEA_when_dialog_title);
whenDialog.addContentView(whenDialogView, new LayoutParams(metrics.widthPixels - (int)(30 * metrics.density), LayoutParams.WRAP_CONTENT));
}
- private void showWhenShortcutHelp() {
- if (!Preferences.getBoolean(R.string.p_showed_when_shortcut, false)) {
- Preferences.setBoolean(R.string.p_showed_when_shortcut, true);
- Preferences.setBoolean(R.string.p_showed_when_row, true);
- HelpInfoPopover.showPopover(this, findViewById(R.id.when_shortcut_container), R.string.help_popover_when_shortcut, null);
- }
- }
-
/**
* Initialize task edit page in the background
*
diff --git a/astrid/src/com/todoroo/astrid/ui/DeadlineControlSet.java b/astrid/src/com/todoroo/astrid/ui/DeadlineControlSet.java
index 5f3c207fb..c5f1bb89d 100644
--- a/astrid/src/com/todoroo/astrid/ui/DeadlineControlSet.java
+++ b/astrid/src/com/todoroo/astrid/ui/DeadlineControlSet.java
@@ -1,53 +1,39 @@
package com.todoroo.astrid.ui;
import android.app.Activity;
+import android.view.LayoutInflater;
import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.Button;
+import android.widget.LinearLayout;
import android.widget.TextView;
import com.timsu.astrid.R;
-import com.todoroo.andlib.utility.Preferences;
+import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.astrid.data.Task;
-import com.todoroo.astrid.ui.DateAndTimePicker.OnDateChangedListener;
-import com.todoroo.astrid.welcome.HelpInfoPopover;
public class DeadlineControlSet extends PopupControlSet {
private final DateAndTimePicker dateAndTimePicker;
- private final TextView auxDisplay;
- private View shortcutView;
- public DeadlineControlSet(Activity activity, int viewLayout, int displayViewLayout, View extensionView, int auxDisplayId, int...dateShortcutViews) {
+ public DeadlineControlSet(Activity activity, int viewLayout, int displayViewLayout, View...extraViews) {
super(activity, viewLayout, displayViewLayout, 0);
dateAndTimePicker = (DateAndTimePicker) getView().findViewById(R.id.date_and_time);
- auxDisplay = (TextView) extensionView.findViewById(auxDisplayId);
- setUpListeners(dateShortcutViews);
- }
-
- private void setUpListeners(int[] dateShortcutViews) {
-
- dateAndTimePicker.setOnDateChangedListener(new OnDateChangedListener() {
- @Override
- public void onDateChanged() {
- refreshDisplayView();
- }
- });
+ LinearLayout body = (LinearLayout) getView().findViewById(R.id.datetime_body);
+ for (View v : extraViews) {
+ body.addView(v);
+ }
- View.OnClickListener dateShortcutListener = new View.OnClickListener() {
+ Button okButton = (Button) LayoutInflater.from(activity).inflate(R.layout.control_dialog_ok, null);
+ okButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
- dialog.show();
- Preferences.setBoolean(R.string.p_showed_when_shortcut, true);
+ onOkClick();
+ DialogUtilities.dismissDialog(DeadlineControlSet.this.activity, DeadlineControlSet.this.dialog);
}
- };
-
- for (int i : dateShortcutViews) {
- View v = activity.findViewById(i);
- if (v != null) {
- shortcutView = v;
- v.setOnClickListener(dateShortcutListener);
- }
- }
+ });
+ body.addView(okButton);
}
@Override
@@ -55,7 +41,6 @@ public class DeadlineControlSet extends PopupControlSet {
TextView dateDisplay = (TextView) getDisplayView().findViewById(R.id.deadline_display);
String toDisplay = dateAndTimePicker.getDisplayString(activity);
dateDisplay.setText(toDisplay);
- auxDisplay.setText(toDisplay);
}
@Override
@@ -71,35 +56,4 @@ public class DeadlineControlSet extends PopupControlSet {
task.setValue(Task.DUE_DATE, dueDate);
return null;
}
-
- @Override
- protected void onOkClick() {
- super.onOkClick();
- showHelp();
- }
-
- @Override
- protected void onCancelClick() {
- super.onCancelClick();
- showHelp();
- }
-
- private void showHelp() {
- if (!Preferences.getBoolean(R.string.p_showed_when_shortcut, false)) {
- if (shortcutView != null) {
- Preferences.setBoolean(R.string.p_showed_when_shortcut, true);
- Preferences.setBoolean(R.string.p_showed_when_row, true);
- HelpInfoPopover.showPopover(activity, shortcutView, R.string.help_popover_when_shortcut, null);
- }
- }
-
- if (!Preferences.getBoolean(R.string.p_showed_when_row, false)) {
- if (displayView != null) {
- Preferences.setBoolean(R.string.p_showed_when_shortcut, true);
- Preferences.setBoolean(R.string.p_showed_when_row, true);
- HelpInfoPopover.showPopover(activity, activity.findViewById(R.id.when_container), R.string.help_popover_when_row, null);
- }
- }
- }
-
}
diff --git a/astrid/src/com/todoroo/astrid/ui/PopupControlSet.java b/astrid/src/com/todoroo/astrid/ui/PopupControlSet.java
index 973899363..e0cb54b48 100644
--- a/astrid/src/com/todoroo/astrid/ui/PopupControlSet.java
+++ b/astrid/src/com/todoroo/astrid/ui/PopupControlSet.java
@@ -3,7 +3,6 @@ package com.todoroo.astrid.ui;
import android.app.Activity;
import android.app.Dialog;
import android.content.DialogInterface;
-import android.util.DisplayMetrics;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
@@ -67,9 +66,7 @@ public abstract class PopupControlSet extends TaskEditControlSet {
else
d.setTitle(title);
View v = getView();
- DisplayMetrics metrics = new DisplayMetrics();
- activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
- d.setContentView(v, new LayoutParams(metrics.widthPixels - (int)(30 * metrics.density), LayoutParams.WRAP_CONTENT));
+ d.setContentView(v, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
Button dismiss = (Button) v.findViewById(R.id.edit_dlg_ok);
if (dismiss != null) {
dismiss.setOnClickListener(new OnClickListener() {
@@ -80,6 +77,11 @@ public abstract class PopupControlSet extends TaskEditControlSet {
}
});
}
+ LayoutParams params = d.getWindow().getAttributes();
+ params.width = LayoutParams.FILL_PARENT;
+ params.height = LayoutParams.WRAP_CONTENT;
+ d.getWindow().setAttributes((android.view.WindowManager.LayoutParams) params);
+
d.setOnCancelListener(cancelListener);
d.setOwnerActivity(PopupControlSet.this.activity);
return d;
diff --git a/astrid/src/com/todoroo/astrid/ui/ReminderControlSet.java b/astrid/src/com/todoroo/astrid/ui/ReminderControlSet.java
index 47fc32675..c71d5137b 100644
--- a/astrid/src/com/todoroo/astrid/ui/ReminderControlSet.java
+++ b/astrid/src/com/todoroo/astrid/ui/ReminderControlSet.java
@@ -1,6 +1,7 @@
package com.todoroo.astrid.ui;
import android.app.Activity;
+import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.LinearLayout;
@@ -19,6 +20,7 @@ import com.todoroo.astrid.data.Task;
public class ReminderControlSet extends PopupControlSet {
private final CheckBox during, after;
private final Spinner mode;
+ private final LinearLayout remindersBody;
private final RandomReminderControlSet randomControlSet;
private final AlarmControlSet alarmControl;
@@ -32,8 +34,8 @@ public class ReminderControlSet extends PopupControlSet {
randomControlSet = new RandomReminderControlSet(activity, getView(), -1);
alarmControl = new AlarmControlSet(activity, R.layout.control_set_alarms);
- LinearLayout body = (LinearLayout) getView().findViewById(R.id.reminders_body);
- body.addView(alarmControl.getView());
+ remindersBody = (LinearLayout) getView().findViewById(R.id.reminders_body);
+ remindersBody.addView(alarmControl.getView());
String[] list = new String[] {
activity.getString(R.string.TEA_reminder_mode_once),
@@ -51,6 +53,10 @@ public class ReminderControlSet extends PopupControlSet {
});
}
+ public void addViewToBody(View v) {
+ remindersBody.addView(v, 0);
+ }
+
public void setValue(int flags) {
during.setChecked((flags & Task.NOTIFY_AT_DEADLINE) > 0);
after.setChecked((flags &