diff --git a/MobileAuthApp/app/src/main/java/com/tarkvaraprojekt/mobileauthapp/AuthFragment.kt b/MobileAuthApp/app/src/main/java/com/tarkvaraprojekt/mobileauthapp/AuthFragment.kt index e918c64..ab14a76 100644 --- a/MobileAuthApp/app/src/main/java/com/tarkvaraprojekt/mobileauthapp/AuthFragment.kt +++ b/MobileAuthApp/app/src/main/java/com/tarkvaraprojekt/mobileauthapp/AuthFragment.kt @@ -78,10 +78,13 @@ class AuthFragment : Fragment() { card.use { try { val comms = Comms(it, viewModel.userCan) - val response = comms.readPersonalData(byteArrayOf(1, 2, 6)) + val response = comms.readPersonalData(byteArrayOf(1, 2, 6, 3, 4, 8)) viewModel.setUserFirstName(response[1]) viewModel.setUserLastName(response[0]) viewModel.setUserIdentificationNumber(response[2]) + viewModel.setGender(response[3]) + viewModel.setCitizenship(response[4]) + viewModel.setExpiration(response[5]) requireActivity().runOnUiThread{ binding!!.timeCounter.text = getString(R.string.data_read) } @@ -89,6 +92,8 @@ class AuthFragment : Fragment() { requireActivity().runOnUiThread { binding!!.timeCounter.text = getString(R.string.no_success) } + // If the CAN is wrong we will also delete the saved CAN so that the user won't use it again. + viewModel.deleteCan(requireContext()) // Gives user some time to read the error message Thread.sleep(1000) goToTheStart() diff --git a/MobileAuthApp/app/src/main/java/com/tarkvaraprojekt/mobileauthapp/UserFragment.kt b/MobileAuthApp/app/src/main/java/com/tarkvaraprojekt/mobileauthapp/UserFragment.kt index 632e1fa..706fdd2 100644 --- a/MobileAuthApp/app/src/main/java/com/tarkvaraprojekt/mobileauthapp/UserFragment.kt +++ b/MobileAuthApp/app/src/main/java/com/tarkvaraprojekt/mobileauthapp/UserFragment.kt @@ -33,13 +33,25 @@ class UserFragment : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - - binding!!.userName.text = - getString(R.string.user_name, viewModel.userFirstName, viewModel.userLastName) - binding!!.identificationNumber.text = viewModel.userIdentificationNumber + displayInformation() binding!!.clearButton.setOnClickListener { goToTheStart() } } + /** + * Assigns text values to the fields in order to display user information. + */ + private fun displayInformation() { + binding!!.userName.text = + getString(R.string.user_name, viewModel.userFirstName, viewModel.userLastName) + binding!!.identificationNumber.text = viewModel.userIdentificationNumber + binding!!.gender.text = viewModel.gender + binding!!.expiration.text = viewModel.expiration.replace(" ", "/") + binding!!.citizenship.text = viewModel.citizenship + } + + /** + * Navigates user back to the start and also deletes any temporary information. + */ private fun goToTheStart() { viewModel.clearUserInfo() findNavController().navigate(R.id.action_userFragment_to_homeFragment) diff --git a/MobileAuthApp/app/src/main/java/com/tarkvaraprojekt/mobileauthapp/model/SmartCardViewModel.kt b/MobileAuthApp/app/src/main/java/com/tarkvaraprojekt/mobileauthapp/model/SmartCardViewModel.kt index ac14733..1b66115 100644 --- a/MobileAuthApp/app/src/main/java/com/tarkvaraprojekt/mobileauthapp/model/SmartCardViewModel.kt +++ b/MobileAuthApp/app/src/main/java/com/tarkvaraprojekt/mobileauthapp/model/SmartCardViewModel.kt @@ -23,12 +23,24 @@ class SmartCardViewModel: ViewModel() { private var _userIdentificationNumber: String = "" val userIdentificationNumber get() = _userIdentificationNumber + private var _gender: String = "" + val gender get() = _gender + + private var _expiration: String = "" + val expiration get() = _expiration + + private var _citizenship: String = "" + val citizenship get() = _citizenship + fun clearUserInfo() { _userPin = "" _userCan = "" _userFirstName = "" _userLastName = "" _userIdentificationNumber = "" + _expiration = "" + _citizenship = "" + _gender = "" } fun setUserPin(newUserPin: String) { @@ -51,6 +63,18 @@ class SmartCardViewModel: ViewModel() { _userIdentificationNumber = newUserIdentificationNumber } + fun setExpiration(newExpiration: String) { + _expiration = newExpiration + } + + fun setCitizenship(newCitizenship: String) { + _citizenship = newCitizenship + } + + fun setGender(newGender: String) { + _gender = newGender + } + private fun getSharedPreferences(context: Context): SharedPreferences { val masterKeyAlias: String = MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC) diff --git a/MobileAuthApp/app/src/main/res/layout/fragment_auth.xml b/MobileAuthApp/app/src/main/res/layout/fragment_auth.xml index 76405ca..59652f3 100644 --- a/MobileAuthApp/app/src/main/res/layout/fragment_auth.xml +++ b/MobileAuthApp/app/src/main/res/layout/fragment_auth.xml @@ -62,7 +62,7 @@ android:layout_height="wrap_content" android:layout_marginTop="24dp" android:text="@string/next_text" - android:textSize="18sp" + android:textSize="15sp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@id/cancel_button" app:layout_constraintTop_toBottomOf="@id/card_view" /> @@ -73,7 +73,7 @@ android:layout_height="wrap_content" android:layout_marginTop="24dp" android:text="@string/cancel_text" - android:textSize="18sp" + android:textSize="15sp" app:layout_constraintEnd_toStartOf="@id/next_button" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/card_view" /> diff --git a/MobileAuthApp/app/src/main/res/layout/fragment_can.xml b/MobileAuthApp/app/src/main/res/layout/fragment_can.xml index c552d21..f7bcd1e 100644 --- a/MobileAuthApp/app/src/main/res/layout/fragment_can.xml +++ b/MobileAuthApp/app/src/main/res/layout/fragment_can.xml @@ -66,7 +66,7 @@ android:layout_height="wrap_content" android:layout_marginTop="24dp" android:text="@string/next_text" - android:textSize="18sp" + android:textSize="15sp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@id/cancel_button" app:layout_constraintTop_toBottomOf="@id/card_view" /> @@ -77,7 +77,7 @@ android:layout_height="wrap_content" android:layout_marginTop="24dp" android:text="@string/cancel_text" - android:textSize="18dp" + android:textSize="15sp" app:layout_constraintEnd_toStartOf="@id/next_button" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/card_view" /> diff --git a/MobileAuthApp/app/src/main/res/layout/fragment_home.xml b/MobileAuthApp/app/src/main/res/layout/fragment_home.xml index 47396aa..dae476b 100644 --- a/MobileAuthApp/app/src/main/res/layout/fragment_home.xml +++ b/MobileAuthApp/app/src/main/res/layout/fragment_home.xml @@ -86,7 +86,7 @@ android:layout_height="wrap_content" android:text="@string/begin_text" android:layout_marginTop="24dp" - android:textSize="18sp" + android:textSize="15sp" app:layout_constraintTop_toBottomOf="@id/saved_states" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent"/> diff --git a/MobileAuthApp/app/src/main/res/layout/fragment_pin.xml b/MobileAuthApp/app/src/main/res/layout/fragment_pin.xml index a5e8a23..1c595f4 100644 --- a/MobileAuthApp/app/src/main/res/layout/fragment_pin.xml +++ b/MobileAuthApp/app/src/main/res/layout/fragment_pin.xml @@ -65,6 +65,7 @@ android:layout_height="wrap_content" android:layout_marginTop="24dp" android:text="@string/next_text" + android:textSize="15sp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@id/cancel_button" app:layout_constraintTop_toBottomOf="@id/card_view" /> @@ -75,6 +76,7 @@ android:layout_height="wrap_content" android:layout_marginTop="24dp" android:text="@string/cancel_text" + android:textSize="15sp" app:layout_constraintEnd_toStartOf="@id/next_button" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/card_view" /> diff --git a/MobileAuthApp/app/src/main/res/layout/fragment_settings.xml b/MobileAuthApp/app/src/main/res/layout/fragment_settings.xml index 2f66bd6..04724dd 100644 --- a/MobileAuthApp/app/src/main/res/layout/fragment_settings.xml +++ b/MobileAuthApp/app/src/main/res/layout/fragment_settings.xml @@ -33,7 +33,7 @@