kopia lustrzana https://github.com/ryukoposting/Signal-Android
64 wiersze
2.4 KiB
Kotlin
64 wiersze
2.4 KiB
Kotlin
package org.thoughtcrime.securesms.components.settings.app.changenumber
|
|
|
|
import android.os.Bundle
|
|
import android.view.View
|
|
import androidx.appcompat.widget.Toolbar
|
|
import androidx.navigation.fragment.findNavController
|
|
import org.thoughtcrime.securesms.R
|
|
import org.thoughtcrime.securesms.components.settings.app.changenumber.ChangeNumberUtil.changeNumberSuccess
|
|
import org.thoughtcrime.securesms.keyvalue.SignalStore
|
|
import org.thoughtcrime.securesms.lock.PinHashing
|
|
import org.thoughtcrime.securesms.registration.fragments.BaseRegistrationLockFragment
|
|
import org.thoughtcrime.securesms.registration.viewmodel.BaseRegistrationViewModel
|
|
import org.thoughtcrime.securesms.util.CircularProgressButtonUtil.cancelSpinning
|
|
import org.thoughtcrime.securesms.util.CommunicationActions
|
|
import org.thoughtcrime.securesms.util.SupportEmailUtil
|
|
|
|
class ChangeNumberRegistrationLockFragment : BaseRegistrationLockFragment(R.layout.fragment_change_number_registration_lock) {
|
|
|
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
|
super.onViewCreated(view, savedInstanceState)
|
|
|
|
val toolbar: Toolbar = view.findViewById(R.id.toolbar)
|
|
toolbar.setNavigationOnClickListener { findNavController().navigateUp() }
|
|
}
|
|
|
|
override fun getViewModel(): BaseRegistrationViewModel {
|
|
return ChangeNumberUtil.getViewModel(this)
|
|
}
|
|
|
|
override fun navigateToAccountLocked() {
|
|
findNavController().navigate(ChangeNumberRegistrationLockFragmentDirections.actionChangeNumberRegistrationLockToChangeNumberAccountLocked())
|
|
}
|
|
|
|
override fun handleSuccessfulPinEntry(pin: String) {
|
|
val pinsDiffer: Boolean = SignalStore.kbsValues().localPinHash?.let { !PinHashing.verifyLocalPinHash(it, pin) } ?: false
|
|
|
|
cancelSpinning(pinButton)
|
|
|
|
if (pinsDiffer) {
|
|
findNavController().navigate(ChangeNumberRegistrationLockFragmentDirections.actionChangeNumberRegistrationLockToChangeNumberPinDiffers())
|
|
} else {
|
|
changeNumberSuccess()
|
|
}
|
|
}
|
|
|
|
override fun sendEmailToSupport() {
|
|
val subject = R.string.ChangeNumberRegistrationLockFragment__signal_change_number_need_help_with_pin_for_android_v2_pin
|
|
|
|
val body: String = SupportEmailUtil.generateSupportEmailBody(
|
|
requireContext(),
|
|
subject,
|
|
null,
|
|
null
|
|
)
|
|
|
|
CommunicationActions.openEmail(
|
|
requireContext(),
|
|
SupportEmailUtil.getSupportEmailAddress(requireContext()),
|
|
getString(subject),
|
|
body
|
|
)
|
|
}
|
|
}
|