mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-05-22 13:48:55 +00:00
Disable changes for tasks in challenges (#1667)
* added resources to run project * disable editing for fields which cannot be edited when found in a task belonging to a challenge
This commit is contained in:
parent
ed39758118
commit
476f23d1a1
4 changed files with 33 additions and 0 deletions
|
|
@ -208,6 +208,7 @@ class TaskFormActivity : BaseActivity() {
|
|||
this.challenge = challenge
|
||||
binding.challengeNameView.text = getString(R.string.challenge_task_name, challenge.name)
|
||||
binding.challengeNameView.visibility = View.VISIBLE
|
||||
disableEditingForUneditableFieldsInChallengeTask()
|
||||
},
|
||||
RxErrorHandler.handleEmptyError()
|
||||
)
|
||||
|
|
@ -621,6 +622,13 @@ class TaskFormActivity : BaseActivity() {
|
|||
)
|
||||
}
|
||||
|
||||
private fun disableEditingForUneditableFieldsInChallengeTask() {
|
||||
binding.textEditText.isEnabled = false
|
||||
binding.taskDifficultyButtons.isEnabled = false
|
||||
binding.taskSchedulingControls.isEnabled = false
|
||||
binding.habitScoringButtons.isEnabled = false
|
||||
}
|
||||
|
||||
override fun finish() {
|
||||
dismissKeyboard()
|
||||
super.finish()
|
||||
|
|
|
|||
|
|
@ -23,6 +23,12 @@ class HabitScoringButtonsView @JvmOverloads constructor(
|
|||
var tintColor: Int = ContextCompat.getColor(context, R.color.brand_300)
|
||||
var textTintColor: Int? = null
|
||||
|
||||
override fun setEnabled(isEnabled: Boolean) {
|
||||
super.setEnabled(isEnabled)
|
||||
binding.positiveView.isEnabled = isEnabled
|
||||
binding.negativeView.isEnabled = isEnabled
|
||||
}
|
||||
|
||||
var isPositive = true
|
||||
set(value) {
|
||||
field = value
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import android.widget.LinearLayout
|
|||
import android.widget.Space
|
||||
import android.widget.TextView
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.view.children
|
||||
import com.habitrpg.android.habitica.R
|
||||
import com.habitrpg.android.habitica.extensions.asDrawable
|
||||
import com.habitrpg.android.habitica.extensions.inflate
|
||||
|
|
@ -33,6 +34,13 @@ class TaskDifficultyButtons @JvmOverloads constructor(
|
|||
}
|
||||
private lateinit var selectedButton: View
|
||||
|
||||
override fun setEnabled(isEnabled: Boolean) {
|
||||
super.setEnabled(isEnabled)
|
||||
for (child in this.children) {
|
||||
child.isEnabled = isEnabled
|
||||
}
|
||||
}
|
||||
|
||||
override fun onAttachedToWindow() {
|
||||
super.onAttachedToWindow()
|
||||
removeAllViews()
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import android.view.View
|
|||
import android.view.accessibility.AccessibilityEvent
|
||||
import android.widget.*
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.view.children
|
||||
import com.habitrpg.android.habitica.R
|
||||
import com.habitrpg.android.habitica.databinding.TaskFormTaskSchedulingBinding
|
||||
import com.habitrpg.android.habitica.extensions.dpToPx
|
||||
|
|
@ -178,6 +179,16 @@ class TaskSchedulingControls @JvmOverloads constructor(
|
|||
configureViewsForFrequency()
|
||||
}
|
||||
|
||||
override fun setEnabled(isEnabled: Boolean) {
|
||||
super.setEnabled(isEnabled)
|
||||
for (button in binding.weeklyRepeatWrapper.children) {
|
||||
button.isEnabled = isEnabled
|
||||
}
|
||||
binding.startDateWrapper.isEnabled = isEnabled
|
||||
binding.monthlyRepeatDays.isEnabled = isEnabled
|
||||
binding.monthlyRepeatWeeks.isEnabled = isEnabled
|
||||
}
|
||||
|
||||
private fun configureViewsForType() {
|
||||
binding.startDateTitle.text = context.getString(if (taskType == Task.TYPE_DAILY) R.string.start_date else R.string.due_date)
|
||||
binding.repeatsEveryWrapper.visibility = if (taskType == Task.TYPE_DAILY) View.VISIBLE else View.GONE
|
||||
|
|
|
|||
Loading…
Reference in a new issue