mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-05-20 12:49:02 +00:00
Use existing arrow back, updated to use viewbinding
This commit is contained in:
parent
dfdaa4cc57
commit
adea03824a
3 changed files with 45 additions and 69 deletions
|
|
@ -1,10 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="@android:color/black">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z"/>
|
||||
</vector>
|
||||
|
|
@ -21,13 +21,14 @@
|
|||
|
||||
<ImageButton
|
||||
android:id="@+id/back_imagebutton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginStart="@dimen/button_padding_small"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:padding="8dp"
|
||||
android:src="@drawable/arrow_back" />
|
||||
android:src="@drawable/ic_arrow_back_white_36dp"
|
||||
app:tint="@android:color/black" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/confirm_action_textview"
|
||||
|
|
|
|||
|
|
@ -14,27 +14,22 @@ import androidx.fragment.app.DialogFragment
|
|||
import com.google.android.material.textfield.TextInputEditText
|
||||
import com.google.android.material.textfield.TextInputLayout
|
||||
import com.habitrpg.android.habitica.R
|
||||
import com.habitrpg.android.habitica.databinding.DialogHabiticaAccountBinding
|
||||
import com.habitrpg.android.habitica.models.user.User
|
||||
|
||||
|
||||
class HabiticaAccountDialog(private var thisContext: Context, private val accountAction: String, val accountUpdateConfirmed: AccountUpdateConfirmed, val user: User?) : DialogFragment() {
|
||||
class HabiticaAccountDialog(private var thisContext: Context, private val accountAction: String, val accountUpdateConfirmed: AccountUpdateConfirmed, val user: User?) : DialogFragment(R.layout.dialog_habitica_account) {
|
||||
|
||||
private lateinit var mainView: View
|
||||
private var backBtn: ImageButton? = null
|
||||
private var title: TextView? = null
|
||||
private var warningDescription: TextView? = null
|
||||
private var confirmationTextInputLayout: TextInputLayout? = null
|
||||
private var confirmationText: TextInputEditText? = null
|
||||
private var confirmationAction: TextView? = null
|
||||
private var _binding: DialogHabiticaAccountBinding? = null
|
||||
private val binding get() = _binding!!
|
||||
|
||||
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
|
||||
mainView = inflater.inflate(R.layout.dialog_habitica_account, container, false)
|
||||
return mainView
|
||||
_binding = DialogHabiticaAccountBinding.inflate(layoutInflater)
|
||||
return binding.root
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
initViews()
|
||||
|
||||
when (accountAction) {
|
||||
"reset_account" -> setResetAccountViews()
|
||||
|
|
@ -44,24 +39,24 @@ class HabiticaAccountDialog(private var thisContext: Context, private val accoun
|
|||
}
|
||||
|
||||
private fun setResetAccountViews() {
|
||||
title?.setText(R.string.reset_account_title)
|
||||
warningDescription?.setText(R.string.reset_account_description)
|
||||
confirmationTextInputLayout?.setHint(R.string.confirm_reset)
|
||||
confirmationAction?.setText(R.string.reset_account)
|
||||
binding.titleTextview.setText(R.string.reset_account_title)
|
||||
binding.warningDescriptionTextview.setText(R.string.reset_account_description)
|
||||
binding.confirmationTextInputLayout.setHint(R.string.confirm_reset)
|
||||
binding.confirmActionTextview.setText(R.string.reset_account)
|
||||
|
||||
confirmationText?.addTextChangedListener(object : TextWatcher {
|
||||
binding.confirmationInputEdittext.addTextChangedListener(object : TextWatcher {
|
||||
override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
|
||||
confirmationAction?.setTextColor(ContextCompat.getColor(thisContext, R.color.gray_10))
|
||||
confirmationAction?.alpha = .4f
|
||||
binding.confirmActionTextview.setTextColor(ContextCompat.getColor(thisContext, R.color.gray_10))
|
||||
binding.confirmActionTextview.alpha = .4f
|
||||
}
|
||||
|
||||
override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
|
||||
if (confirmationText?.text.toString() == context?.getString(R.string.reset_caps)) {
|
||||
confirmationAction?.setTextColor(ContextCompat.getColor(thisContext, R.color.red_100))
|
||||
confirmationAction?.alpha = 1.0f
|
||||
if (binding.confirmationInputEdittext.text.toString() == context?.getString(R.string.reset_caps)) {
|
||||
binding.confirmActionTextview.setTextColor(ContextCompat.getColor(thisContext, R.color.red_100))
|
||||
binding.confirmActionTextview.alpha = 1.0f
|
||||
} else {
|
||||
confirmationAction?.setTextColor(ContextCompat.getColor(thisContext, R.color.gray_10))
|
||||
confirmationAction?.alpha = .4f
|
||||
binding.confirmActionTextview.setTextColor(ContextCompat.getColor(thisContext, R.color.gray_10))
|
||||
binding.confirmActionTextview.alpha = .4f
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -69,69 +64,59 @@ class HabiticaAccountDialog(private var thisContext: Context, private val accoun
|
|||
}
|
||||
})
|
||||
|
||||
confirmationAction?.setOnClickListener {
|
||||
if (confirmationText?.text.toString() == context?.getString(R.string.reset_caps)) {
|
||||
binding.confirmActionTextview.setOnClickListener {
|
||||
if (binding.confirmationInputEdittext.text.toString() == context?.getString(R.string.reset_caps)) {
|
||||
accountUpdateConfirmed.resetConfirmedClicked()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun setDeleteAccountViews() {
|
||||
title?.setText(R.string.are_you_sure_you_want_to_delete)
|
||||
confirmationTextInputLayout?.setHint(R.string.password)
|
||||
confirmationAction?.setText(R.string.delete_account)
|
||||
warningDescription?.text = context?.getString(R.string.delete_account_description)
|
||||
binding.titleTextview.setText(R.string.are_you_sure_you_want_to_delete)
|
||||
binding.confirmationTextInputLayout.setHint(R.string.password)
|
||||
binding.confirmActionTextview.setText(R.string.delete_account)
|
||||
binding.warningDescriptionTextview.text = context?.getString(R.string.delete_account_description)
|
||||
if (user?.authentication?.hasPassword != true) {
|
||||
warningDescription?.text = context?.getString(R.string.delete_oauth_account_description)
|
||||
confirmationTextInputLayout?.setHint(R.string.confirm_deletion)
|
||||
binding.warningDescriptionTextview.text = context?.getString(R.string.delete_oauth_account_description)
|
||||
binding.confirmationTextInputLayout.setHint(R.string.confirm_deletion)
|
||||
}
|
||||
|
||||
confirmationText?.addTextChangedListener(object : TextWatcher {
|
||||
binding.confirmationInputEdittext.addTextChangedListener(object : TextWatcher {
|
||||
override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
|
||||
confirmationAction?.setTextColor(ContextCompat.getColor(thisContext, R.color.gray_10))
|
||||
confirmationAction?.alpha = .4f
|
||||
binding.confirmActionTextview.setTextColor(ContextCompat.getColor(thisContext, R.color.gray_10))
|
||||
binding.confirmActionTextview.alpha = .4f
|
||||
}
|
||||
|
||||
override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
|
||||
if (confirmationText?.text.toString().length > 5) {
|
||||
if ((user?.authentication?.hasPassword != true && confirmationText?.text.toString() == context?.getString(R.string.delete_caps)) ||
|
||||
if (binding.confirmationInputEdittext.text.toString().length > 5) {
|
||||
if ((user?.authentication?.hasPassword != true && binding.confirmationInputEdittext?.text.toString() == context?.getString(R.string.delete_caps)) ||
|
||||
user?.authentication?.hasPassword == true) {
|
||||
confirmationAction?.setTextColor(ContextCompat.getColor(thisContext, R.color.red_100))
|
||||
confirmationAction?.alpha = 1.0f
|
||||
binding.confirmActionTextview.setTextColor(ContextCompat.getColor(thisContext, R.color.red_100))
|
||||
binding.confirmActionTextview.alpha = 1.0f
|
||||
}
|
||||
} else {
|
||||
confirmationAction?.setTextColor(ContextCompat.getColor(thisContext, R.color.gray_10))
|
||||
confirmationAction?.alpha = .4f
|
||||
binding.confirmActionTextview.setTextColor(ContextCompat.getColor(thisContext, R.color.gray_10))
|
||||
binding.confirmActionTextview.alpha = .4f
|
||||
}
|
||||
}
|
||||
|
||||
override fun afterTextChanged(p0: Editable?) {
|
||||
}
|
||||
})
|
||||
confirmationAction?.setOnClickListener {
|
||||
binding.confirmActionTextview.setOnClickListener {
|
||||
if (user?.authentication?.hasPassword != true) {
|
||||
if (confirmationText?.text.toString() == context?.getString(R.string.delete_caps)) {
|
||||
accountUpdateConfirmed.deletionConfirmClicked(confirmationText?.text.toString())
|
||||
if (binding.confirmActionTextview.text.toString() == context?.getString(R.string.delete_caps)) {
|
||||
accountUpdateConfirmed.deletionConfirmClicked(binding.confirmationInputEdittext.text.toString())
|
||||
}
|
||||
} else {
|
||||
if (confirmationText?.text.toString().length > 5) {
|
||||
accountUpdateConfirmed.deletionConfirmClicked(confirmationText?.text.toString())
|
||||
if (binding.confirmationInputEdittext.text.toString().length > 5) {
|
||||
accountUpdateConfirmed.deletionConfirmClicked(binding.confirmationInputEdittext.text.toString())
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private fun initViews() {
|
||||
backBtn = mainView.findViewById(R.id.back_imagebutton)
|
||||
backBtn?.setOnClickListener { this.dismiss() }
|
||||
title = mainView.findViewById(R.id.title_textview)
|
||||
warningDescription = mainView.findViewById(R.id.warning_description_textview)
|
||||
confirmationTextInputLayout = mainView.findViewById(R.id.confirmation_text_input_layout)
|
||||
confirmationText = mainView.findViewById(R.id.confirmation_input_edittext)
|
||||
confirmationAction = mainView.findViewById(R.id.confirm_action_textview)
|
||||
}
|
||||
|
||||
override fun getTheme(): Int {
|
||||
return R.style.HabiticaAccountDialogTheme
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue