Remove old form and fix challenge task form

This commit is contained in:
Phillip Thelen 2019-04-24 11:11:24 +02:00
parent e2c17fef90
commit f2e0352664
12 changed files with 78 additions and 1483 deletions

View file

@ -113,15 +113,6 @@
android:name="android.support.PARENT_ACTIVITY"
android:value=".ui.activities.MainActivity" />
</activity>
<activity
android:name=".ui.activities.OldTaskFormActivity"
android:theme="@style/AppThemeWithActionBarBlackText"
android:parentActivityName=".ui.activities.MainActivity"
tools:ignore="UnusedAttribute">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".ui.activities.MainActivity" />
</activity>
<activity
android:name=".ui.activities.GroupFormActivity"
android:theme="@style/AppTheme.NoActionBar.Transparent"

View file

@ -1,390 +0,0 @@
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/task_main_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="@dimen/abc_action_bar_content_inset_material">
<LinearLayout
android:id="@+id/task_task_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/abc_action_bar_content_inset_material"
android:orientation="vertical">
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintTextAppearance="@style/TextAppearance.AppCompat">
<com.habitrpg.android.habitica.ui.views.HabiticaAutocompleteTextView
android:id="@+id/task_text_edittext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:hint="@string/text"
android:textColor="@android:color/black"
android:inputType="textCapSentences|textMultiLine"
android:maxLines="3"/>
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintTextAppearance="@style/TextAppearance.AppCompat">
<com.habitrpg.android.habitica.ui.views.HabiticaAutocompleteTextView
android:id="@+id/task_notes_edittext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:hint="@string/notes"
android:textColor="@android:color/black"
android:inputType="textCapSentences|textMultiLine" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/task_value_layout"
android:layout_width="match_parent"
android:layout_height="72dp"
app:hintTextAppearance="@style/TextAppearance.AppCompat">
<EditText
android:id="@+id/task_value_edittext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:hint="@string/task_value"
android:textColor="@android:color/black"
android:inputType="numberDecimal" />
</com.google.android.material.textfield.TextInputLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/task_difficulty_wrapper">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="@string/difficulty"
android:textAppearance="?android:attr/textAppearanceLarge" />
<Spinner
android:id="@+id/task_difficulty_spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="20dp"
android:id="@+id/task_attribute_wrapper">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="@string/attributes"
android:textAppearance="?android:attr/textAppearanceLarge" />
<Spinner
android:id="@+id/task_attribute_spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/task_reset_frequency_wrapper"
android:layout_marginTop="20dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="@string/reset_streak"
android:textAppearance="?android:attr/textAppearanceLarge" />
<Spinner
android:id="@+id/task_reset_frequency_spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/task_actions_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/actions"
android:textAppearance="?android:attr/textAppearanceLarge" />
<CheckBox
android:id="@+id/task_positive_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="11dp"
android:text="@string/positive_habit_form"
android:textAppearance="?android:attr/textAppearanceMedium" />
<CheckBox
android:id="@+id/task_negative_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="11dp"
android:text="@string/negative_habit_form"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
<LinearLayout
android:id="@+id/task_checklist_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="30dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:text="@string/checklist"
android:textAppearance="?android:attr/textAppearanceLarge" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/checklist_recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<ImageButton
android:id="@+id/emoji.toggle.btn2"
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_emoticon_grey600_24dp"
android:background="@drawable/md_transparent"
android:contentDescription="Toogle Emoji" />
<com.habitrpg.android.habitica.ui.views.HabiticaAutocompleteTextView
android:id="@+id/new_checklist"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="@string/new_checklist_item"
android:inputType="textCapSentences" />
<Button
android:id="@+id/add_checklist_button"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/add_checklist_item" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/task_duedate_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp"
android:orientation="vertical">
<include layout="@layout/tasks_duedate" />
</LinearLayout>
<LinearLayout
android:id="@+id/repeatables"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/frequency"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="@string/start_date"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/repeatables_startdate_text_edittext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:hint="@string/start_date"
android:textColor="@android:color/black"
android:focusable="false" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="@string/repeatables_title"
android:textAppearance="?android:attr/textAppearanceMedium" />
<Spinner
android:id="@+id/task_repeatables_frequency_spinner"
android:layout_width="match_parent"
android:layout_height="72dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="@string/repeatables_on_title"
android:id="@+id/repeatables_on_title"
android:textAppearance="?android:attr/textAppearanceMedium" />
<Spinner
android:id="@+id/task_repeatables_on_spinner"
android:layout_width="match_parent"
android:layout_height="72dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="@string/repeatEvery"
android:textAppearance="?android:attr/textAppearanceMedium" />
<NumberPicker
android:id="@+id/task_repeatables_every_x_spinner"
android:layout_width="match_parent"
android:layout_height="72dp" />
<LinearLayout
android:id="@+id/task_repeatables_frequency_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:id="@+id/summaryTitle"
android:text="@string/repeatables_summary_title"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:id="@+id/summary"
android:textAppearance="?android:attr/textAppearanceSmall" />
</LinearLayout>
<LinearLayout
android:id="@+id/task_reminders_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:text="@string/reminders"
android:textAppearance="?android:attr/textAppearanceLarge" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/reminders_recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/new_reminder_edittext"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:hint="@string/add_reminder"
android:textColor="@android:color/black"
android:focusable="false" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="20dp"
android:id="@+id/task_tags_wrapper">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/tags"
android:textAppearance="?android:attr/textAppearanceLarge" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/task_tags_checklist">
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/task_delete_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/abc_action_bar_content_inset_material"
android:orientation="vertical">
<Button
android:id="@+id/btn.delete.task"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableRight="@drawable/ic_action_delete_white_24"
android:drawableEnd="@drawable/ic_action_delete_white_24"
android:text="@string/action_delete"
android:textColor="@color/white" />
</LinearLayout>
</LinearLayout>
</ScrollView>

View file

@ -22,7 +22,7 @@
android:src="@drawable/plus_taskform"
android:scaleType="center"
android:layout_marginEnd="@dimen/spacing_large"/>
<EditText
<androidx.appcompat.widget.AppCompatEditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View file

@ -1,7 +1,6 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".ui.activities.OldTaskFormActivity">
xmlns:tools="http://schemas.android.com/tools">
<item android:id="@+id/action_save_changes" android:title="@string/save_changes"
android:orderInCategory="100" app:showAsAction="always" />
</menu>

View file

@ -245,10 +245,6 @@
android:name="challengeID"
app:argType="string" />
</fragment>
<activity
android:id="@+id/taskFormActivity"
android:name="com.habitrpg.android.habitica.ui.activities.OldTaskFormActivity"
android:label="TaskFormActivity" />
<activity
android:id="@+id/fullProfileActivity"
android:name="com.habitrpg.android.habitica.ui.activities.FullProfileActivity"

View file

@ -34,7 +34,6 @@ import com.habitrpg.android.habitica.ui.activities.ReportMessageActivity;
import com.habitrpg.android.habitica.ui.activities.SetupActivity;
import com.habitrpg.android.habitica.ui.activities.SkillMemberActivity;
import com.habitrpg.android.habitica.ui.activities.SkillTasksActivity;
import com.habitrpg.android.habitica.ui.activities.OldTaskFormActivity;
import com.habitrpg.android.habitica.ui.activities.TaskFormActivity;
import com.habitrpg.android.habitica.ui.activities.VerifyUsernameActivity;
import com.habitrpg.android.habitica.ui.adapter.social.challenges.ChallengeTasksRecyclerViewAdapter;
@ -140,8 +139,6 @@ public interface AppComponent {
void inject(SkillMemberActivity skillMembersActivity);
void inject(OldTaskFormActivity taskFormActivity);
void inject(TasksFragment tasksFragment);
void inject(FAQDetailFragment faqDetailFragment);

View file

@ -156,7 +156,7 @@ class ChallengeFormActivity : BaseActivity() {
if (requestCode == 1000) {
if (resultCode == Activity.RESULT_OK) {
val task = data?.getParcelableExtra<Task>(OldTaskFormActivity.PARCELABLE_TASK)
val task = data?.getParcelableExtra<Task>(TaskFormActivity.PARCELABLE_TASK)
if (task != null) {
addOrUpdateTaskInList(task)
}
@ -186,7 +186,7 @@ class ChallengeFormActivity : BaseActivity() {
val prizeError = checkPrizeAndMinimumForTavern()
if (!prizeError.isEmpty()) {
if (prizeError.isNotEmpty()) {
errorMessages.add(prizeError)
}
@ -413,22 +413,16 @@ class ChallengeFormActivity : BaseActivity() {
private fun openNewTaskActivity(type: String?, task: Task?) {
val bundle = Bundle()
bundle.putString(OldTaskFormActivity.TASK_TYPE_KEY, type)
bundle.putString(TaskFormActivity.TASK_TYPE_KEY, type)
if (task != null) {
bundle.putParcelable(OldTaskFormActivity.PARCELABLE_TASK, task)
bundle.putParcelable(TaskFormActivity.PARCELABLE_TASK, task)
}
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)
bundle.putBoolean(TaskFormActivity.SET_IGNORE_FLAG, true)
bundle.putBoolean(TaskFormActivity.IS_CHALLENGE_TASK, true)
bundle.putString(TaskFormActivity.USER_ID_KEY, user?.id)
val allocationMode = user?.preferences?.hasTaskBasedAllocation()
bundle.putString(OldTaskFormActivity.USER_ID_KEY, user?.id)
bundle.putBoolean(OldTaskFormActivity.ALLOCATION_MODE_KEY, allocationMode ?: false)
val intent = Intent(this, OldTaskFormActivity::class.java)
val intent = Intent(this, TaskFormActivity::class.java)
intent.putExtras(bundle)
startActivityForResult(intent, 1000)

View file

@ -1,6 +1,8 @@
package com.habitrpg.android.habitica.ui.activities
import android.app.Activity
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.view.Menu
import android.view.View
@ -27,6 +29,7 @@ import io.reactivex.functions.Consumer
import javax.inject.Inject
import android.content.res.ColorStateList
import android.graphics.drawable.ColorDrawable
import android.os.Handler
import android.view.MenuItem
import android.view.inputmethod.InputMethodManager
import androidx.appcompat.widget.AppCompatCheckBox
@ -81,6 +84,7 @@ class TaskFormActivity : BaseActivity() {
private val tagsWrapper: LinearLayout by bindView(R.id.tags_wrapper)
private var isCreating = true
private var isChallengeTask = false
private var usesTaskAttributeStats = false
private var task: Task? = null
private var taskType: String = ""
@ -120,16 +124,10 @@ class TaskFormActivity : BaseActivity() {
val bundle = intent.extras ?: return
taskType = bundle.getString(OldTaskFormActivity.TASK_TYPE_KEY) ?: Task.TYPE_HABIT
val taskId = bundle.getString(OldTaskFormActivity.TASK_ID_KEY)
if (taskId != null) {
isCreating = false
compositeSubscription.add(taskRepository.getUnmanagedTask(taskId).firstElement().subscribe(Consumer {
task = it
//tintColor = ContextCompat.getColor(this, it.mediumTaskColor)
fillForm(it)
}, RxErrorHandler.handleEmptyError()))
}
isChallengeTask = bundle.getBoolean(IS_CHALLENGE_TASK, false)
taskType = bundle.getString(TASK_TYPE_KEY) ?: Task.TYPE_HABIT
val taskId = bundle.getString(TASK_ID_KEY)
compositeSubscription.add(tagRepository.getTags()
.map { tagRepository.getUnmanagedCopy(it) }
@ -148,6 +146,18 @@ class TaskFormActivity : BaseActivity() {
statPerceptionButton.setOnClickListener { selectedStat = Stats.PERCEPTION }
configureForm()
if (taskId != null) {
isCreating = false
compositeSubscription.add(taskRepository.getUnmanagedTask(taskId).firstElement().subscribe(Consumer {
task = it
//tintColor = ContextCompat.getColor(this, it.mediumTaskColor)
fillForm(it)
}, RxErrorHandler.handleEmptyError()))
} else if (bundle.containsKey(PARCELABLE_TASK)) {
task = bundle.getParcelable(PARCELABLE_TASK)
task?.let { fillForm(it) }
}
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
@ -186,11 +196,11 @@ class TaskFormActivity : BaseActivity() {
val todoDailyViewsVisibility = if (taskType == Task.TYPE_DAILY || taskType == Task.TYPE_TODO) View.VISIBLE else View.GONE
checklistTitleView.visibility = todoDailyViewsVisibility
checklistContainer.visibility = todoDailyViewsVisibility
checklistTitleView.visibility = if (isChallengeTask) View.GONE else todoDailyViewsVisibility
checklistContainer.visibility = if (isChallengeTask) View.GONE else todoDailyViewsVisibility
remindersTitleView.visibility = todoDailyViewsVisibility
remindersContainer.visibility = todoDailyViewsVisibility
remindersTitleView.visibility = if (isChallengeTask) View.GONE else todoDailyViewsVisibility
remindersContainer.visibility = if (isChallengeTask) View.GONE else todoDailyViewsVisibility
taskSchedulingTitleView.visibility = todoDailyViewsVisibility
taskSchedulingControls.visibility = todoDailyViewsVisibility
@ -204,6 +214,8 @@ class TaskFormActivity : BaseActivity() {
rewardValueTitleView.visibility = rewardViewsVisibility
rewardValueFormView.visibility = rewardViewsVisibility
tagsWrapper.visibility = if (isChallengeTask) View.GONE else View.VISIBLE
statWrapper.visibility = if (usesTaskAttributeStats) View.VISIBLE else View.GONE
if (isCreating) {
adjustStreakTitleView.visibility = View.GONE
@ -319,25 +331,36 @@ class TaskFormActivity : BaseActivity() {
thisTask.value = rewardValueFormView.value
}
if (taskType == Task.TYPE_DAILY || taskType == Task.TYPE_TODO) {
thisTask.checklist = checklistContainer.checklistItems
thisTask.reminders = remindersContainer.reminders
}
thisTask.tags = RealmList()
tagsWrapper.forEachIndexed { index, view ->
val tagView = view as? CheckBox
if (tagView?.isChecked == true) {
thisTask.tags?.add(tags[index])
val resultIntent = Intent()
resultIntent.putExtra(TASK_TYPE_KEY, taskType)
if (!isChallengeTask) {
if (taskType == Task.TYPE_DAILY || taskType == Task.TYPE_TODO) {
thisTask.checklist = checklistContainer.checklistItems
thisTask.reminders = remindersContainer.reminders
}
thisTask.tags = RealmList()
tagsWrapper.forEachIndexed { index, view ->
val tagView = view as? CheckBox
if (tagView?.isChecked == true) {
thisTask.tags?.add(tags[index])
}
}
if (isCreating) {
taskRepository.createTaskInBackground(thisTask)
} else {
taskRepository.updateTaskInBackground(thisTask)
}
} else {
resultIntent.putExtra(PARCELABLE_TASK, thisTask)
}
if (isCreating) {
taskRepository.createTaskInBackground(thisTask)
} else {
taskRepository.updateTaskInBackground(thisTask)
}
dismissKeyboard()
finish()
val mainHandler = Handler(this.mainLooper)
mainHandler.postDelayed({
setResult(Activity.RESULT_OK, resultIntent)
dismissKeyboard()
finish()
}, 500)
}
private fun deleteTask() {
@ -356,8 +379,11 @@ class TaskFormActivity : BaseActivity() {
companion object {
const val TASK_ID_KEY = "taskId"
const val USER_ID_KEY = "userId"
const val TASK_TYPE_KEY = "type"
const val SHOW_TAG_SELECTION = "show_tag_selection"
const val IS_CHALLENGE_TASK = "isChallengeTask"
const val PARCELABLE_TASK = "parcelable_task"
// in order to disable the event handler in MainActivity
const val SET_IGNORE_FLAG = "ignoreFlag"

View file

@ -16,7 +16,6 @@ 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.OldTaskFormActivity
import com.habitrpg.android.habitica.ui.activities.TaskFormActivity
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment
import com.habitrpg.android.habitica.ui.views.tasks.TaskFilterDialog
@ -287,8 +286,7 @@ class TasksFragment : BaseMainFragment() {
}
val bundle = Bundle()
bundle.putString(OldTaskFormActivity.TASK_TYPE_KEY, type)
bundle.putBoolean(OldTaskFormActivity.SAVE_TO_DB, true)
bundle.putString(TaskFormActivity.TASK_TYPE_KEY, type)
val intent = Intent(activity, TaskFormActivity::class.java)
intent.putExtras(bundle)
@ -306,8 +304,8 @@ class TasksFragment : BaseMainFragment() {
}
val bundle = Bundle()
bundle.putString(OldTaskFormActivity.TASK_TYPE_KEY, event.Task.type)
bundle.putString(OldTaskFormActivity.TASK_ID_KEY, event.Task.id)
bundle.putString(TaskFormActivity.TASK_TYPE_KEY, event.Task.type)
bundle.putString(TaskFormActivity.TASK_ID_KEY, event.Task.id)
val intent = Intent(activity, TaskFormActivity::class.java)
intent.putExtras(bundle)
@ -334,7 +332,7 @@ class TasksFragment : BaseMainFragment() {
private fun onTaskCreatedResult(resultCode: Int, data: Intent?) {
if (resultCode == Activity.RESULT_OK) {
val taskType = data?.getStringExtra(OldTaskFormActivity.TASK_TYPE_KEY)
val taskType = data?.getStringExtra(TaskFormActivity.TASK_TYPE_KEY)
if (taskType != null) {
switchToTaskTab(taskType)
}

View file

@ -44,7 +44,7 @@ class ChecklistContainer @JvmOverloads constructor(
}
init {
orientation = LinearLayout.VERTICAL
orientation = VERTICAL
addChecklistViewAt(0)
}
@ -77,7 +77,7 @@ class ChecklistContainer @JvmOverloads constructor(
} else {
addView(view, indexToUse)
}
val layoutParams = view.layoutParams as? LinearLayout.LayoutParams
val layoutParams = view.layoutParams as? LayoutParams
layoutParams?.updateMargins(bottom = 8.dpToPx(context))
view.layoutParams = layoutParams
}

View file

@ -1,26 +1,24 @@
package com.habitrpg.android.habitica.ui.views.tasks.form
import android.animation.ObjectAnimator
import android.content.Context
import android.text.Editable
import android.text.TextWatcher
import android.util.AttributeSet
import android.view.Gravity
import android.view.ViewGroup
import android.view.animation.Animation
import android.view.animation.LinearInterpolator
import android.view.animation.RotateAnimation
import android.widget.EditText
import android.widget.ImageButton
import android.widget.LinearLayout
import androidx.appcompat.widget.AppCompatEditText
import androidx.core.content.ContextCompat
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.extensions.dpToPx
import com.habitrpg.android.habitica.extensions.inflate
import com.habitrpg.android.habitica.models.tasks.ChecklistItem
import com.habitrpg.android.habitica.ui.helpers.bindView
import android.view.animation.LinearInterpolator
import android.view.animation.Animation
import android.view.animation.RotateAnimation
class ChecklistItemFormView @JvmOverloads constructor(
@ -29,7 +27,7 @@ class ChecklistItemFormView @JvmOverloads constructor(
private val button: ImageButton by bindView(R.id.button)
private val editText: EditText by bindView(R.id.edit_text)
private val editText: AppCompatEditText by bindView(R.id.edit_text)
var item: ChecklistItem = ChecklistItem()
set(value) {