diff --git a/Habitica/AndroidManifest.xml b/Habitica/AndroidManifest.xml index d5e7a4838..5b12fd356 100644 --- a/Habitica/AndroidManifest.xml +++ b/Habitica/AndroidManifest.xml @@ -2,7 +2,7 @@ diff --git a/Habitica/res/layout/dialog_yesterdaily_task.xml b/Habitica/res/layout/dialog_yesterdaily_task.xml index 2f4ec125c..027547d2f 100644 --- a/Habitica/res/layout/dialog_yesterdaily_task.xml +++ b/Habitica/res/layout/dialog_yesterdaily_task.xml @@ -44,7 +44,8 @@ android:id="@+id/checklistDivider" android:layout_width="match_parent" android:layout_height="1dp" - android:background="@color/gray_500" /> + android:background="@color/gray_500" + android:visibility="gone"/> diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/ChecklistedViewHolder.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/ChecklistedViewHolder.java index f65b524c5..498b2cca1 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/ChecklistedViewHolder.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/ChecklistedViewHolder.java @@ -59,37 +59,35 @@ public abstract class ChecklistedViewHolder extends BaseTaskViewHolder implement @Override public void bindHolder(Task newTask, int position) { - super.bindHolder(newTask, position); - - boolean completed = this.task.completed; - if (task.isPendingApproval()) { + boolean completed = newTask.completed; + if (newTask.isPendingApproval()) { completed = false; } this.checkbox.setChecked(completed); - if (this.shouldDisplayAsActive() && !task.isPendingApproval()) { - this.checkboxHolder.setBackgroundResource(this.task.getLightTaskColor()); + if (this.shouldDisplayAsActive(newTask) && !newTask.isPendingApproval()) { + this.checkboxHolder.setBackgroundResource(newTask.getLightTaskColor()); } else { this.checkboxHolder.setBackgroundColor(this.taskGray); } - this.checklistCompletedTextView.setText(String.valueOf(task.getCompletedChecklistCount())); - this.checklistAllTextView.setText(String.valueOf(task.getChecklist().size())); + this.checklistCompletedTextView.setText(String.valueOf(newTask.getCompletedChecklistCount())); + this.checklistAllTextView.setText(String.valueOf(newTask.getChecklist().size())); this.checklistView.removeAllViews(); this.updateChecklistDisplay(); - this.checklistIndicatorWrapper.setVisibility(task.checklist.size() == 0 ? View.GONE : View.VISIBLE); + this.checklistIndicatorWrapper.setVisibility(newTask.checklist.size() == 0 ? View.GONE : View.VISIBLE); if (this.rightBorderView != null) { - this.rightBorderView.setVisibility(task.checklist.size() == 0 ? View.VISIBLE : View.GONE); - if (this.task.getCompleted()) { - this.rightBorderView.setBackgroundResource(this.task.getLightTaskColor()); + this.rightBorderView.setVisibility(newTask.checklist.size() == 0 ? View.VISIBLE : View.GONE); + if (newTask.getCompleted()) { + this.rightBorderView.setBackgroundResource(newTask.getLightTaskColor()); } else { this.rightBorderView.setBackgroundColor(this.taskGray); } } - + super.bindHolder(newTask, position); } - abstract public Boolean shouldDisplayAsActive(); + abstract public Boolean shouldDisplayAsActive(Task newTask); public void updateChecklistDisplay() { //This needs to be a LinearLayout, as ListViews can not be inside other ListViews. @@ -115,7 +113,7 @@ public abstract class ChecklistedViewHolder extends BaseTaskViewHolder implement event.item = item; EventBus.getDefault().post(event); }); - RelativeLayout checkboxHolder = (RelativeLayout) itemView.findViewById(R.id.checkBoxHolder); + ViewGroup checkboxHolder = (ViewGroup) itemView.findViewById(R.id.checkBoxHolder); expandCheckboxTouchArea(checkboxHolder, checkbox); this.checklistView.addView(itemView); } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/DailyViewHolder.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/DailyViewHolder.java index c45b0543f..fc868060f 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/DailyViewHolder.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/DailyViewHolder.java @@ -19,17 +19,17 @@ public class DailyViewHolder extends ChecklistedViewHolder { @Override public void bindHolder(Task newTask, int position) { - super.bindHolder(newTask, position); - if (this.task.isChecklistDisplayActive()) { - this.checklistIndicatorWrapper.setBackgroundResource(this.task.getLightTaskColor()); + if (newTask.isChecklistDisplayActive()) { + this.checklistIndicatorWrapper.setBackgroundResource(newTask.getLightTaskColor()); } else { this.checklistIndicatorWrapper.setBackgroundColor(this.taskGray); } + super.bindHolder(newTask, position); } @Override - public Boolean shouldDisplayAsActive() { - return this.task.isDisplayedActive(); + public Boolean shouldDisplayAsActive(Task newTask) { + return newTask.isDisplayedActive(); } @Override diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/HabitViewHolder.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/HabitViewHolder.java index 552868054..8e4815208 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/HabitViewHolder.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/HabitViewHolder.java @@ -40,11 +40,9 @@ public class HabitViewHolder extends BaseTaskViewHolder { @Override public void bindHolder(Task newTask, int position) { - super.bindHolder(newTask, position); - - if (this.task.up) { - this.btnPlusWrapper.setBackgroundResource(this.task.getLightTaskColor()); - if (this.task.getLightTaskColor() == R.color.yellow_100) { + if (newTask.up) { + this.btnPlusWrapper.setBackgroundResource(newTask.getLightTaskColor()); + if (newTask.getLightTaskColor() == R.color.yellow_100) { this.btnPlusIconView.setImageResource(R.drawable.habit_plus_yellow); } else { this.btnPlusIconView.setImageResource(R.drawable.habit_plus); @@ -58,9 +56,9 @@ public class HabitViewHolder extends BaseTaskViewHolder { this.btnPlus.setClickable(false); } - if (this.task.down) { - this.btnMinusWrapper.setBackgroundResource(this.task.getLightTaskColor()); - if (this.task.getLightTaskColor() == R.color.yellow_100) { + if (newTask.down) { + this.btnMinusWrapper.setBackgroundResource(newTask.getLightTaskColor()); + if (newTask.getLightTaskColor() == R.color.yellow_100) { this.btnMinusIconView.setImageResource(R.drawable.habit_minus_yellow); } else { this.btnMinusIconView.setImageResource(R.drawable.habit_minus); @@ -75,11 +73,11 @@ public class HabitViewHolder extends BaseTaskViewHolder { } String streakString = ""; - if (task.counterUp > 0 && task.counterDown > 0) { + if (newTask.counterUp > 0 && newTask.counterDown > 0) { streakString = streakString + "+" + String.valueOf(task.counterUp) + " | -" + String.valueOf(task.counterDown); - } else if (task.counterUp > 0) { + } else if (newTask.counterUp > 0) { streakString = streakString + "+" + String.valueOf(task.counterUp); - } else if (task.counterUp > 0) { + } else if (newTask.counterUp > 0) { streakString = streakString + "-" + String.valueOf(task.counterDown); } if (streakString.length() > 0) { @@ -88,6 +86,7 @@ public class HabitViewHolder extends BaseTaskViewHolder { } else { streakTextView.setVisibility(View.GONE); } + super.bindHolder(newTask, position); } @OnClick(R.id.btnPlus) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/RewardViewHolder.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/RewardViewHolder.java index 0bbf0f0a1..039f9604a 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/RewardViewHolder.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/RewardViewHolder.java @@ -1,5 +1,6 @@ package com.habitrpg.android.habitica.ui.viewHolders.tasks; +import android.support.v4.content.ContextCompat; import android.view.View; import android.widget.ImageView; import android.widget.TextView; @@ -37,12 +38,6 @@ public class RewardViewHolder extends BaseTaskViewHolder { goldIconView.setImageBitmap(HabiticaIconsHelper.imageOfGold()); } - @Override - public void bindHolder(Task newTask, int position) { - super.bindHolder(newTask, position); - - this.priceLabel.setText(NumberAbbreviator.abbreviate(itemView.getContext(), this.task.value)); - } private boolean isItem() { return this.task.specialTag != null && this.task.specialTag.equals("item"); @@ -90,6 +85,15 @@ public class RewardViewHolder extends BaseTaskViewHolder { } public void bindHolder(Task reward, int position, boolean canBuy) { + super.bindHolder(reward, position); + this.priceLabel.setText(NumberAbbreviator.abbreviate(itemView.getContext(), this.task.value)); + if (canBuy) { + goldIconView.setAlpha(1.0f); + priceLabel.setTextColor(ContextCompat.getColor(context, R.color.yellow_50)); + } else { + goldIconView.setAlpha(0.4f); + priceLabel.setTextColor(ContextCompat.getColor(context, R.color.gray_500)); + } } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/TodoViewHolder.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/TodoViewHolder.java index a20910939..4eb5d69f3 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/TodoViewHolder.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/tasks/TodoViewHolder.java @@ -17,13 +17,12 @@ public class TodoViewHolder extends ChecklistedViewHolder { @Override public void bindHolder(Task newTask, int position) { - super.bindHolder(newTask, position); - if (this.task.getCompleted()) { + if (newTask.getCompleted()) { this.checklistIndicatorWrapper.setBackgroundColor(this.taskGray); } else { - this.checklistIndicatorWrapper.setBackgroundResource(this.task.getLightTaskColor()); + this.checklistIndicatorWrapper.setBackgroundResource(newTask.getLightTaskColor()); } - + super.bindHolder(newTask, position); } @Override @@ -39,7 +38,7 @@ public class TodoViewHolder extends ChecklistedViewHolder { } @Override - public Boolean shouldDisplayAsActive() { - return !this.task.getCompleted(); + public Boolean shouldDisplayAsActive(Task newTask) { + return !newTask.getCompleted(); } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/yesterdailies/YesterdailyDialog.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/yesterdailies/YesterdailyDialog.java index 218eb14cc..32e9c3bb9 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/yesterdailies/YesterdailyDialog.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/yesterdailies/YesterdailyDialog.java @@ -89,6 +89,7 @@ public class YesterdailyDialog extends AlertDialog { if (task.checklist.size() > 0) { View checklistDivider = taskView.findViewById(R.id.checklistDivider); + checklistDivider.setVisibility(View.VISIBLE); ViewGroup checklistContainer = taskView.findViewById(R.id.checklistView); for (ChecklistItem item : task.checklist) { View checklistView = inflater.inflate(R.layout.checklist_item_row, yesterdailiesList, false);