summaryrefslogtreecommitdiff
path: root/anastasis-ui/src/main/java/org/gnu/anastasis/ui/authentication/SmsFragment.kt
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2022-10-26 10:17:26 -0300
committerTorsten Grote <t@grobox.de>2022-10-26 10:17:26 -0300
commit2398d0fb201b53b2e41bf9d549b293b6b93e2c45 (patch)
treea41e25e6d09bd284f07752ef4810ba47585e4b75 /anastasis-ui/src/main/java/org/gnu/anastasis/ui/authentication/SmsFragment.kt
parentd08a424f0421e0f8ef0bcdf8a59f3727356a218a (diff)
downloadtaler-android-2398d0fb201b53b2e41bf9d549b293b6b93e2c45.tar.gz
taler-android-2398d0fb201b53b2e41bf9d549b293b6b93e2c45.tar.bz2
taler-android-2398d0fb201b53b2e41bf9d549b293b6b93e2c45.zip
[wallet] Remove old anastasis prototype
Diffstat (limited to 'anastasis-ui/src/main/java/org/gnu/anastasis/ui/authentication/SmsFragment.kt')
-rw-r--r--anastasis-ui/src/main/java/org/gnu/anastasis/ui/authentication/SmsFragment.kt118
1 files changed, 0 insertions, 118 deletions
diff --git a/anastasis-ui/src/main/java/org/gnu/anastasis/ui/authentication/SmsFragment.kt b/anastasis-ui/src/main/java/org/gnu/anastasis/ui/authentication/SmsFragment.kt
deleted file mode 100644
index a7a1e75..0000000
--- a/anastasis-ui/src/main/java/org/gnu/anastasis/ui/authentication/SmsFragment.kt
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * This file is part of GNU Taler
- * (C) 2020 Taler Systems S.A.
- *
- * GNU Taler is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License as published by the Free Software
- * Foundation; either version 3, or (at your option) any later version.
- *
- * GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
- * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
- */
-
-package org.gnu.anastasis.ui.authentication
-
-import android.Manifest
-import android.annotation.SuppressLint
-import android.content.pm.PackageManager.PERMISSION_GRANTED
-import android.os.Bundle
-import android.telephony.TelephonyManager
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import androidx.annotation.RequiresPermission
-import androidx.core.content.ContextCompat.checkSelfPermission
-import androidx.core.content.getSystemService
-import androidx.fragment.app.Fragment
-import androidx.fragment.app.activityViewModels
-import androidx.navigation.fragment.findNavController
-import com.google.android.material.transition.MaterialContainerTransform
-import com.google.android.material.transition.MaterialContainerTransform.FADE_MODE_CROSS
-import org.gnu.anastasis.ui.MainViewModel
-import org.gnu.anastasis.ui.PERMISSION_REQUEST_CODE
-import org.gnu.anastasis.ui.R
-import org.gnu.anastasis.ui.databinding.FragmentSmsBinding
-
-private const val PERMISSION = Manifest.permission.READ_PHONE_STATE
-
-class SmsFragment : Fragment() {
-
- private val viewModel: MainViewModel by activityViewModels()
-
- private var _binding: FragmentSmsBinding? = null
-
- // This property is only valid between onCreateView and
- // onDestroyView.
- private val binding get() = _binding!!
-
- override fun onCreateView(
- inflater: LayoutInflater, container: ViewGroup?,
- savedInstanceState: Bundle?,
- ): View? {
- _binding = FragmentSmsBinding.inflate(inflater, container, false)
- sharedElementEnterTransition = MaterialContainerTransform().apply {
- fadeMode = FADE_MODE_CROSS
- }
- return inflater.inflate(R.layout.fragment_sms, container, false).apply {
- transitionName = "sms_card"
- }
- }
-
- override fun onDestroyView() {
- super.onDestroyView()
- _binding = null
- }
-
- override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
- binding.smsView.editText?.setOnFocusChangeListener { _, hasFocus ->
- if (hasFocus) checkPerm()
- }
- binding.saveSmsButton.setOnClickListener {
- viewModel.smsChecked.value = true
- findNavController().popBackStack()
- }
- }
-
- private fun checkPerm() = when {
- checkSelfPermission(requireContext(), PERMISSION) == PERMISSION_GRANTED -> {
- // You can use the API that requires the permission.
- fillPhoneNumber()
- }
- shouldShowRequestPermissionRationale(PERMISSION) -> {
- // In an educational UI, explain to the user why your app requires this
- // permission for a specific feature to behave as expected. In this UI,
- // include a "cancel" or "no thanks" button that allows the user to
- // continue using your app without granting the permission.
- }
- else -> {
- // You can directly ask for the permission.
- requestPermissions(arrayOf(PERMISSION), PERMISSION_REQUEST_CODE)
- }
- }
-
- @Deprecated("Deprecated in Java")
- override fun onRequestPermissionsResult(
- requestCode: Int,
- permissions: Array<String>,
- grantResults: IntArray,
- ) {
- if (requestCode == PERMISSION_REQUEST_CODE && grantResults.isNotEmpty() &&
- grantResults[0] == PERMISSION_GRANTED
- ) checkPerm()
- }
-
- @SuppressLint("HardwareIds")
- @RequiresPermission(PERMISSION)
- private fun fillPhoneNumber() {
- val telephonyService = requireContext().getSystemService<TelephonyManager>()
- telephonyService?.line1Number?.let { phoneNumber ->
- binding.smsView.editText?.setText(phoneNumber)
- binding.smsView.editText?.setSelection(phoneNumber.length)
- }
- }
-
-}