Updated on 2026-08-14
This commit is contained in:
parent
a0e31b3412
commit
9ead316ef7
3 changed files with 78 additions and 38 deletions
|
|
@ -1,14 +1,39 @@
|
|||
package com.tangem.tap.features.details.ui.securityprivacy
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.activity.OnBackPressedCallback
|
||||
import by.kirich1409.viewbindingdelegate.viewBinding
|
||||
import com.tangem.tap.common.redux.navigation.NavigationAction
|
||||
import com.tangem.tap.features.BaseStoreFragment
|
||||
import com.tangem.tap.features.details.redux.DetailsState
|
||||
import com.tangem.tap.store
|
||||
import com.tangem.wallet.R
|
||||
import com.tangem.wallet.databinding.ViewComposeFragmentBinding
|
||||
import org.rekotlin.StoreSubscriber
|
||||
|
||||
class ChangeAccessCodeFragment : BaseStoreFragment(R.layout.view_compose_fragment),
|
||||
StoreSubscriber<DetailsState> {
|
||||
|
||||
private val binding: ViewComposeFragmentBinding
|
||||
by viewBinding(ViewComposeFragmentBinding::bind)
|
||||
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
activity?.onBackPressedDispatcher?.addCallback(this, object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
store.dispatch(NavigationAction.PopBackTo())
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
binding.toolbar.setNavigationOnClickListener {
|
||||
store.dispatch(NavigationAction.PopBackTo())
|
||||
}
|
||||
}
|
||||
|
||||
override fun newState(state: DetailsState) {
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ package com.tangem.tap.features.details.ui.securityprivacy
|
|||
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.activity.OnBackPressedCallback
|
||||
import by.kirich1409.viewbindingdelegate.viewBinding
|
||||
import com.tangem.tap.common.extensions.show
|
||||
import com.tangem.tap.common.redux.navigation.AppScreen
|
||||
import com.tangem.tap.common.redux.navigation.NavigationAction
|
||||
import com.tangem.tap.features.BaseStoreFragment
|
||||
|
|
@ -22,42 +24,62 @@ class SecurityAndPrivacyFragment : BaseStoreFragment(R.layout.fragment_details_s
|
|||
by viewBinding(FragmentDetailsSecurityPrivacyBinding::bind)
|
||||
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
activity?.onBackPressedDispatcher?.addCallback(this, object : OnBackPressedCallback(true) {
|
||||
override fun handleOnBackPressed() {
|
||||
store.dispatch(NavigationAction.PopBackTo())
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
with(binding) {
|
||||
tvAccessCode.setOnClickListener {
|
||||
store.dispatch(NavigationAction.NavigateTo(AppScreen.ChangeAccessCode))
|
||||
}
|
||||
binding.toolbar.setNavigationOnClickListener {
|
||||
store.dispatch(NavigationAction.PopBackTo())
|
||||
}
|
||||
setListeners()
|
||||
|
||||
switchSaveCards.setOnCheckedChangeListener { _, isChecked ->
|
||||
store.dispatch(
|
||||
DetailsAction.ManagePrivacy.SwitchPrivacySetting(
|
||||
isChecked,
|
||||
PrivacySetting.SAVE_CARDS
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
switchSavePasswords.setOnCheckedChangeListener { _, isChecked ->
|
||||
store.dispatch(
|
||||
DetailsAction.ManagePrivacy.SwitchPrivacySetting(
|
||||
isChecked,
|
||||
PrivacySetting.SAVE_ACCESS_CODE
|
||||
)
|
||||
private fun setListeners() = with(binding) {
|
||||
tvAccessCode.setOnClickListener {
|
||||
store.dispatch(NavigationAction.NavigateTo(AppScreen.ChangeAccessCode))
|
||||
}
|
||||
|
||||
switchSaveCards.setOnCheckedChangeListener { _, isChecked ->
|
||||
store.dispatch(
|
||||
DetailsAction.ManagePrivacy.SwitchPrivacySetting(
|
||||
allow = isChecked,
|
||||
setting = PrivacySetting.SAVE_CARDS
|
||||
)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
switchSavePasswords.setOnCheckedChangeListener { _, isChecked ->
|
||||
store.dispatch(
|
||||
DetailsAction.ManagePrivacy.SwitchPrivacySetting(
|
||||
allow = isChecked,
|
||||
setting = PrivacySetting.SAVE_ACCESS_CODE
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
override fun newState(state: DetailsState) {
|
||||
with(binding) {
|
||||
llAccessManagement.setOnClickListener {
|
||||
store.dispatch(
|
||||
DetailsAction.ManageSecurity.CheckCurrentSecurityOption(
|
||||
state.scanResponse!!.card
|
||||
|
||||
val card = state.scanResponse?.card
|
||||
llAccessManagement.show(card != null)
|
||||
if (card != null) {
|
||||
llAccessManagement.setOnClickListener {
|
||||
store.dispatch(
|
||||
DetailsAction.ManageSecurity.CheckCurrentSecurityOption(
|
||||
card
|
||||
)
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
val currentSecurity = when (state.securityScreenState?.currentOption) {
|
||||
|
|
@ -70,6 +92,8 @@ class SecurityAndPrivacyFragment : BaseStoreFragment(R.layout.fragment_details_s
|
|||
|
||||
switchSaveCards.isChecked = state.saveCards
|
||||
switchSavePasswords.isChecked = state.savePasswords
|
||||
|
||||
tvAccessCode.show(state.scanResponse?.card?.isAccessCodeSet == true)
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -64,10 +64,9 @@
|
|||
<TextView
|
||||
android:id="@+id/tv_access_code"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="40dp"
|
||||
android:drawablePadding="15dp"
|
||||
android:paddingTop="7dp"
|
||||
android:paddingBottom="7dp"
|
||||
android:gravity="center_vertical"
|
||||
android:text="@string/security_and_privacy_change_password"
|
||||
android:textColor="@color/darkGray6"
|
||||
android:textSize="16sp"
|
||||
|
|
@ -80,11 +79,9 @@
|
|||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:id="@+id/ll_access_management"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="40dp"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:paddingTop="7dp"
|
||||
android:paddingBottom="7dp"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_access_code">
|
||||
|
||||
<TextView
|
||||
|
|
@ -134,10 +131,7 @@
|
|||
<com.google.android.material.switchmaterial.SwitchMaterial
|
||||
android:id="@+id/switch_save_cards"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:drawablePadding="15dp"
|
||||
android:paddingTop="7dp"
|
||||
android:paddingBottom="7dp"
|
||||
android:layout_height="40dp"
|
||||
android:text="@string/security_and_privacy_save_card_switch"
|
||||
android:textColor="@color/darkGray6"
|
||||
android:textSize="16sp"
|
||||
|
|
@ -147,10 +141,7 @@
|
|||
<com.google.android.material.switchmaterial.SwitchMaterial
|
||||
android:id="@+id/switch_save_passwords"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:drawablePadding="15dp"
|
||||
android:paddingTop="7dp"
|
||||
android:paddingBottom="7dp"
|
||||
android:layout_height="40dp"
|
||||
android:text="@string/security_and_privacy_save_password_switch"
|
||||
android:textColor="@color/darkGray6"
|
||||
android:textSize="16sp"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue