mirror of https://github.com/tasks/tasks
Use new date picker in repeat control
parent
a8958ac287
commit
0f1f692984
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
@ -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"/>
|
|
Loading…
Reference in New Issue