Themed all the task edit dialogs, including the calendar picker

pull/14/head
Sam Bosley 13 years ago
parent 3ae7857127
commit 943e9b6219

@ -58,6 +58,7 @@ import com.todoroo.astrid.service.StatisticsConstants;
import com.todoroo.astrid.service.StatisticsService;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.service.ThemeService;
import com.todoroo.astrid.tags.TagService;
import com.todoroo.astrid.ui.PeopleContainer;
import com.todoroo.astrid.ui.PeopleContainer.OnAddNewPersonListener;
@ -122,7 +123,7 @@ public class EditPeopleControlSet extends PopupControlSet {
sharedWithRow = LayoutInflater.from(activity).inflate(R.layout.control_set_collaborators_display, null);
sharedWithView = LayoutInflater.from(activity).inflate(R.layout.control_set_collaborators, null);
sharedWithDialog = new Dialog(activity, 0);
sharedWithDialog = new Dialog(activity, ThemeService.getDialogTheme());
sharedWithDialog.setTitle(R.string.actfm_EPA_collaborators_header);
View v = getSharedWithView();
DisplayMetrics metrics = new DisplayMetrics();
@ -262,7 +263,6 @@ public class EditPeopleControlSet extends PopupControlSet {
name.setText(person.optString("name"));
name.setTextAppearance(activity, R.style.TextAppearance_Medium);
tag.setText(activity.getString(R.string.actfm_EPA_list, person.optString("tag")));
tag.setTextAppearance(activity, android.R.style.TextAppearance);
collaborators.addView(contact);
}

@ -64,7 +64,7 @@ public final class TagsControlSet extends PopupControlSet {
selectedTags = (ListView) getView().findViewById(R.id.existingTags);
selectedTags.setAdapter(new ArrayAdapter<String>(activity,
android.R.layout.simple_list_item_multiple_choice, allTagNames));
R.layout.simple_list_item_multiple_choice_themed, allTagNames));
selectedTags.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
this.newTags = (LinearLayout) getView().findViewById(R.id.newTags);

@ -3,5 +3,5 @@
<item android:state_checked="true"
android:color="@android:color/white"/>
<item android:state_checked="false"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
</selector>

@ -3,8 +3,9 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<corners
android:bottomRightRadius="5dip"
android:bottomLeftRadius="5dip"/>
<solid android:color="@android:color/transparent"/>
</shape>

@ -3,7 +3,7 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<solid
android:color="@color/task_edit_date_shortcuts_bg"/>
<corners

@ -3,5 +3,6 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<solid android:color="@android:color/transparent"/>
</shape>

@ -5,5 +5,5 @@
android:color="@color/task_edit_date_shortcuts_bg"/>
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
</shape>

@ -3,10 +3,11 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<corners
android:topLeftRadius="5dip"
android:topRightRadius="5dip"
android:bottomLeftRadius="5dip"
android:bottomRightRadius="5dip"/>
<solid android:color="@android:color/transparent"/>
</shape>

@ -3,7 +3,7 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<solid
android:color="@color/task_edit_date_shortcuts_bg"/>
<corners

@ -3,8 +3,9 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<corners
android:topLeftRadius="5dip"
android:topRightRadius="5dip"/>
<solid android:color="@android:color/transparent"/>
</shape>

@ -3,7 +3,7 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<solid
android:color="@color/task_edit_date_shortcuts_bg"/>
<corners

@ -3,7 +3,8 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<corners
android:bottomRightRadius="5dip"/>
<solid android:color="@android:color/transparent"/>
</shape>

@ -3,7 +3,7 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<solid
android:color="@color/task_edit_date_shortcuts_bg"/>
<corners

@ -3,7 +3,8 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<corners
android:bottomLeftRadius="5dip"/>
<solid android:color="@android:color/transparent"/>
</shape>

@ -3,7 +3,7 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<solid
android:color="@color/task_edit_date_shortcuts_bg"/>
<corners

@ -3,7 +3,8 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<corners
android:topLeftRadius="5dip"/>
<solid android:color="@android:color/transparent"/>
</shape>

@ -3,7 +3,7 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<solid
android:color="@color/task_edit_date_shortcuts_bg"/>
<corners

@ -3,7 +3,8 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<corners
android:topRightRadius="5dip"/>
<solid android:color="@android:color/transparent"/>
</shape>

@ -3,7 +3,7 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<solid
android:color="@color/task_edit_date_shortcuts_bg"/>
<corners

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/black"/>
<solid
android:color="@android:color/white"/>
<corners
android:topLeftRadius="5dip"
android:topRightRadius="5dip"
android:bottomLeftRadius="5dip"
android:bottomRightRadius="5dip"/>
</shape>

@ -3,8 +3,9 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<corners
android:topLeftRadius="5dip"
android:bottomRightRadius="5dip"/>
<solid android:color="@android:color/transparent"/>
</shape>

@ -3,7 +3,7 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<solid
android:color="@color/task_edit_date_shortcuts_bg"/>
<corners

@ -3,8 +3,9 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<corners
android:topRightRadius="5dip"
android:bottomLeftRadius="5dip"/>
<solid android:color="@android:color/transparent"/>
</shape>

@ -3,7 +3,7 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<solid
android:color="@color/task_edit_date_shortcuts_bg"/>
<corners

@ -12,7 +12,16 @@
android:layout_gravity="center_vertical"
android:scaleType="fitCenter"
astrid:defaultSrc="@drawable/icn_default_person_image" />
<include layout="@android:layout/simple_list_item_single_choice"
android:layout_toRightOf="@id/person_image"/>
<CheckedTextView
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="?attr/asTextColor"
android:gravity="center_vertical"
android:checkMark="?android:attr/listChoiceIndicatorSingle"
android:paddingLeft="6dip"
android:paddingRight="6dip"
android:layout_toRightOf="@id/person_image"/>
</LinearLayout>

@ -15,9 +15,9 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:background="@android:color/black"
android:background="@android:color/transparent"
android:text=":"
android:textColor="@android:color/white"
android:textColor="?attr/asTextColor"
android:gravity="center"
/>
<com.todoroo.astrid.ui.DeadlineNumberPicker

@ -34,7 +34,8 @@
android:layout_marginLeft="55dip"
android:layout_below="@android:id/text1"
style="@android:attr/dropDownItemStyle"
android:textAppearance="@android:attr/textAppearanceInverse"
android:textAppearance="@android:attr/textAppearance"
android:textColor="?attr/asTextColor"
android:singleLine="true"
android:textSize="14sp"/>

@ -32,7 +32,7 @@
android:id="@+id/timepicker_left_border"
android:layout_height="fill_parent"
android:layout_width="2dip"
android:background="@android:color/darker_gray"
android:background="@color/task_edit_deadline_gray"
android:visibility="gone"
/>
@ -44,14 +44,14 @@
android:gravity="center"
android:inputType="phone"
android:textSize="30sp"
android:textColor="@android:color/white"
android:textColor="@color/task_edit_deadline_gray"
android:background="@android:color/transparent"
/>
<View
android:id="@+id/timepicker_right_border"
android:layout_height="fill_parent"
android:layout_width="2dip"
android:background="@android:color/darker_gray"
android:background="@color/task_edit_deadline_gray"
android:visibility="gone"
/>
</LinearLayout>

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:textAppearance="?android:attr/textAppearanceLarge"
android:gravity="center_vertical"
android:checkMark="?android:attr/listChoiceIndicatorMultiple"
android:paddingLeft="8dip"
android:paddingRight="8dip"
android:textColor="?attr/asTextColor"
/>

@ -25,6 +25,7 @@
<color name="task_edit_selected">#438cb6</color>
<color name="task_edit_date_shortcuts_bg">#0b78a5</color>
<color name="task_edit_deadline_gray">#888888</color>
</resources>

@ -100,7 +100,7 @@
<style name="TextAppearance.GEN_EditLabel.DLG_EditLabel">
<item name="android:textColor">@android:color/white</item>
<!-- <item name="android:textColor">@android:color/white</item> -->
</style>
<!--================================================== Custom Dialogs == -->
@ -167,14 +167,20 @@
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
<item name="asTextColor">#ffffff</item>
</style>
<style name="Theme.TEA_Dialog.White">
<item name="android:windowBackground">@drawable/task_edit_dialog_background_white</item>
<item name="asTextColor">#000000</item>
</style>
<style name="TEA_DialogWindowTitle">
<item name="android:maxLines">1</item>
<item name="android:scrollHorizontally">true</item>
<item name="android:textSize">18sp</item>
<item name="android:textStyle">normal</item>
<item name="android:textColor">#ffffff</item>
<item name="android:maxLines">1</item>
<item name="android:scrollHorizontally">true</item>
<item name="android:textSize">18sp</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">?attr/asTextColor</item>
</style>
<!-- ==================================================== TaskAdapter == -->

@ -350,7 +350,7 @@ public final class TaskEditActivity extends Activity {
if (orderPreference != null)
itemOrder = orderPreference.split(BeastModePreferenceActivity.BEAST_MODE_PREF_ITEM_SEPARATOR);
else
itemOrder = getResources().getStringArray(R.array.TEA_control_sets);
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);
@ -471,14 +471,8 @@ public final class TaskEditActivity extends Activity {
}
private void constructWhenDialog(View whenDialogView) {
int theme = ThemeService.getTheme();
if (theme == R.style.Theme || theme == R.style.Theme_Transparent) {
whenDialog = new Dialog(this, R.style.Theme_TEA_Dialog);//R.style.Theme_WhenDialog
//whenDialogView.setBackgroundColor(getResources().getColor(android.R.color.black));
} else {
whenDialog = new Dialog(this, R.style.Theme_TEA_Dialog); //R.style.Theme_White_WhenDialog
//whenDialogView.setBackgroundColor(getResources().getColor(android.R.color.white));
}
int theme = ThemeService.getDialogTheme();
whenDialog = new Dialog(this, theme);
Button dismissDialogButton = (Button) whenDialogView.findViewById(R.id.when_dismiss);
dismissDialogButton.setOnClickListener(new View.OnClickListener() {

@ -29,4 +29,15 @@ public class ThemeService {
return R.style.Theme_White;
}
public static int getDialogTheme() {
int themeSetting = ThemeService.getTheme();
int theme;
if (themeSetting == R.style.Theme || themeSetting == R.style.Theme_Transparent) {
theme = R.style.Theme_TEA_Dialog;
} else {
theme = R.style.Theme_TEA_Dialog_White;
}
return theme;
}
}

@ -9,6 +9,7 @@ import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.drawable.BitmapDrawable;
@ -38,14 +39,14 @@ public class CalendarView extends View {
private boolean ignoreNextTouch;
private Paint borderPaint;
private Paint borderRightAlignPaint;
private Paint backColorPaint;
private Paint whiteCenterAlignLargePaint;
private Paint calendarNumberRightAlignPaint;
private Paint calendarSelectedNumberRightAlignPaint;
private Paint backgroundColorPaint;
private Paint monthCenterAlignLargePaint;
private Paint centerAlignPaint;
private Paint todayCalendarPaint;
private Paint selectedCalendarPaint;
private Paint dayPaint;
private Paint calendarPaint;
private float density;
private int leftArrowHeight;
@ -103,45 +104,48 @@ public class CalendarView extends View {
borderPaint = new Paint();
borderPaint.setAntiAlias(true);
borderPaint.setColor(Color.WHITE);
borderPaint.setColor(r.getColor(R.color.task_edit_deadline_gray));
borderPaint.setStyle(Style.STROKE);
borderRightAlignPaint = new Paint();
borderRightAlignPaint.setAntiAlias(true);
borderRightAlignPaint.setColor(Color.WHITE);
borderRightAlignPaint.setTextSize(TEXT_SIZE * density);
borderRightAlignPaint.setTextAlign(Paint.Align.RIGHT);
calendarNumberRightAlignPaint = new Paint();
calendarNumberRightAlignPaint.setAntiAlias(true);
calendarNumberRightAlignPaint.setColor(r.getColor(R.color.task_edit_deadline_gray));
calendarNumberRightAlignPaint.setTextSize(TEXT_SIZE * density);
calendarNumberRightAlignPaint.setTextAlign(Paint.Align.RIGHT);
calendarSelectedNumberRightAlignPaint = new Paint();
calendarSelectedNumberRightAlignPaint.setAntiAlias(true);
calendarSelectedNumberRightAlignPaint.setColor(Color.WHITE);
calendarSelectedNumberRightAlignPaint.setTextSize(TEXT_SIZE * density);
calendarSelectedNumberRightAlignPaint.setTextAlign(Paint.Align.RIGHT);
dayPaint = new Paint();
dayPaint.setAntiAlias(true);
dayPaint.setColor(Color.rgb(137, 135, 132));
calendarPaint = new Paint();
calendarPaint.setAntiAlias(true);
calendarPaint.setColor(Color.BLACK);
whiteCenterAlignLargePaint = new Paint();
whiteCenterAlignLargePaint.setAntiAlias(true);
whiteCenterAlignLargePaint.setColor(Color.WHITE);
whiteCenterAlignLargePaint.setTextAlign(Paint.Align.CENTER);
whiteCenterAlignLargePaint.setTextSize(MONTH_TEXT_SIZE * density);
monthCenterAlignLargePaint = new Paint();
monthCenterAlignLargePaint.setAntiAlias(true);
monthCenterAlignLargePaint.setColor(r.getColor(R.color.task_edit_deadline_gray));
monthCenterAlignLargePaint.setTextAlign(Paint.Align.CENTER);
monthCenterAlignLargePaint.setTextSize(MONTH_TEXT_SIZE * density);
centerAlignPaint = new Paint();
centerAlignPaint.setAntiAlias(true);
centerAlignPaint.setColor(Color.WHITE);
centerAlignPaint.setColor(r.getColor(R.color.task_edit_deadline_gray));
centerAlignPaint.setTextAlign(Paint.Align.CENTER);
centerAlignPaint.setTextSize(TEXT_SIZE * density);
todayCalendarPaint = new Paint();
todayCalendarPaint.setAntiAlias(true);
todayCalendarPaint.setColor(r.getColor(android.R.color.darker_gray));
todayCalendarPaint.setColor(r.getColor(R.color.task_edit_deadline_gray));
selectedCalendarPaint = new Paint();
selectedCalendarPaint.setAntiAlias(true);
selectedCalendarPaint.setColor(r.getColor(R.color.task_edit_date_shortcuts_bg));
backColorPaint = new Paint();
backColorPaint.setAntiAlias(true);
backColorPaint.setColor(Color.BLACK);
backgroundColorPaint = new Paint();
backgroundColorPaint.setAntiAlias(true);
backgroundColorPaint.setColor(Color.TRANSPARENT);
setPadding(PADDING, PADDING, PADDING, PADDING);
@ -229,7 +233,7 @@ public class CalendarView extends View {
super.onDraw(canvas);
// Background
canvas.drawRect(0, 0, getMeasuredWidth(), getMeasuredHeight(), backColorPaint);
canvas.drawRect(0, 0, getMeasuredWidth(), getMeasuredHeight(), backgroundColorPaint);
// Outermost border -- Start
// RectF outerMostBorder = new RectF();
@ -246,7 +250,7 @@ public class CalendarView extends View {
float monthTitleHeight = (MONTH_TEXT_SIZE + 10) * density;
rectF.set(15, 15, getMeasuredWidth() - 15, monthTitleHeight);
canvas.drawRoundRect(rectF, CURVE_RADIUS, CURVE_RADIUS, backColorPaint);
canvas.drawRoundRect(rectF, CURVE_RADIUS, CURVE_RADIUS, backgroundColorPaint);
rectF.set(16, 16, getMeasuredWidth() - 16, monthTitleHeight - 1);
// canvas.drawRoundRect(rectF, CURVE_RADIUS, CURVE_RADIUS, backColorPaint);
@ -280,7 +284,7 @@ public class CalendarView extends View {
int monthX = getMeasuredWidth() / 2;
int monthY = (int) (monthTitleHeight / 2 + 15);
String monthYear = (String) DateFormat.format("MMMM yyyy", getCoercedDate(calendar.getTime(), calendarDate)); //calendarDate.getTime() == 0 ? calendar.getTime() : calendarDate); //$NON-NLS-1$
canvas.drawText(monthYear, monthX, monthY, whiteCenterAlignLargePaint);
canvas.drawText(monthYear, monthX, monthY, monthCenterAlignLargePaint);
// Month text -- End
// Day heading -- Start
@ -329,6 +333,7 @@ public class CalendarView extends View {
boolean firstTime = true;
int dayOfMonth = 1;
Paint colorPaint;
Paint textPaint;
dayLeftArr = new int[lastDateOfThisMonth];
dayTopArr = new int[lastDateOfThisMonth];
@ -346,10 +351,13 @@ public class CalendarView extends View {
if (dayOfMonth <= lastDateOfThisMonth) {
if (currentHighlightDay == dayOfMonth) {
colorPaint = selectedCalendarPaint;
textPaint = calendarSelectedNumberRightAlignPaint;
} else if(today == dayOfMonth) {
colorPaint = todayCalendarPaint;
textPaint = calendarSelectedNumberRightAlignPaint;
} else {
colorPaint = calendarPaint;
colorPaint = backgroundColorPaint;
textPaint = calendarNumberRightAlignPaint;
}
dayLeftArr[dayOfMonth-1] = dayLeft;
dayTopArr[dayOfMonth-1] = dayTop;
@ -360,8 +368,8 @@ public class CalendarView extends View {
canvas.drawRoundRect(rectF, CURVE_RADIUS, CURVE_RADIUS, colorPaint);
textX = dayLeft + boxWidth - TEXT_PADDING * 3;
textY = dayTop + borderRightAlignPaint.getTextSize() + TEXT_PADDING;
canvas.drawText(String.valueOf(dayOfMonth), textX, textY, borderRightAlignPaint);
textY = dayTop + calendarNumberRightAlignPaint.getTextSize() + TEXT_PADDING;
canvas.drawText(String.valueOf(dayOfMonth), textX, textY, textPaint);
dayLeft += boxWidth + PADDING;

@ -9,6 +9,7 @@ import android.view.WindowManager.LayoutParams;
import android.widget.Button;
import com.timsu.astrid.R;
import com.todoroo.astrid.service.ThemeService;
public class DateAndTimeDialog extends Dialog {
@ -25,7 +26,7 @@ public class DateAndTimeDialog extends Dialog {
private DateAndTimeDialogListener listener;
public DateAndTimeDialog(Context context, long startDate) {
super(context);
super(context, ThemeService.getDialogTheme());
/** 'Window.FEATURE_NO_TITLE' - Used to hide the title */
requestWindowFeature(Window.FEATURE_NO_TITLE);

@ -14,6 +14,7 @@ import android.widget.Button;
import com.timsu.astrid.R;
import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.astrid.helper.TaskEditControlSet;
import com.todoroo.astrid.service.ThemeService;
public abstract class PopupControlSet extends TaskEditControlSet {
@ -59,7 +60,8 @@ public abstract class PopupControlSet extends TaskEditControlSet {
}
protected Dialog buildDialog(int title, final DialogInterface.OnClickListener okListener, DialogInterface.OnCancelListener cancelListener) {
final Dialog d = new Dialog(activity, R.style.Theme_TEA_Dialog);
int theme = ThemeService.getDialogTheme();
final Dialog d = new Dialog(activity, theme);
if (title == 0)
d.requestWindowFeature(Window.FEATURE_NO_TITLE);
else

Loading…
Cancel
Save