From dddfd57705b4cac11c2c8e66a6f58206d0282c0b Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Wed, 27 Mar 2019 15:19:23 +0100 Subject: [PATCH 1/4] rename old task form --- Habitica/AndroidManifest.xml | 2 +- Habitica/build.gradle | 4 +-- Habitica/res/menu/menu_full_profile.xml | 2 +- Habitica/res/menu/menu_party_invite.xml | 2 +- Habitica/res/menu/menu_save.xml | 2 +- Habitica/res/menu/menu_task_create.xml | 6 +++++ Habitica/res/menu/menu_task_edit.xml | 8 ++++++ Habitica/res/navigation/navigation.xml | 2 +- .../habitica/components/AppComponent.java | 4 +-- .../ui/activities/ChallengeFormActivity.kt | 22 +++++++--------- ...FormActivity.kt => OldTaskFormActivity.kt} | 6 ++--- .../ui/fragments/tasks/TasksFragment.kt | 26 +++++++++---------- 12 files changed, 49 insertions(+), 37 deletions(-) create mode 100644 Habitica/res/menu/menu_task_create.xml create mode 100644 Habitica/res/menu/menu_task_edit.xml rename Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/{TaskFormActivity.kt => OldTaskFormActivity.kt} (99%) diff --git a/Habitica/AndroidManifest.xml b/Habitica/AndroidManifest.xml index 15818d1c9..166a4dddc 100644 --- a/Habitica/AndroidManifest.xml +++ b/Habitica/AndroidManifest.xml @@ -111,7 +111,7 @@ android:theme="@style/AppThemeWithActionBarBlackText" android:screenOrientation="portrait"/> + tools:context=".ui.activities.OldTaskFormActivity"> + tools:context=".ui.activities.OldTaskFormActivity"> diff --git a/Habitica/res/menu/menu_save.xml b/Habitica/res/menu/menu_save.xml index c404897dd..219973e01 100644 --- a/Habitica/res/menu/menu_save.xml +++ b/Habitica/res/menu/menu_save.xml @@ -1,7 +1,7 @@ + tools:context=".ui.activities.OldTaskFormActivity"> diff --git a/Habitica/res/menu/menu_task_create.xml b/Habitica/res/menu/menu_task_create.xml new file mode 100644 index 000000000..c627b2385 --- /dev/null +++ b/Habitica/res/menu/menu_task_create.xml @@ -0,0 +1,6 @@ + + + diff --git a/Habitica/res/menu/menu_task_edit.xml b/Habitica/res/menu/menu_task_edit.xml new file mode 100644 index 000000000..a3f4a1a10 --- /dev/null +++ b/Habitica/res/menu/menu_task_edit.xml @@ -0,0 +1,8 @@ + + + + diff --git a/Habitica/res/navigation/navigation.xml b/Habitica/res/navigation/navigation.xml index 40212fd73..29df58523 100644 --- a/Habitica/res/navigation/navigation.xml +++ b/Habitica/res/navigation/navigation.xml @@ -246,7 +246,7 @@ (TaskFormActivity.PARCELABLE_TASK) + val task = data?.getParcelableExtra(OldTaskFormActivity.PARCELABLE_TASK) if (task != null) { addOrUpdateTaskInList(task) } @@ -415,22 +413,22 @@ class ChallengeFormActivity : BaseActivity() { private fun openNewTaskActivity(type: String?, task: Task?) { val bundle = Bundle() - bundle.putString(TaskFormActivity.TASK_TYPE_KEY, type) + bundle.putString(OldTaskFormActivity.TASK_TYPE_KEY, type) if (task != null) { - bundle.putParcelable(TaskFormActivity.PARCELABLE_TASK, task) + bundle.putParcelable(OldTaskFormActivity.PARCELABLE_TASK, task) } - bundle.putBoolean(TaskFormActivity.SAVE_TO_DB, false) - bundle.putBoolean(TaskFormActivity.SET_IGNORE_FLAG, true) - bundle.putBoolean(TaskFormActivity.SHOW_TAG_SELECTION, false) - bundle.putBoolean(TaskFormActivity.SHOW_CHECKLIST, false) + bundle.putBoolean(OldTaskFormActivity.SAVE_TO_DB, false) + bundle.putBoolean(OldTaskFormActivity.SET_IGNORE_FLAG, true) + bundle.putBoolean(OldTaskFormActivity.SHOW_TAG_SELECTION, false) + bundle.putBoolean(OldTaskFormActivity.SHOW_CHECKLIST, false) val allocationMode = user?.preferences?.hasTaskBasedAllocation() - bundle.putString(TaskFormActivity.USER_ID_KEY, user?.id) - bundle.putBoolean(TaskFormActivity.ALLOCATION_MODE_KEY, allocationMode ?: false) + bundle.putString(OldTaskFormActivity.USER_ID_KEY, user?.id) + bundle.putBoolean(OldTaskFormActivity.ALLOCATION_MODE_KEY, allocationMode ?: false) - val intent = Intent(this, TaskFormActivity::class.java) + val intent = Intent(this, OldTaskFormActivity::class.java) intent.putExtras(bundle) startActivityForResult(intent, 1000) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/OldTaskFormActivity.kt similarity index 99% rename from Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.kt rename to Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/OldTaskFormActivity.kt index 53253bafb..0bd7d880e 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/OldTaskFormActivity.kt @@ -48,7 +48,7 @@ import java.util.* import javax.inject.Inject import javax.inject.Named -class TaskFormActivity : BaseActivity() { +class OldTaskFormActivity : BaseActivity() { private val taskValue: EditText by bindView(R.id.task_value_edittext) private val taskValueLayout: TextInputLayout by bindView(R.id.task_value_layout) private val checklistWrapper: LinearLayout by bindView(R.id.task_checklist_wrapper) @@ -930,9 +930,9 @@ class TaskFormActivity : BaseActivity() { val mainHandler = Handler(this.mainLooper) mainHandler.postDelayed({ val resultIntent = Intent() - resultIntent.putExtra(TaskFormActivity.TASK_TYPE_KEY, taskType) + resultIntent.putExtra(OldTaskFormActivity.TASK_TYPE_KEY, taskType) if (!shouldSaveTask) { - resultIntent.putExtra(TaskFormActivity.PARCELABLE_TASK, task) + resultIntent.putExtra(OldTaskFormActivity.PARCELABLE_TASK, task) } setResult(Activity.RESULT_OK, resultIntent) finish() diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.kt index 414ffbdef..d1e38c228 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TasksFragment.kt @@ -16,7 +16,7 @@ import com.habitrpg.android.habitica.extensions.notNull import com.habitrpg.android.habitica.helpers.RxErrorHandler import com.habitrpg.android.habitica.helpers.TaskFilterHelper import com.habitrpg.android.habitica.models.tasks.Task -import com.habitrpg.android.habitica.ui.activities.TaskFormActivity +import com.habitrpg.android.habitica.ui.activities.OldTaskFormActivity import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment import com.habitrpg.android.habitica.ui.views.tasks.TaskFilterDialog import io.reactivex.functions.Consumer @@ -288,12 +288,12 @@ class TasksFragment : BaseMainFragment() { val allocationMode = user?.preferences?.hasTaskBasedAllocation() ?: false val bundle = Bundle() - bundle.putString(TaskFormActivity.TASK_TYPE_KEY, type) - bundle.putString(TaskFormActivity.USER_ID_KEY, if (this.user != null) this.user?.id else null) - bundle.putBoolean(TaskFormActivity.ALLOCATION_MODE_KEY, allocationMode) - bundle.putBoolean(TaskFormActivity.SAVE_TO_DB, true) + bundle.putString(OldTaskFormActivity.TASK_TYPE_KEY, type) + bundle.putString(OldTaskFormActivity.USER_ID_KEY, if (this.user != null) this.user?.id else null) + bundle.putBoolean(OldTaskFormActivity.ALLOCATION_MODE_KEY, allocationMode) + bundle.putBoolean(OldTaskFormActivity.SAVE_TO_DB, true) - val intent = Intent(activity, TaskFormActivity::class.java) + val intent = Intent(activity, OldTaskFormActivity::class.java) intent.putExtras(bundle) intent.flags = Intent.FLAG_ACTIVITY_REORDER_TO_FRONT if (this.isAdded) { @@ -311,13 +311,13 @@ class TasksFragment : BaseMainFragment() { val allocationMode = user?.preferences?.hasTaskBasedAllocation() ?: false val bundle = Bundle() - bundle.putString(TaskFormActivity.TASK_TYPE_KEY, event.Task.type) - bundle.putString(TaskFormActivity.TASK_ID_KEY, event.Task.id) - bundle.putString(TaskFormActivity.USER_ID_KEY, if (this.user != null) this.user?.id else null) - bundle.putBoolean(TaskFormActivity.ALLOCATION_MODE_KEY, allocationMode) - bundle.putBoolean(TaskFormActivity.SAVE_TO_DB, true) + bundle.putString(OldTaskFormActivity.TASK_TYPE_KEY, event.Task.type) + bundle.putString(OldTaskFormActivity.TASK_ID_KEY, event.Task.id) + bundle.putString(OldTaskFormActivity.USER_ID_KEY, if (this.user != null) this.user?.id else null) + bundle.putBoolean(OldTaskFormActivity.ALLOCATION_MODE_KEY, allocationMode) + bundle.putBoolean(OldTaskFormActivity.SAVE_TO_DB, true) - val intent = Intent(activity, TaskFormActivity::class.java) + val intent = Intent(activity, OldTaskFormActivity::class.java) intent.putExtras(bundle) this.displayingTaskForm = true if (isAdded) { @@ -342,7 +342,7 @@ class TasksFragment : BaseMainFragment() { private fun onTaskCreatedResult(resultCode: Int, data: Intent?) { if (resultCode == Activity.RESULT_OK) { - val taskType = data?.getStringExtra(TaskFormActivity.TASK_TYPE_KEY) + val taskType = data?.getStringExtra(OldTaskFormActivity.TASK_TYPE_KEY) if (taskType != null) { switchToTaskTab(taskType) } From b84657007e49820ce1ac14b8ca9bf3b89c49f2df Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Thu, 28 Mar 2019 14:45:16 +0100 Subject: [PATCH 2/4] Begin building new task form --- Habitica/AndroidManifest.xml | 9 + Habitica/build.gradle | 6 +- .../res/drawable/habit_scoring_circle.xml | 6 + .../habit_scoring_circle_selected.xml | 6 + .../drawable/layout_rounded_bg_task_form.xml | 6 + Habitica/res/drawable/tag_divider.xml | 7 + Habitica/res/layout/activity_task_form.xml | 563 ++++++------------ .../res/layout/activity_task_form_old.xml | 390 ++++++++++++ .../res/layout/task_form_habit_scoring.xml | 51 ++ .../res/layout/task_form_task_difficulty.xml | 19 + Habitica/res/menu/menu_full_profile.xml | 3 +- Habitica/res/menu/menu_party_invite.xml | 3 +- Habitica/res/values/strings.xml | 11 +- Habitica/res/values/styles.xml | 53 +- .../habitica/components/AppComponent.java | 3 + .../android/habitica/data/TagRepository.kt | 1 + .../data/implementation/TagRepositoryImpl.kt | 4 + .../data/implementation/TaskRepositoryImpl.kt | 23 - .../habitica/extensions/Bitmap-Extensions.kt | 11 + .../habitica/models/tasks/HabitResetOption.kt | 10 + .../habitica/models/tasks/TaskDifficulty.kt | 10 + .../ui/activities/TaskFormActivity.kt | 298 +++++++++ .../ui/fragments/tasks/TasksFragment.kt | 5 +- .../ui/views/HabiticaIconsHelper.java | 30 + .../tasks/form/HabitResetStreakButtons.kt | 65 ++ .../tasks/form/HabitScoringButtonsView.kt | 69 +++ .../views/tasks/form/TaskDifficultyButtons.kt | 70 +++ 27 files changed, 1318 insertions(+), 414 deletions(-) create mode 100644 Habitica/res/drawable/habit_scoring_circle.xml create mode 100644 Habitica/res/drawable/habit_scoring_circle_selected.xml create mode 100644 Habitica/res/drawable/layout_rounded_bg_task_form.xml create mode 100644 Habitica/res/drawable/tag_divider.xml create mode 100644 Habitica/res/layout/activity_task_form_old.xml create mode 100644 Habitica/res/layout/task_form_habit_scoring.xml create mode 100644 Habitica/res/layout/task_form_task_difficulty.xml create mode 100644 Habitica/src/main/java/com/habitrpg/android/habitica/extensions/Bitmap-Extensions.kt create mode 100644 Habitica/src/main/java/com/habitrpg/android/habitica/models/tasks/HabitResetOption.kt create mode 100644 Habitica/src/main/java/com/habitrpg/android/habitica/models/tasks/TaskDifficulty.kt create mode 100644 Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.kt create mode 100644 Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/tasks/form/HabitResetStreakButtons.kt create mode 100644 Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/tasks/form/HabitScoringButtonsView.kt create mode 100644 Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/tasks/form/TaskDifficultyButtons.kt diff --git a/Habitica/AndroidManifest.xml b/Habitica/AndroidManifest.xml index 166a4dddc..5aa83f69e 100644 --- a/Habitica/AndroidManifest.xml +++ b/Habitica/AndroidManifest.xml @@ -110,6 +110,15 @@ android:name=".ui.activities.AboutActivity" android:theme="@style/AppThemeWithActionBarBlackText" android:screenOrientation="portrait"/> + + + + + + + \ No newline at end of file diff --git a/Habitica/res/drawable/habit_scoring_circle_selected.xml b/Habitica/res/drawable/habit_scoring_circle_selected.xml new file mode 100644 index 000000000..c42816052 --- /dev/null +++ b/Habitica/res/drawable/habit_scoring_circle_selected.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/Habitica/res/drawable/layout_rounded_bg_task_form.xml b/Habitica/res/drawable/layout_rounded_bg_task_form.xml new file mode 100644 index 000000000..a9bd8afc2 --- /dev/null +++ b/Habitica/res/drawable/layout_rounded_bg_task_form.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/Habitica/res/drawable/tag_divider.xml b/Habitica/res/drawable/tag_divider.xml new file mode 100644 index 000000000..ca6ccf468 --- /dev/null +++ b/Habitica/res/drawable/tag_divider.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/Habitica/res/layout/activity_task_form.xml b/Habitica/res/layout/activity_task_form.xml index 685c1a873..2cfebee45 100644 --- a/Habitica/res/layout/activity_task_form.xml +++ b/Habitica/res/layout/activity_task_form.xml @@ -1,390 +1,199 @@ - + - - + + + + + + - + android:layout_width="match_parent" + android:layout_height="match_parent"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -