From e8c12522b73d72f8c9dfa51ac3ce7ab74befa3bb Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Sat, 7 Nov 2015 19:10:03 +0100 Subject: [PATCH] Adjust checkboxes in task lists --- Habitica/Habitica.iml | 4 +-- Habitica/res/drawable-hdpi/ic_check.png | Bin 0 -> 746 bytes Habitica/res/drawable-mdpi/ic_check.png | Bin 0 -> 513 bytes Habitica/res/drawable-xhdpi/ic_check.png | Bin 0 -> 981 bytes Habitica/res/drawable-xxhdpi/ic_check.png | Bin 0 -> 1606 bytes Habitica/res/drawable/daily_checkbox.xml | 8 +++++ Habitica/res/drawable/daily_checked.xml | 16 +++++++++ Habitica/res/drawable/daily_unchecked.xml | 9 +++++ Habitica/res/drawable/todo_checkbox.xml | 8 +++++ Habitica/res/drawable/todo_checked.xml | 16 +++++++++ Habitica/res/drawable/todo_unchecked.xml | 9 +++++ Habitica/res/layout/checklist_item_row.xml | 14 +++++--- Habitica/res/layout/daily_item_card.xml | 31 ++++++++++++------ Habitica/res/layout/todo_item_card.xml | 22 +++++++++---- Habitica/res/values/colors.xml | 5 ++- Habitica/res/values/dimens.xml | 3 ++ Habitica/res/values/styles.xml | 7 ++++ .../android/habitica/MainActivity.java | 2 -- .../callbacks/TaskScoringCallback.java | 1 + .../adapter/HabitItemRecyclerViewAdapter.java | 3 ++ .../lib/models/tasks/Task.java | 4 +++ 21 files changed, 136 insertions(+), 26 deletions(-) create mode 100644 Habitica/res/drawable-hdpi/ic_check.png create mode 100644 Habitica/res/drawable-mdpi/ic_check.png create mode 100644 Habitica/res/drawable-xhdpi/ic_check.png create mode 100644 Habitica/res/drawable-xxhdpi/ic_check.png create mode 100644 Habitica/res/drawable/daily_checkbox.xml create mode 100644 Habitica/res/drawable/daily_checked.xml create mode 100644 Habitica/res/drawable/daily_unchecked.xml create mode 100644 Habitica/res/drawable/todo_checkbox.xml create mode 100644 Habitica/res/drawable/todo_checked.xml create mode 100644 Habitica/res/drawable/todo_unchecked.xml diff --git a/Habitica/Habitica.iml b/Habitica/Habitica.iml index d02415d8c..c9d944a1a 100644 --- a/Habitica/Habitica.iml +++ b/Habitica/Habitica.iml @@ -145,13 +145,13 @@ - + - + diff --git a/Habitica/res/drawable-hdpi/ic_check.png b/Habitica/res/drawable-hdpi/ic_check.png new file mode 100644 index 0000000000000000000000000000000000000000..9b35f7877a18583d885cd6343ffc771befe79bb6 GIT binary patch literal 746 zcmVPx%q)9|UR7efQl}l?AQ51lkp$Vc0E(GxpxDZ^pa3P2b6)A$?La17;O6wyJV-$Zt zR&J~&=2;_XTSaZh$EqL*2`a8!WZ}-8D1{_D7ZS|N@4(#QHcYhBY0?YBnS0K;=Y02^ zduNPI8#9btE_cT;jEQcyJ8f(LgOShY9|15axq(zSF_n{N-MsIl^_B&2gpfR?>9j*%luoDj1OkB%=yurpYP;P&6pco|QGvSv+}8YG0dQum020R) zLJahKA3H3OaJ$SIKY5mT^qPx$yGcYrR5%f>le|Pg6pr~`j^dS(-#hhC4!Q%d_F%BkH;rJkApo4s@LnOr<%|YFy2}f z1mRv3MfV`sWHLE}ni6t7@GGd@?p3NXsK@7UJG_+1WERzc)=E&b*-T1T0laRv+rB^` z@T`@~6h%2epa^%+$l#hTt;9m1Fb!x)h03!0Bb4e{C=`+c>B9W)woc?`xD)8qBq! zFlA8>Ef&iOwlwV3Mx(K3GMSG43q|esIZmh34x`a{3fL0j3Y^FF@9+|DG#Y)NqCxD7 zVzmIX?F5*5?ivP498E9;a?w$^84)_IQ74SGQCrb00000NkvXXu0mjf DY*pm< literal 0 HcmV?d00001 diff --git a/Habitica/res/drawable-xhdpi/ic_check.png b/Habitica/res/drawable-xhdpi/ic_check.png new file mode 100644 index 0000000000000000000000000000000000000000..a23a68ed3eb5d56ce7a68eef969c89fad5727189 GIT binary patch literal 981 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 Eg0AlD;s5{u literal 0 HcmV?d00001 diff --git a/Habitica/res/drawable/daily_checkbox.xml b/Habitica/res/drawable/daily_checkbox.xml new file mode 100644 index 000000000..1d2d0b595 --- /dev/null +++ b/Habitica/res/drawable/daily_checkbox.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Habitica/res/drawable/daily_checked.xml b/Habitica/res/drawable/daily_checked.xml new file mode 100644 index 000000000..4d383c294 --- /dev/null +++ b/Habitica/res/drawable/daily_checked.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/Habitica/res/drawable/daily_unchecked.xml b/Habitica/res/drawable/daily_unchecked.xml new file mode 100644 index 000000000..dfb158862 --- /dev/null +++ b/Habitica/res/drawable/daily_unchecked.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/Habitica/res/drawable/todo_checkbox.xml b/Habitica/res/drawable/todo_checkbox.xml new file mode 100644 index 000000000..c00dbb67b --- /dev/null +++ b/Habitica/res/drawable/todo_checkbox.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Habitica/res/drawable/todo_checked.xml b/Habitica/res/drawable/todo_checked.xml new file mode 100644 index 000000000..2365d3922 --- /dev/null +++ b/Habitica/res/drawable/todo_checked.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/Habitica/res/drawable/todo_unchecked.xml b/Habitica/res/drawable/todo_unchecked.xml new file mode 100644 index 000000000..d285dec04 --- /dev/null +++ b/Habitica/res/drawable/todo_unchecked.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/Habitica/res/layout/checklist_item_row.xml b/Habitica/res/layout/checklist_item_row.xml index 700640f7b..6b0f1873f 100644 --- a/Habitica/res/layout/checklist_item_row.xml +++ b/Habitica/res/layout/checklist_item_row.xml @@ -6,12 +6,18 @@ android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="fill_parent" android:minHeight="@dimen/checklist_item_min_height"> + + android:layout_width="@dimen/checkbox_size" + android:layout_height="@dimen/checkbox_size" + android:layout_centerInParent="true" + android:gravity="center" + android:button="@drawable/daily_checkbox" + android:layout_gravity="center_horizontal" /> + - + + app:backgroundColor="@{daily.isDisplayedActive ? daily.getLightTaskColor : @color/task_gray}"> + + @@ -36,7 +43,11 @@ android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="match_parent" - android:padding="5dp" + android:paddingLeft="16dp" + android:paddingRight="16dp" + android:paddingEnd="16dp" + android:paddingBottom="20dp" + android:paddingTop="20dp" android:id="@+id/linearLayout" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" @@ -53,7 +64,7 @@ android:id="@+id/textView6" style="@style/CardText" android:layout_width="match_parent" - android:layout_height="match_parent" + android:layout_height="wrap_content" android:text="@{daily.notes}" android:visibility="@{daily.notes != null ? View.VISIBLE : View.GONE}"/> @@ -93,7 +104,7 @@ android:id="@+id/rightBorderView" android:layout_width="5dp" android:layout_height="match_parent" - app:backgroundColor="@{daily.isDue ? daily.getLightTaskColor : @color/task_gray}" + app:backgroundColor="@{daily.isDisplayedActive ? daily.getLightTaskColor : @color/task_gray}" android:visibility="@{daily.checklist.size == 0 ? View.VISIBLE : View.GONE}" android:gravity="center" android:layout_alignParentTop="true" diff --git a/Habitica/res/layout/todo_item_card.xml b/Habitica/res/layout/todo_item_card.xml index b4bb70ac4..cd29ee7cc 100644 --- a/Habitica/res/layout/todo_item_card.xml +++ b/Habitica/res/layout/todo_item_card.xml @@ -21,14 +21,22 @@ + android:layout_height="match_parent" + android:orientation="horizontal"> + + android:layout_width="@dimen/checkbox_size" + android:layout_height="@dimen/checkbox_size" + android:layout_centerInParent="true" + android:checked="@{todo.completed}" + android:gravity="center" + android:button="@drawable/todo_checkbox" + android:layout_gravity="center_horizontal" /> + #c3c2c6 #ededed - #b5b5b5 + #b7b7b7 + #50ffffff + #c8ffffff + #32000000 \ No newline at end of file diff --git a/Habitica/res/values/dimens.xml b/Habitica/res/values/dimens.xml index c28118827..d9475259c 100644 --- a/Habitica/res/values/dimens.xml +++ b/Habitica/res/values/dimens.xml @@ -39,4 +39,7 @@ 14dp 36dp 50dp + + 2dp + 30dp \ No newline at end of file diff --git a/Habitica/res/values/styles.xml b/Habitica/res/values/styles.xml index 682b10a76..57fca5b64 100644 --- a/Habitica/res/values/styles.xml +++ b/Habitica/res/values/styles.xml @@ -124,4 +124,11 @@ + + \ No newline at end of file diff --git a/Habitica/src/com/habitrpg/android/habitica/MainActivity.java b/Habitica/src/com/habitrpg/android/habitica/MainActivity.java index 4ce30115b..51afbc5b3 100644 --- a/Habitica/src/com/habitrpg/android/habitica/MainActivity.java +++ b/Habitica/src/com/habitrpg/android/habitica/MainActivity.java @@ -239,11 +239,9 @@ public class MainActivity extends AvatarActivityBase implements HabitRPGUserCall } public void onEvent(TaskLongPressedEvent event) { - showSnackbar("LongPress: " + event.Task.text); } public void onEvent(TaskCheckedEvent event) { - showSnackbar("ToDo Checked= " + event.Task.getText(), true); mAPIHelper.updateTaskDirection(event.Task.getId(), event.Task.getCompleted() ? TaskDirection.down : TaskDirection.up, new TaskScoringCallback(this, event.Task.getId())); } diff --git a/Habitica/src/com/habitrpg/android/habitica/callbacks/TaskScoringCallback.java b/Habitica/src/com/habitrpg/android/habitica/callbacks/TaskScoringCallback.java index 3127cf8a9..b65c17145 100644 --- a/Habitica/src/com/habitrpg/android/habitica/callbacks/TaskScoringCallback.java +++ b/Habitica/src/com/habitrpg/android/habitica/callbacks/TaskScoringCallback.java @@ -27,6 +27,7 @@ public class TaskScoringCallback implements Callback { public void success(TaskDirectionData taskDirectionData, Response response) { Task task = new Select().from(Task.class).where(Condition.column("id").eq(taskId)).querySingle(); task.value = task.value + taskDirectionData.getDelta(); + task.save(); this.mCallback.onTaskDataReceived(taskDirectionData); } diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/adapter/HabitItemRecyclerViewAdapter.java b/Habitica/src/com/habitrpg/android/habitica/ui/adapter/HabitItemRecyclerViewAdapter.java index 8add8c7e3..76655375c 100644 --- a/Habitica/src/com/habitrpg/android/habitica/ui/adapter/HabitItemRecyclerViewAdapter.java +++ b/Habitica/src/com/habitrpg/android/habitica/ui/adapter/HabitItemRecyclerViewAdapter.java @@ -392,6 +392,9 @@ public class HabitItemRecyclerViewAdapter TaskCheckedEvent event = new TaskCheckedEvent(); event.Task = Item; EventBus.getDefault().post(event); + Item.completed = !Item.getCompleted(); + Item.save(); + bindHolder(Item, getAdapterPosition()); } } else { Integer position = (Integer) ((ViewGroup) checkbox.getParent().getParent()).indexOfChild((View) checkbox.getParent()); diff --git a/Habitica/src/com/magicmicky/habitrpgwrapper/lib/models/tasks/Task.java b/Habitica/src/com/magicmicky/habitrpgwrapper/lib/models/tasks/Task.java index 224b2ddb5..c31ba0370 100644 --- a/Habitica/src/com/magicmicky/habitrpgwrapper/lib/models/tasks/Task.java +++ b/Habitica/src/com/magicmicky/habitrpgwrapper/lib/models/tasks/Task.java @@ -409,4 +409,8 @@ public class Task extends BaseModel { //TODO: check if daily is due return !this.getCompleted(); } + + public Boolean isDisplayedActive() { + return this.isDue() && !this.completed; + } }