summaryrefslogtreecommitdiff
path: root/anastasis-ui/src/main/java/org/gnu/anastasis/ui
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
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')
-rw-r--r--anastasis-ui/src/main/java/org/gnu/anastasis/ui/IntroFragment.kt58
-rw-r--r--anastasis-ui/src/main/java/org/gnu/anastasis/ui/MainActivity.kt50
-rw-r--r--anastasis-ui/src/main/java/org/gnu/anastasis/ui/MainViewModel.kt32
-rw-r--r--anastasis-ui/src/main/java/org/gnu/anastasis/ui/authentication/AuthenticationFragment.kt134
-rw-r--r--anastasis-ui/src/main/java/org/gnu/anastasis/ui/authentication/SecurityQuestionFragment.kt60
-rw-r--r--anastasis-ui/src/main/java/org/gnu/anastasis/ui/authentication/SmsFragment.kt118
-rw-r--r--anastasis-ui/src/main/java/org/gnu/anastasis/ui/authentication/VideoFragment.kt135
-rw-r--r--anastasis-ui/src/main/java/org/gnu/anastasis/ui/identity/ChangeLocationFragment.kt68
-rw-r--r--anastasis-ui/src/main/java/org/gnu/anastasis/ui/identity/IdentityFragment.kt124
-rw-r--r--anastasis-ui/src/main/java/org/gnu/anastasis/ui/identity/Locations.kt29
10 files changed, 0 insertions, 808 deletions
diff --git a/anastasis-ui/src/main/java/org/gnu/anastasis/ui/IntroFragment.kt b/anastasis-ui/src/main/java/org/gnu/anastasis/ui/IntroFragment.kt
deleted file mode 100644
index ef2e190..0000000
--- a/anastasis-ui/src/main/java/org/gnu/anastasis/ui/IntroFragment.kt
+++ /dev/null
@@ -1,58 +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
-
-import android.os.Bundle
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import androidx.fragment.app.Fragment
-import androidx.navigation.fragment.findNavController
-import org.gnu.anastasis.ui.databinding.FragmentIntroBinding
-
-class IntroFragment : Fragment() {
-
- private var _binding: FragmentIntroBinding? = 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 = FragmentIntroBinding.inflate(inflater, container, false)
- val view = binding.root
- return view
- }
-
- override fun onDestroyView() {
- super.onDestroyView()
- _binding = null
- }
-
- override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
- super.onViewCreated(view, savedInstanceState)
-
- binding.button.setOnClickListener {
- findNavController().navigate(R.id.action_nav_anastasis_intro_to_nav_anastasis_identity)
- }
- }
-
-
-}
diff --git a/anastasis-ui/src/main/java/org/gnu/anastasis/ui/MainActivity.kt b/anastasis-ui/src/main/java/org/gnu/anastasis/ui/MainActivity.kt
deleted file mode 100644
index d7870cb..0000000
--- a/anastasis-ui/src/main/java/org/gnu/anastasis/ui/MainActivity.kt
+++ /dev/null
@@ -1,50 +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
-
-import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
-import androidx.navigation.NavController
-import androidx.navigation.fragment.NavHostFragment
-import androidx.navigation.ui.AppBarConfiguration
-import androidx.navigation.ui.setupWithNavController
-import org.gnu.anastasis.ui.databinding.ActivityBinding
-
-internal const val PERMISSION_REQUEST_CODE = 1
-
-class MainActivity : AppCompatActivity() {
-
- private lateinit var nav: NavController
-
- private lateinit var binding: ActivityBinding
-
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity)
-
- val navHostFragment =
- supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
- nav = navHostFragment.navController
-
- setSupportActionBar(binding.toolbar)
- val appBarConfiguration = AppBarConfiguration(
- emptySet()
- )
- binding.toolbar.setupWithNavController(nav, appBarConfiguration)
- }
-
-}
diff --git a/anastasis-ui/src/main/java/org/gnu/anastasis/ui/MainViewModel.kt b/anastasis-ui/src/main/java/org/gnu/anastasis/ui/MainViewModel.kt
deleted file mode 100644
index e2bf0c8..0000000
--- a/anastasis-ui/src/main/java/org/gnu/anastasis/ui/MainViewModel.kt
+++ /dev/null
@@ -1,32 +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
-
-import android.app.Application
-import androidx.lifecycle.AndroidViewModel
-import androidx.lifecycle.MutableLiveData
-import org.gnu.anastasis.ui.identity.LOCATIONS
-
-class MainViewModel(app: Application) : AndroidViewModel(app) {
-
- val currentCountry = MutableLiveData(LOCATIONS[0])
-
- val securityQuestionChecked = MutableLiveData<Boolean>()
- val smsChecked = MutableLiveData<Boolean>()
- val videoChecked = MutableLiveData<Boolean>()
-
-}
diff --git a/anastasis-ui/src/main/java/org/gnu/anastasis/ui/authentication/AuthenticationFragment.kt b/anastasis-ui/src/main/java/org/gnu/anastasis/ui/authentication/AuthenticationFragment.kt
deleted file mode 100644
index da947b0..0000000
--- a/anastasis-ui/src/main/java/org/gnu/anastasis/ui/authentication/AuthenticationFragment.kt
+++ /dev/null
@@ -1,134 +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.os.Bundle
-import android.view.Gravity.CENTER
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.Toast
-import android.widget.Toast.LENGTH_SHORT
-import androidx.annotation.IdRes
-import androidx.fragment.app.Fragment
-import androidx.fragment.app.activityViewModels
-import androidx.navigation.fragment.FragmentNavigatorExtras
-import androidx.navigation.fragment.findNavController
-import com.google.android.material.card.MaterialCardView
-import net.taler.common.Amount
-import org.gnu.anastasis.ui.MainViewModel
-import org.gnu.anastasis.ui.R
-import org.gnu.anastasis.ui.databinding.FragmentAuthenticationBinding
-
-class AuthenticationFragment : Fragment() {
-
- private val viewModel: MainViewModel by activityViewModels()
-
- private var price: Amount = Amount.zero("KUDOS")
-
- private var _binding: FragmentAuthenticationBinding? = 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? {
- return inflater.inflate(R.layout.fragment_authentication, container, false)
- }
-
- override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
- super.onViewCreated(view, savedInstanceState)
- binding.passwordCard.setOnClickListener {
- showDialog(
- R.id.action_nav_anastasis_authentication_to_securityQuestionFragment,
- binding.passwordCard,
- "question_card"
- )
- }
- binding.postidentCard.setOnClickListener {
- toggleCard(
- binding.postidentCard,
- Amount.fromJSONString("KUDOS:3.5")
- )
- }
- binding.smsCard.setOnClickListener {
- showDialog(
- R.id.action_nav_anastasis_authentication_to_smsFragment,
- binding.smsCard,
- "sms_card"
- )
- }
- binding.videoCard.setOnClickListener {
- showDialog(
- R.id.action_nav_anastasis_authentication_to_videoFragment,
- binding.videoCard,
- "video_card"
- )
- }
-
- viewModel.securityQuestionChecked.observe(viewLifecycleOwner, { checked ->
- binding.passwordCard.isChecked = checked
- updatePrice(checked, Amount.fromJSONString("KUDOS:0.5"))
- updateNextButtonState()
- })
- viewModel.smsChecked.observe(viewLifecycleOwner, { checked ->
- binding.smsCard.isChecked = checked
- updatePrice(checked, Amount.fromJSONString("KUDOS:1.0"))
- updateNextButtonState()
- })
- viewModel.videoChecked.observe(viewLifecycleOwner, { checked ->
- binding.videoCard.isChecked = checked
- updatePrice(checked, Amount.fromJSONString("KUDOS:2.25"))
- updateNextButtonState()
- })
- }
-
- private fun showDialog(@IdRes resId: Int, view: View, transitionName: String) {
- val extras = FragmentNavigatorExtras(view to transitionName)
- findNavController().navigate(resId, null, null, extras)
- }
-
- private fun toggleCard(card: MaterialCardView, price: Amount) {
- card.isChecked = !card.isChecked
- val text = "Imagine you entered information here"
- if (card.isChecked) Toast.makeText(requireContext(), text, LENGTH_SHORT).apply {
- setGravity(CENTER, 0, 0)
- }.show()
- updatePrice(card.isChecked, price)
- updateNextButtonState()
- }
-
- private fun updatePrice(add: Boolean, amount: Amount) {
- if (add) price += amount
- else price -= amount
- binding.recoveryCostView.text = "Recovery cost: $price"
- }
-
- private fun updateNextButtonState() {
- var numChecked = 0
- numChecked += if (binding.passwordCard.isChecked) 1 else 0
- numChecked += if (binding.postidentCard.isChecked) 1 else 0
- numChecked += if (binding.smsCard.isChecked) 1 else 0
- numChecked += if (binding.videoCard.isChecked) 1 else 0
- binding.nextAuthButton.isEnabled = numChecked >= 2
- }
-
-}
diff --git a/anastasis-ui/src/main/java/org/gnu/anastasis/ui/authentication/SecurityQuestionFragment.kt b/anastasis-ui/src/main/java/org/gnu/anastasis/ui/authentication/SecurityQuestionFragment.kt
deleted file mode 100644
index 0796610..0000000
--- a/anastasis-ui/src/main/java/org/gnu/anastasis/ui/authentication/SecurityQuestionFragment.kt
+++ /dev/null
@@ -1,60 +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.os.Bundle
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import androidx.fragment.app.Fragment
-import androidx.fragment.app.activityViewModels
-import androidx.navigation.fragment.findNavController
-import org.gnu.anastasis.ui.MainViewModel
-import org.gnu.anastasis.ui.databinding.FragmentSecurityQuestionBinding
-
-class SecurityQuestionFragment : Fragment() {
-
- private val viewModel: MainViewModel by activityViewModels()
-
- private var _binding: FragmentSecurityQuestionBinding? = 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 = FragmentSecurityQuestionBinding.inflate(inflater, container, false)
- val view = binding.root
- return view
- }
-
- override fun onDestroyView() {
- super.onDestroyView()
- _binding = null
- }
-
- override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
- binding.saveQuestionButton.setOnClickListener {
- viewModel.securityQuestionChecked.value = true
- findNavController().popBackStack()
- }
- }
-
-}
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)
- }
- }
-
-}
diff --git a/anastasis-ui/src/main/java/org/gnu/anastasis/ui/authentication/VideoFragment.kt b/anastasis-ui/src/main/java/org/gnu/anastasis/ui/authentication/VideoFragment.kt
deleted file mode 100644
index 4e83736..0000000
--- a/anastasis-ui/src/main/java/org/gnu/anastasis/ui/authentication/VideoFragment.kt
+++ /dev/null
@@ -1,135 +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.app.Activity.RESULT_OK
-import android.content.Intent
-import android.graphics.Bitmap
-import android.graphics.BitmapFactory
-import android.net.Uri
-import android.os.Bundle
-import android.os.ParcelFileDescriptor
-import android.provider.MediaStore
-import android.view.LayoutInflater
-import android.view.View
-import android.view.View.GONE
-import android.view.View.VISIBLE
-import android.view.ViewGroup
-import androidx.fragment.app.Fragment
-import androidx.fragment.app.activityViewModels
-import androidx.navigation.fragment.findNavController
-import androidx.transition.TransitionManager.beginDelayedTransition
-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.R
-import org.gnu.anastasis.ui.databinding.FragmentVideoBinding
-import java.io.FileDescriptor
-
-private const val REQUEST_IMAGE_CAPTURE = 1
-private const val REQUEST_IMAGE_OPEN = 2
-
-class VideoFragment : Fragment() {
-
- private val viewModel: MainViewModel by activityViewModels()
-
- private var _binding: FragmentVideoBinding? = 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 = FragmentVideoBinding.inflate(inflater, container, false)
- sharedElementEnterTransition = MaterialContainerTransform().apply {
- fadeMode = FADE_MODE_CROSS
- }
- return inflater.inflate(R.layout.fragment_video, container, false).apply {
- transitionName = "video_card"
- }
- }
-
- override fun onDestroyView() {
- super.onDestroyView()
- _binding = null
- }
-
- override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
- binding.takePhotoButton.setOnClickListener {
- val pm = requireContext().packageManager
- Intent(MediaStore.ACTION_IMAGE_CAPTURE).also { takePictureIntent ->
- takePictureIntent.resolveActivity(pm)?.also {
- startActivityForResult(takePictureIntent,
- REQUEST_IMAGE_CAPTURE
- )
- }
- }
- }
- binding.choosePhotoButton.setOnClickListener {
- val intent = Intent(Intent.ACTION_OPEN_DOCUMENT).apply {
- addCategory(Intent.CATEGORY_OPENABLE)
- type = "image/*"
- }
- startActivityForResult(intent,
- REQUEST_IMAGE_OPEN
- )
- }
-
- binding.saveVideoButton.setOnClickListener {
- viewModel.videoChecked.value = true
- findNavController().popBackStack()
- }
- }
-
- @Deprecated("Deprecated in Java")
- override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
- if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
- val imageBitmap = data!!.extras!!.get("data") as Bitmap
- showImage(imageBitmap)
- } else if (requestCode == REQUEST_IMAGE_OPEN && resultCode == RESULT_OK) {
- data?.data?.also { uri ->
- val imageBitmap = getBitmapFromUri(uri)
- showImage(imageBitmap)
- }
- }
- }
-
- private fun showImage(bitmap: Bitmap) {
- with (binding) {
- photoView.setImageBitmap(bitmap)
- beginDelayedTransition(view as ViewGroup)
- photoView.visibility = VISIBLE
- takePhotoButton.visibility = GONE
- choosePhotoButton.visibility = GONE
- saveVideoButton.isEnabled = true
- }
- }
-
- private fun getBitmapFromUri(uri: Uri): Bitmap {
- val contentResolver = requireContext().contentResolver
- val parcelFileDescriptor: ParcelFileDescriptor =
- contentResolver.openFileDescriptor(uri, "r")!!
- val fileDescriptor: FileDescriptor = parcelFileDescriptor.fileDescriptor
- val image: Bitmap = BitmapFactory.decodeFileDescriptor(fileDescriptor)
- parcelFileDescriptor.close()
- return image
- }
-
-}
diff --git a/anastasis-ui/src/main/java/org/gnu/anastasis/ui/identity/ChangeLocationFragment.kt b/anastasis-ui/src/main/java/org/gnu/anastasis/ui/identity/ChangeLocationFragment.kt
deleted file mode 100644
index 00eec11..0000000
--- a/anastasis-ui/src/main/java/org/gnu/anastasis/ui/identity/ChangeLocationFragment.kt
+++ /dev/null
@@ -1,68 +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.identity
-
-import android.os.Bundle
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import androidx.fragment.app.Fragment
-import androidx.fragment.app.activityViewModels
-import androidx.navigation.fragment.findNavController
-import org.gnu.anastasis.ui.MainViewModel
-import org.gnu.anastasis.ui.R
-import org.gnu.anastasis.ui.databinding.FragmentChangeLocationBinding
-
-class ChangeLocationFragment : Fragment() {
-
- private val viewModel: MainViewModel by activityViewModels()
-
- private var _binding: FragmentChangeLocationBinding? = 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? {
- return inflater.inflate(R.layout.fragment_change_location, container, false)
- }
-
- override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
- super.onViewCreated(view, savedInstanceState)
- binding.switzerlandView.setOnClickListener {
- changeCountry(LOCATIONS[0])
- }
- binding.germanyView.setOnClickListener {
- changeCountry(LOCATIONS[1])
- }
- binding.usaView.setOnClickListener {
- changeCountry(LOCATIONS[2])
- }
- binding.indiaView.setOnClickListener {
- changeCountry(LOCATIONS[3])
- }
- }
-
- private fun changeCountry(location: Location) {
- viewModel.currentCountry.value = location
- findNavController().popBackStack()
- }
-
-}
diff --git a/anastasis-ui/src/main/java/org/gnu/anastasis/ui/identity/IdentityFragment.kt b/anastasis-ui/src/main/java/org/gnu/anastasis/ui/identity/IdentityFragment.kt
deleted file mode 100644
index 73ae629..0000000
--- a/anastasis-ui/src/main/java/org/gnu/anastasis/ui/identity/IdentityFragment.kt
+++ /dev/null
@@ -1,124 +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.identity
-
-import android.annotation.SuppressLint
-import android.app.DatePickerDialog
-import android.os.Build.VERSION.SDK_INT
-import android.os.Bundle
-import android.telephony.TelephonyManager
-import android.text.format.DateFormat.getDateFormat
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.Toast
-import android.widget.Toast.LENGTH_LONG
-import androidx.core.content.getSystemService
-import androidx.fragment.app.Fragment
-import androidx.fragment.app.activityViewModels
-import androidx.navigation.fragment.findNavController
-import org.gnu.anastasis.ui.MainViewModel
-import org.gnu.anastasis.ui.R
-import org.gnu.anastasis.ui.databinding.FragmentIdentityBinding
-import java.util.Calendar
-import java.util.Date
-import java.util.Locale
-import java.util.concurrent.TimeUnit.DAYS
-
-private const val MIN_AGE = 18
-
-class AnastasisIdentityFragment : Fragment() {
-
- private val model: MainViewModel by activityViewModels()
-
- private var _binding: FragmentIdentityBinding? = 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 = FragmentIdentityBinding.inflate(inflater, container, false)
- val view = binding.root
- return view
- }
-
- override fun onDestroyView() {
- super.onDestroyView()
- _binding = null
- }
-
- override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
- super.onViewCreated(view, savedInstanceState)
-
- model.currentCountry.observe(viewLifecycleOwner, { country ->
- binding.countryView.text = country.name
- if (binding.stub != null) {
- binding.stub.layoutResource = country.layoutRes
- binding.stub.inflate()
- }
- })
- binding.changeCountryView.setOnClickListener {
- findNavController().navigate(R.id.action_nav_anastasis_identity_to_nav_change_location)
- }
- binding.birthDateInput.editText?.setOnClickListener {
- if (SDK_INT >= 24) {
- val picker = DatePickerDialog(requireContext())
- picker.datePicker.maxDate =
- System.currentTimeMillis() - DAYS.toMillis(365) * MIN_AGE
- picker.setOnDateSetListener { _, year, month, dayOfMonth ->
- val calender = Calendar.getInstance().apply {
- set(year, month, dayOfMonth)
- }
- val date = Date(calender.timeInMillis)
- val dateStr = getDateFormat(requireContext()).format(date)
- binding.birthDateInput.editText?.setText(dateStr)
- }
- picker.show()
- } else {
- Toast.makeText(requireContext(), "Needs newer phone", LENGTH_LONG).show()
- }
- }
- binding.createIdentifierButton.setOnClickListener {
- findNavController().navigate(R.id.action_nav_anastasis_intro_to_nav_anastasis_authentication)
- }
- }
-
- @Suppress("unused")
- private fun getCountryName(): String {
- val tm = requireContext().getSystemService<TelephonyManager>()!!
- val countryIso = if (tm.networkCountryIso.isNullOrEmpty()) {
- if (tm.simCountryIso.isNullOrEmpty()) {
- if (Locale.getDefault().country.isNullOrEmpty()) "unknown"
- else Locale.getDefault().country
- } else tm.simCountryIso
- } else tm.networkCountryIso
- var countryName = countryIso
- for (locale in Locale.getAvailableLocales()) {
- @SuppressLint("DefaultLocale")
- if (locale.country.toLowerCase() == countryIso) {
- countryName = locale.displayCountry
- break
- }
- }
- return countryName
- }
-
-}
diff --git a/anastasis-ui/src/main/java/org/gnu/anastasis/ui/identity/Locations.kt b/anastasis-ui/src/main/java/org/gnu/anastasis/ui/identity/Locations.kt
deleted file mode 100644
index 13658d2..0000000
--- a/anastasis-ui/src/main/java/org/gnu/anastasis/ui/identity/Locations.kt
+++ /dev/null
@@ -1,29 +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.identity
-
-import androidx.annotation.LayoutRes
-import org.gnu.anastasis.ui.R
-
-data class Location(val name: String, @LayoutRes val layoutRes: Int)
-
-val LOCATIONS = listOf(
- Location("Switzerland", R.layout.country_switzerland),
- Location("Germany", R.layout.country_germany),
- Location("Unites States", R.layout.country_usa),
- Location("India", R.layout.country_india)
-)