Updated on 2026-08-14

This commit is contained in:
Tangem 2020-09-30 14:14:51 +03:00
parent 6a983097bc
commit 53080f01ca
2 changed files with 25 additions and 16 deletions

View file

@ -134,7 +134,8 @@ private fun handleSecurityAction(
}
state.copy(securityScreenState = state.securityScreenState?.copy(
allowedOptions = allowedSecurityOptions
allowedOptions = allowedSecurityOptions,
selectedOption = state.securityScreenState.currentOption
))
}
is DetailsAction.ManageSecurity.SelectOption -> {

View file

@ -47,7 +47,6 @@ class DetailsSecurityFragment : Fragment(R.layout.fragment_details_security),
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
toolbar.setNavigationOnClickListener {
store.dispatch(NavigationAction.PopBackTo())
}
@ -55,15 +54,6 @@ class DetailsSecurityFragment : Fragment(R.layout.fragment_details_security),
}
private fun setOnClickListeners() {
v_long_tap.setOnClickListener {
store.dispatch(DetailsAction.ManageSecurity.SelectOption(SecurityOption.LongTap))
}
v_passcode.setOnClickListener {
store.dispatch(DetailsAction.ManageSecurity.SelectOption(SecurityOption.PassCode))
}
v_access_code.setOnClickListener {
store.dispatch(DetailsAction.ManageSecurity.SelectOption(SecurityOption.AccessCode))
}
btn_save_changes.setOnClickListener {
store.state.detailsState.securityScreenState?.selectedOption?.let {
store.dispatch(DetailsAction.ManageSecurity.ConfirmSelection(it))
@ -75,7 +65,7 @@ class DetailsSecurityFragment : Fragment(R.layout.fragment_details_security),
if (activity == null) return
selectSecurityOption(state.securityScreenState?.selectedOption)
for (option in SecurityOption.values()) {
enableOptions(
setupOption(
option,
state.securityScreenState?.allowedOptions
?: EnumSet.noneOf(SecurityOption::class.java)
@ -92,11 +82,11 @@ class DetailsSecurityFragment : Fragment(R.layout.fragment_details_security),
securityOption == SecurityOption.AccessCode && radiobutton_access_code.isEnabled
}
private fun enableOptions(option: SecurityOption, allowedOptions: EnumSet<SecurityOption>) {
private fun setupOption(option: SecurityOption, allowedOptions: EnumSet<SecurityOption>) {
when (option) {
SecurityOption.LongTap -> enableLongTap(allowedOptions.contains(option))
SecurityOption.PassCode -> enablePasscode(allowedOptions.contains(option))
SecurityOption.AccessCode -> enableAccessCode(allowedOptions.contains(option))
SecurityOption.LongTap -> { enableLongTap(allowedOptions.contains(option)) }
SecurityOption.PassCode -> { enablePasscode(allowedOptions.contains(option)) }
SecurityOption.AccessCode -> { enableAccessCode(allowedOptions.contains(option)) }
}
}
@ -106,6 +96,12 @@ class DetailsSecurityFragment : Fragment(R.layout.fragment_details_security),
tv_long_tap_title.alpha = alpha
radiobutton_long_tap.alpha = alpha
radiobutton_long_tap.isEnabled = enable
v_long_tap.isClickable = enable
if (enable) {
v_long_tap.setOnClickListener {
store.dispatch(DetailsAction.ManageSecurity.SelectOption(SecurityOption.LongTap))
}
}
}
private fun enablePasscode(enable: Boolean) {
@ -114,6 +110,12 @@ class DetailsSecurityFragment : Fragment(R.layout.fragment_details_security),
tv_passcode_title.alpha = alpha
radiobutton_passcode.alpha = alpha
radiobutton_passcode.isEnabled = enable
v_passcode.isClickable = enable
if (enable) {
v_passcode.setOnClickListener {
store.dispatch(DetailsAction.ManageSecurity.SelectOption(SecurityOption.PassCode))
}
}
}
private fun enableAccessCode(enable: Boolean) {
@ -122,5 +124,11 @@ class DetailsSecurityFragment : Fragment(R.layout.fragment_details_security),
tv_access_code_title.alpha = alpha
radiobutton_access_code.alpha = alpha
radiobutton_access_code.isEnabled = enable
v_access_code.isClickable = enable
if (enable) {
v_access_code.setOnClickListener {
store.dispatch(DetailsAction.ManageSecurity.SelectOption(SecurityOption.AccessCode))
}
}
}
}