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 @@
@@ -70,7 +70,7 @@
android:layout_height="wrap_content"
android:text="@string/return_text"
android:layout_margin="24dp"
- android:textSize="18sp"
+ android:textSize="15sp"
app:layout_constraintTop_toBottomOf="@id/settings_card"
app:layout_constraintStart_toStartOf="parent" />
diff --git a/MobileAuthApp/app/src/main/res/layout/fragment_user.xml b/MobileAuthApp/app/src/main/res/layout/fragment_user.xml
index 0e1d107..8cbed7f 100644
--- a/MobileAuthApp/app/src/main/res/layout/fragment_user.xml
+++ b/MobileAuthApp/app/src/main/res/layout/fragment_user.xml
@@ -57,6 +57,54 @@
android:textSize="20sp"
android:textStyle="bold" />
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MobileAuthApp/app/src/main/res/values-en/strings.xml b/MobileAuthApp/app/src/main/res/values-en/strings.xml
index 8cd19f3..8572c9c 100644
--- a/MobileAuthApp/app/src/main/res/values-en/strings.xml
+++ b/MobileAuthApp/app/src/main/res/values-en/strings.xml
@@ -45,6 +45,9 @@
NIMI
%1$s %2$s
ISIKUKOOD
+ KEHTIV KUNI
+ KODAKONDSUS
+ SUGU
UNUSTA
diff --git a/MobileAuthApp/app/src/main/res/values-et/strings.xml b/MobileAuthApp/app/src/main/res/values-et/strings.xml
index 41d7a5f..676b5c9 100644
--- a/MobileAuthApp/app/src/main/res/values-et/strings.xml
+++ b/MobileAuthApp/app/src/main/res/values-et/strings.xml
@@ -44,6 +44,9 @@
%1$s %2$s
ISIKUKOOD
UNUSTA
+ KEHTIV KUNI
+ KODAKONDSUS
+ SUGU
Seaded
diff --git a/MobileAuthApp/app/src/main/res/values/strings.xml b/MobileAuthApp/app/src/main/res/values/strings.xml
index 4b15803..26fddf6 100644
--- a/MobileAuthApp/app/src/main/res/values/strings.xml
+++ b/MobileAuthApp/app/src/main/res/values/strings.xml
@@ -43,6 +43,9 @@
NIMI
%1$s %2$s
ISIKUKOOD
+ KEHTIV KUNI
+ KODAKONDSUS
+ SUGU
UNUSTA