mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-03-05 00:37:22 +00:00
Add screen to set Signal as default SMS.
This commit is contained in:
@@ -1,11 +1,9 @@
|
||||
package org.thoughtcrime.securesms.exporter.flow
|
||||
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import org.signal.smsexporter.BecomeSmsAppFailure
|
||||
import org.signal.smsexporter.DefaultSmsHelper
|
||||
import org.thoughtcrime.securesms.R
|
||||
import org.thoughtcrime.securesms.databinding.ExportYourSmsMessagesFragmentBinding
|
||||
@@ -16,10 +14,6 @@ import org.thoughtcrime.securesms.util.navigation.safeNavigate
|
||||
*/
|
||||
class ExportYourSmsMessagesFragment : Fragment(R.layout.export_your_sms_messages_fragment) {
|
||||
|
||||
companion object {
|
||||
private val REQUEST_CODE = 1
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
val binding = ExportYourSmsMessagesFragmentBinding.bind(view)
|
||||
|
||||
@@ -27,34 +21,12 @@ class ExportYourSmsMessagesFragment : Fragment(R.layout.export_your_sms_messages
|
||||
requireActivity().finish()
|
||||
}
|
||||
|
||||
DefaultSmsHelper.becomeDefaultSms(requireContext()).either(
|
||||
onSuccess = {
|
||||
binding.continueButton.setOnClickListener { _ ->
|
||||
startActivityForResult(it, REQUEST_CODE)
|
||||
}
|
||||
},
|
||||
onFailure = {
|
||||
when (it) {
|
||||
BecomeSmsAppFailure.ALREADY_DEFAULT_SMS -> {
|
||||
binding.continueButton.setOnClickListener {
|
||||
navigateToExporter()
|
||||
}
|
||||
}
|
||||
BecomeSmsAppFailure.ROLE_IS_NOT_AVAILABLE -> {
|
||||
error("Should never happen.")
|
||||
}
|
||||
}
|
||||
binding.continueButton.setOnClickListener {
|
||||
if (DefaultSmsHelper.isDefaultSms(requireContext())) {
|
||||
findNavController().safeNavigate(ExportYourSmsMessagesFragmentDirections.actionExportYourSmsMessagesFragmentToExportingSmsMessagesFragment())
|
||||
} else {
|
||||
findNavController().safeNavigate(ExportYourSmsMessagesFragmentDirections.actionExportYourSmsMessagesFragmentToSetSignalAsDefaultSmsAppFragment())
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
||||
if (requestCode == REQUEST_CODE && DefaultSmsHelper.isDefaultSms(requireContext())) {
|
||||
navigateToExporter()
|
||||
}
|
||||
}
|
||||
|
||||
private fun navigateToExporter() {
|
||||
findNavController().safeNavigate(ExportYourSmsMessagesFragmentDirections.actionExportYourSmsMessagesFragmentToExportingSmsMessagesFragment())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
package org.thoughtcrime.securesms.exporter.flow
|
||||
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import org.signal.smsexporter.BecomeSmsAppFailure
|
||||
import org.signal.smsexporter.DefaultSmsHelper
|
||||
import org.thoughtcrime.securesms.R
|
||||
import org.thoughtcrime.securesms.databinding.SetSignalAsDefaultSmsAppFragmentBinding
|
||||
import org.thoughtcrime.securesms.util.navigation.safeNavigate
|
||||
|
||||
class SetSignalAsDefaultSmsAppFragment : Fragment(R.layout.set_signal_as_default_sms_app_fragment) {
|
||||
companion object {
|
||||
private const val REQUEST_CODE = 1
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
val binding = SetSignalAsDefaultSmsAppFragmentBinding.bind(view)
|
||||
|
||||
binding.continueButton.setOnClickListener {
|
||||
DefaultSmsHelper.becomeDefaultSms(requireContext()).either(
|
||||
onSuccess = {
|
||||
startActivityForResult(it, REQUEST_CODE)
|
||||
},
|
||||
onFailure = {
|
||||
when (it) {
|
||||
BecomeSmsAppFailure.ALREADY_DEFAULT_SMS -> navigateToExporter()
|
||||
BecomeSmsAppFailure.ROLE_IS_NOT_AVAILABLE -> error("Should never happen")
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
||||
if (requestCode == REQUEST_CODE && DefaultSmsHelper.isDefaultSms(requireContext())) {
|
||||
navigateToExporter()
|
||||
}
|
||||
}
|
||||
|
||||
private fun navigateToExporter() {
|
||||
findNavController().safeNavigate(SetSignalAsDefaultSmsAppFragmentDirections.actionSetSignalAsDefaultSmsAppFragmentToExportingSmsMessagesFragment())
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user