Updates to task adapter row, placeholders for checkboxes

pull/14/head
Sam Bosley 14 years ago
parent 34e751e632
commit 2d7ebe67b9

@ -4,38 +4,37 @@
xmlns:astrid="http://schemas.android.com/apk/res/com.timsu.astrid" xmlns:astrid="http://schemas.android.com/apk/res/com.timsu.astrid"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:minHeight="40dip" android:minHeight="60dip"
android:gravity="center_vertical"
android:orientation="horizontal"> android:orientation="horizontal">
<!-- importance -->
<View android:id="@+id/importance"
android:layout_width="4dip"
android:layout_height="fill_parent" />
<RelativeLayout android:id="@+id/rowBody" <RelativeLayout android:id="@+id/rowBody"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="15dip"
android:paddingBottom="4dip"> android:paddingBottom="4dip">
<!-- completion area -->
<View android:id="@+id/completeArea"
android:layout_width="50dip"
android:layout_height="40dip"/>
<!-- completion check-box --> <!-- completion check-box -->
<CheckBox android:id="@+id/completeBox" <CheckBox android:id="@+id/completeBox"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="26dip" android:layout_height="wrap_content"
android:layout_marginTop="7dip" android:layout_alignParentTop="true"
android:layout_marginLeft="5dip" android:layout_marginTop="5dip"
android:layout_gravity="top"
android:button="@drawable/btn_check"/> android:button="@drawable/btn_check"/>
<!-- assignee photo -->
<greendroid.widget.AsyncImageView android:id="@+id/picture"
android:layout_width="35dip"
android:layout_height="35dip"
android:padding="5dip"
android:scaleType="fitCenter"
astrid:defaultSrc="@drawable/icn_default_person_image"
android:visibility="gone"/>
<LinearLayout android:id="@+id/task_row" <LinearLayout android:id="@+id/task_row"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_toRightOf="@id/completeBox" android:layout_toRightOf="@id/completeBox"
android:layout_alignParentTop="true" android:layout_alignTop="@id/completeBox"
android:paddingLeft="5dip" android:paddingLeft="5dip"
android:paddingTop="4dip" android:paddingTop="4dip"
android:paddingBottom="4dip" android:paddingBottom="4dip"
@ -48,33 +47,22 @@
android:layout_weight="100" android:layout_weight="100"
style="@style/TextAppearance.TAd_ItemTitle"/> style="@style/TextAppearance.TAd_ItemTitle"/>
<!-- assignee photo --> <!-- due date -->
<greendroid.widget.AsyncImageView android:id="@+id/picture" <TextView android:id="@+id/dueDate"
android:layout_width="35dip" android:layout_width="wrap_content"
android:layout_height="35dip" android:layout_height="wrap_content"
android:padding="5dip" android:layout_alignParentRight="true"
android:scaleType="fitCenter" android:layout_marginRight="4dip"
astrid:defaultSrc="@drawable/icn_default_person_image" android:singleLine="true"/>
android:visibility="gone"/>
</LinearLayout> </LinearLayout>
<!-- due date -->
<TextView android:id="@+id/dueDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/task_row"
android:layout_alignParentRight="true"
android:layout_marginRight="4dip"
android:layout_marginTop="-5dip"
android:singleLine="true"/>
<!-- details line 1 --> <!-- details line 1 -->
<TextView android:id="@+id/details1" <TextView android:id="@+id/details1"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/task_row" android:layout_below="@id/task_row"
android:layout_toRightOf="@id/completeBox" android:layout_alignLeft="@id/task_row"
android:layout_marginTop="-5dip" android:layout_marginTop="-5dip"
android:layout_marginLeft="5dip" android:layout_marginLeft="5dip"
style="@style/TextAppearance.TAd_ItemDetails" style="@style/TextAppearance.TAd_ItemDetails"
@ -85,7 +73,7 @@
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/details1" android:layout_below="@id/details1"
android:layout_toRightOf="@id/completeBox" android:layout_alignLeft="@id/task_row"
android:layout_marginLeft="5dip" android:layout_marginLeft="5dip"
style="@style/TextAppearance.TAd_ItemDetails" style="@style/TextAppearance.TAd_ItemDetails"
android:visibility="gone" /> android:visibility="gone" />

@ -12,7 +12,7 @@
<item name="asSeparatorBackground">@android:drawable/divider_horizontal_dark</item> <item name="asSeparatorBackground">@android:drawable/divider_horizontal_dark</item>
<item name="asTextColor">#ffffffff</item> <item name="asTextColor">#ffffffff</item>
<item name="asDetailsColor">#ff777777</item> <item name="asDetailsColor">#ff777777</item>
<item name="asDueDateColor">#ff7777aa</item> <item name="asDueDateColor">#878787</item>
<item name="asDueDateOverdueColor">#ffee5555</item> <item name="asDueDateOverdueColor">#ffee5555</item>
<item name="asDueDateCompletedColor">#ff777777</item> <item name="asDueDateCompletedColor">#ff777777</item>
<item name="asFilterHeaderColor">#ffcccccc</item> <item name="asFilterHeaderColor">#ffcccccc</item>
@ -55,7 +55,7 @@
<item name="asHeaderButtonBackground">@drawable/header_button_white</item> <item name="asHeaderButtonBackground">@drawable/header_button_white</item>
<item name="asTextColor">#ff000000</item> <item name="asTextColor">#ff000000</item>
<item name="asDetailsColor">#ff6666aa</item> <item name="asDetailsColor">#ff6666aa</item>
<item name="asDueDateColor">#ff000000</item> <item name="asDueDateColor">#878787</item>
<item name="asFilterHeaderColor">#ffffff</item> <item name="asFilterHeaderColor">#ffffff</item>
<item name="asFilterHeaderBackground">@drawable/edit_titlebar_white</item> <item name="asFilterHeaderBackground">@drawable/edit_titlebar_white</item>
<item name="asMembersHeaderBackground">@drawable/ios_fabric_480</item> <item name="asMembersHeaderBackground">@drawable/ios_fabric_480</item>
@ -258,6 +258,7 @@
<style name="TextAppearance.TAd_ItemDueDate" parent="TextAppearance.TAd_ItemDetails"> <style name="TextAppearance.TAd_ItemDueDate" parent="TextAppearance.TAd_ItemDetails">
<item name="android:textColor">?attr/asDueDateColor</item> <item name="android:textColor">?attr/asDueDateColor</item>
<item name="android:textStyle">bold</item>
</style> </style>
<style name="TextAppearance.TAd_ItemDueDate_Overdue" parent="TextAppearance.TAd_ItemDueDate"> <style name="TextAppearance.TAd_ItemDueDate_Overdue" parent="TextAppearance.TAd_ItemDueDate">

@ -141,7 +141,7 @@ public class AstridWrapperActivity extends FragmentActivity
transaction.replace(R.id.tasklist_fragment_container, newFragment, TaskListActivity.TAG_TASKLIST_FRAGMENT); transaction.replace(R.id.tasklist_fragment_container, newFragment, TaskListActivity.TAG_TASKLIST_FRAGMENT);
transaction.commit(); transaction.commit();
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); //Uh ohs // Don't worry about it
} }
} }
@ -172,8 +172,8 @@ public class AstridWrapperActivity extends FragmentActivity
public void onTaskListItemClicked(long taskId) { public void onTaskListItemClicked(long taskId) {
Intent intent = new Intent(this, TaskEditWrapperActivity.class); Intent intent = new Intent(this, TaskEditWrapperActivity.class);
intent.putExtra(TaskEditActivity.TOKEN_ID, taskId); intent.putExtra(TaskEditActivity.TOKEN_ID, taskId);
if (intent.hasExtra(TaskListActivity.TOKEN_FILTER)) if (getIntent().hasExtra(TaskListActivity.TOKEN_FILTER))
intent.putExtra(TaskListActivity.TOKEN_FILTER, intent.getParcelableExtra(TaskListActivity.TOKEN_FILTER)); intent.putExtra(TaskListActivity.TOKEN_FILTER, getIntent().getParcelableExtra(TaskListActivity.TOKEN_FILTER));
if (this instanceof TaskEditWrapperActivity) { if (this instanceof TaskEditWrapperActivity) {
TaskEditActivity editActivity = getTaskEditFragment(); TaskEditActivity editActivity = getTaskEditFragment();
editActivity.save(true); editActivity.save(true);

@ -122,10 +122,14 @@ public class TaskAdapter extends CursorAdapter implements Filterable {
}; };
private static int[] IMPORTANCE_RESOURCES = new int[] { private static int[] IMPORTANCE_RESOURCES = new int[] {
R.drawable.importance_1, //task_indicator_0, R.drawable.importance_check_1, //task_indicator_0,
R.drawable.importance_2, //task_indicator_1, R.drawable.importance_check_2, //task_indicator_1,
R.drawable.importance_3, //task_indicator_2, R.drawable.importance_check_3, //task_indicator_2,
R.drawable.importance_4, //task_indicator_3, R.drawable.importance_check_4, //task_indicator_3,
};
private static int[] IMPORTANCE_REPEAT_RESOURCES = new int[] {
// stuff will go here
}; };
// --- instance variables // --- instance variables
@ -241,12 +245,10 @@ public class TaskAdapter extends CursorAdapter implements Filterable {
viewHolder.nameView = (TextView)view.findViewById(R.id.title); viewHolder.nameView = (TextView)view.findViewById(R.id.title);
viewHolder.picture = (AsyncImageView)view.findViewById(R.id.picture); viewHolder.picture = (AsyncImageView)view.findViewById(R.id.picture);
viewHolder.completeBox = (CheckBox)view.findViewById(R.id.completeBox); viewHolder.completeBox = (CheckBox)view.findViewById(R.id.completeBox);
viewHolder.completeArea = view.findViewById(R.id.completeArea);
viewHolder.dueDate = (TextView)view.findViewById(R.id.dueDate); viewHolder.dueDate = (TextView)view.findViewById(R.id.dueDate);
viewHolder.details1 = (TextView)view.findViewById(R.id.details1); viewHolder.details1 = (TextView)view.findViewById(R.id.details1);
viewHolder.details2 = (TextView)view.findViewById(R.id.details2); viewHolder.details2 = (TextView)view.findViewById(R.id.details2);
viewHolder.taskRow = (LinearLayout)view.findViewById(R.id.task_row); viewHolder.taskRow = (LinearLayout)view.findViewById(R.id.task_row);
viewHolder.importance = (View)view.findViewById(R.id.importance);
view.setTag(viewHolder); view.setTag(viewHolder);
for(int i = 0; i < view.getChildCount(); i++) for(int i = 0; i < view.getChildCount(); i++)
@ -294,11 +296,9 @@ public class TaskAdapter extends CursorAdapter implements Filterable {
public ViewGroup rowBody; public ViewGroup rowBody;
public TextView nameView; public TextView nameView;
public CheckBox completeBox; public CheckBox completeBox;
public View completeArea;
public AsyncImageView picture; public AsyncImageView picture;
public TextView dueDate; public TextView dueDate;
public TextView details1, details2; public TextView details1, details2;
public View importance;
public LinearLayout taskRow; public LinearLayout taskRow;
public View[] decorations; public View[] decorations;
@ -374,12 +374,15 @@ public class TaskAdapter extends CursorAdapter implements Filterable {
} }
// importance bar // importance bar
final View importanceView = viewHolder.importance; { final CheckBox checkBoxView = viewHolder.completeBox; {
int value = task.getValue(Task.IMPORTANCE); int value = task.getValue(Task.IMPORTANCE);
if(value < IMPORTANCE_RESOURCES.length) if(value < IMPORTANCE_RESOURCES.length)
importanceView.setBackgroundResource(IMPORTANCE_RESOURCES[value]); if (!TextUtils.isEmpty(task.getValue(Task.RECURRENCE)))
checkBoxView.setButtonDrawable(IMPORTANCE_RESOURCES[value]);
else
checkBoxView.setButtonDrawable(IMPORTANCE_RESOURCES[value]);
else else
importanceView.setBackgroundResource(0); checkBoxView.setBackgroundResource(R.drawable.btn_check);
} }
String details; String details;
@ -471,9 +474,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable {
} }
}; };
viewHolder.completeBox.setOnTouchListener(otl); viewHolder.completeBox.setOnTouchListener(otl);
viewHolder.completeArea.setOnTouchListener(otl);
viewHolder.completeBox.setOnClickListener(completeBoxListener); viewHolder.completeBox.setOnClickListener(completeBoxListener);
viewHolder.completeArea.setOnClickListener(completeBoxListener);
if(applyListenersToRowBody) { if(applyListenersToRowBody) {
viewHolder.rowBody.setOnCreateContextMenuListener(listener); viewHolder.rowBody.setOnCreateContextMenuListener(listener);
@ -512,7 +513,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable {
String string = DateUtilities.getRelativeDay(fragment.getActivity(), date); String string = DateUtilities.getRelativeDay(fragment.getActivity(), date);
if(Task.hasDueTime(date)) if(Task.hasDueTime(date))
string = String.format("%s, %s", string, //$NON-NLS-1$ string = String.format("%s\n%s", string, //$NON-NLS-1$
DateUtilities.getTimeString(fragment.getActivity(), new Date(date))); DateUtilities.getTimeString(fragment.getActivity(), new Date(date)));
dateCache.put(date, string); dateCache.put(date, string);

Loading…
Cancel
Save