aboutsummaryrefslogtreecommitdiff
path: root/anastasis-ui/src
diff options
context:
space:
mode:
Diffstat (limited to 'anastasis-ui/src')
-rw-r--r--anastasis-ui/src/main/java/org/gnu/anastasis/ui/MainViewModel.kt3
-rw-r--r--anastasis-ui/src/main/java/org/gnu/anastasis/ui/identity/ChangeLocationFragment.kt62
-rw-r--r--anastasis-ui/src/main/java/org/gnu/anastasis/ui/identity/IdentityFragment.kt17
-rw-r--r--anastasis-ui/src/main/java/org/gnu/anastasis/ui/identity/Locations.kt29
-rw-r--r--anastasis-ui/src/main/res/layout/country_germany.xml54
-rw-r--r--anastasis-ui/src/main/res/layout/country_india.xml38
-rw-r--r--anastasis-ui/src/main/res/layout/country_switzerland.xml54
-rw-r--r--anastasis-ui/src/main/res/layout/country_usa.xml38
-rw-r--r--anastasis-ui/src/main/res/layout/fragment_change_location.xml74
-rw-r--r--anastasis-ui/src/main/res/layout/fragment_identity.xml52
-rw-r--r--anastasis-ui/src/main/res/navigation/anastasis.xml13
11 files changed, 388 insertions, 46 deletions
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
index 7bcfc19..3b97578 100644
--- a/anastasis-ui/src/main/java/org/gnu/anastasis/ui/MainViewModel.kt
+++ b/anastasis-ui/src/main/java/org/gnu/anastasis/ui/MainViewModel.kt
@@ -19,9 +19,12 @@ 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(private val 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/identity/ChangeLocationFragment.kt b/anastasis-ui/src/main/java/org/gnu/anastasis/ui/identity/ChangeLocationFragment.kt
new file mode 100644
index 0000000..5b68d36
--- /dev/null
+++ b/anastasis-ui/src/main/java/org/gnu/anastasis/ui/identity/ChangeLocationFragment.kt
@@ -0,0 +1,62 @@
+/*
+ * 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 kotlinx.android.synthetic.main.fragment_change_location.*
+import org.gnu.anastasis.ui.MainViewModel
+import org.gnu.anastasis.ui.R
+
+class ChangeLocationFragment : Fragment() {
+
+ private val viewModel: MainViewModel by activityViewModels()
+
+ 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)
+ switzerlandView.setOnClickListener {
+ changeCountry(LOCATIONS[0])
+ }
+ germanyView.setOnClickListener {
+ changeCountry(LOCATIONS[1])
+ }
+ usaView.setOnClickListener {
+ changeCountry(LOCATIONS[2])
+ }
+ 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
index d391c5d..40fa477 100644
--- 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
@@ -26,12 +26,14 @@ import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
+import androidx.lifecycle.Observer
import androidx.navigation.fragment.findNavController
-import com.google.android.material.snackbar.Snackbar
import kotlinx.android.synthetic.main.fragment_identity.*
import org.gnu.anastasis.ui.MainViewModel
import org.gnu.anastasis.ui.R
-import java.util.*
+import java.util.Calendar
+import java.util.Date
+import java.util.Locale
import java.util.concurrent.TimeUnit.DAYS
private const val MIN_AGE = 18
@@ -50,9 +52,15 @@ class AnastasisIdentityFragment : Fragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
- countryView.text = getCountryName()
+ model.currentCountry.observe(viewLifecycleOwner, Observer { country ->
+ countryView.text = country.name
+ if (stub != null) {
+ stub.layoutResource = country.layoutRes
+ stub.inflate()
+ }
+ })
changeCountryView.setOnClickListener {
- Snackbar.make(view, "Not implemented", Snackbar.LENGTH_SHORT).show()
+ findNavController().navigate(R.id.action_nav_anastasis_identity_to_nav_change_location)
}
birthDateInput.editText?.setOnClickListener {
val picker = DatePickerDialog(requireContext())
@@ -72,6 +80,7 @@ class AnastasisIdentityFragment : Fragment() {
}
}
+ @Suppress("unused")
private fun getCountryName(): String {
val tm = requireContext().getSystemService(TelephonyManager::class.java)!!
val countryIso = if (tm.networkCountryIso.isNullOrEmpty()) {
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
new file mode 100644
index 0000000..13658d2
--- /dev/null
+++ b/anastasis-ui/src/main/java/org/gnu/anastasis/ui/identity/Locations.kt
@@ -0,0 +1,29 @@
+/*
+ * 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)
+)
diff --git a/anastasis-ui/src/main/res/layout/country_germany.xml b/anastasis-ui/src/main/res/layout/country_germany.xml
new file mode 100644
index 0000000..5b54843
--- /dev/null
+++ b/anastasis-ui/src/main/res/layout/country_germany.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+ ~ 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/>
+ -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:padding="16dp"
+ android:orientation="vertical">
+
+ <com.google.android.material.textfield.TextInputLayout
+ android:id="@+id/idNumberInput"
+ style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+
+ <com.google.android.material.textfield.TextInputEditText
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:hint="Passport number"
+ android:inputType="number"
+ android:maxLength="13" />
+
+ </com.google.android.material.textfield.TextInputLayout>
+
+ <com.google.android.material.textfield.TextInputLayout
+ android:id="@+id/taxIdInput"
+ style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="16dp">
+
+ <com.google.android.material.textfield.TextInputEditText
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:hint="Krankenversicherungsnummer"
+ android:inputType="number"
+ android:maxLength="13" />
+
+ </com.google.android.material.textfield.TextInputLayout>
+
+</LinearLayout>
diff --git a/anastasis-ui/src/main/res/layout/country_india.xml b/anastasis-ui/src/main/res/layout/country_india.xml
new file mode 100644
index 0000000..a12616e
--- /dev/null
+++ b/anastasis-ui/src/main/res/layout/country_india.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+ ~ 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/>
+ -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+
+ <com.google.android.material.textfield.TextInputLayout
+ android:id="@+id/idNumberInput"
+ style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp">
+
+ <com.google.android.material.textfield.TextInputEditText
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:hint="Aadhaar number"
+ android:inputType="number"
+ android:maxLength="13" />
+
+ </com.google.android.material.textfield.TextInputLayout>
+
+</LinearLayout>
diff --git a/anastasis-ui/src/main/res/layout/country_switzerland.xml b/anastasis-ui/src/main/res/layout/country_switzerland.xml
new file mode 100644
index 0000000..0fc71fc
--- /dev/null
+++ b/anastasis-ui/src/main/res/layout/country_switzerland.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+ ~ 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/>
+ -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:padding="16dp"
+ android:orientation="vertical">
+
+ <com.google.android.material.textfield.TextInputLayout
+ android:id="@+id/idNumberInput"
+ style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+
+ <com.google.android.material.textfield.TextInputEditText
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:hint="AHV number"
+ android:inputType="number"
+ android:maxLength="13" />
+
+ </com.google.android.material.textfield.TextInputLayout>
+
+ <com.google.android.material.textfield.TextInputLayout
+ android:id="@+id/taxIdInput"
+ style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="16dp">
+
+ <com.google.android.material.textfield.TextInputEditText
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:hint="Krankenversicherungsnummer"
+ android:inputType="number"
+ android:maxLength="13" />
+
+ </com.google.android.material.textfield.TextInputLayout>
+
+</LinearLayout>
diff --git a/anastasis-ui/src/main/res/layout/country_usa.xml b/anastasis-ui/src/main/res/layout/country_usa.xml
new file mode 100644
index 0000000..f9762e6
--- /dev/null
+++ b/anastasis-ui/src/main/res/layout/country_usa.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+ ~ 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/>
+ -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+
+ <com.google.android.material.textfield.TextInputLayout
+ android:id="@+id/idNumberInput"
+ style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_margin="16dp">
+
+ <com.google.android.material.textfield.TextInputEditText
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:hint="Social security number"
+ android:inputType="number"
+ android:maxLength="13" />
+
+ </com.google.android.material.textfield.TextInputLayout>
+
+</LinearLayout>
diff --git a/anastasis-ui/src/main/res/layout/fragment_change_location.xml b/anastasis-ui/src/main/res/layout/fragment_change_location.xml
new file mode 100644
index 0000000..93c919f
--- /dev/null
+++ b/anastasis-ui/src/main/res/layout/fragment_change_location.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+ ~ 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/>
+ -->
+
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <TextView
+ android:id="@+id/usaView"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="16dp"
+ android:background="?selectableItemBackground"
+ android:padding="16dp"
+ android:text="United States"
+ android:textAppearance="@style/TextAppearance.AppCompat.Medium"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+
+ <TextView
+ android:id="@+id/germanyView"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="16dp"
+ android:background="?selectableItemBackground"
+ android:padding="16dp"
+ android:text="Germany"
+ android:textAppearance="@style/TextAppearance.AppCompat.Medium"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/usaView" />
+
+ <TextView
+ android:id="@+id/switzerlandView"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="16dp"
+ android:background="?selectableItemBackground"
+ android:padding="16dp"
+ android:text="Switzerland"
+ android:textAppearance="@style/TextAppearance.AppCompat.Medium"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/germanyView" />
+
+ <TextView
+ android:id="@+id/indiaView"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="16dp"
+ android:background="?selectableItemBackground"
+ android:padding="16dp"
+ android:text="India"
+ android:textAppearance="@style/TextAppearance.AppCompat.Medium"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/switzerlandView" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/anastasis-ui/src/main/res/layout/fragment_identity.xml b/anastasis-ui/src/main/res/layout/fragment_identity.xml
index e24be31..072414d 100644
--- a/anastasis-ui/src/main/res/layout/fragment_identity.xml
+++ b/anastasis-ui/src/main/res/layout/fragment_identity.xml
@@ -49,7 +49,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
- android:text="Detected Country:"
+ android:text="Country:"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/identityIntro" />
@@ -87,8 +87,8 @@
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="textPersonName|textCapWords"
- android:hint="Name" />
+ android:hint="Name"
+ android:inputType="textPersonName|textCapWords" />
</com.google.android.material.textfield.TextInputLayout>
@@ -105,8 +105,8 @@
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="text|textCapWords"
- android:hint="Place of birth" />
+ android:hint="Place of birth"
+ android:inputType="text|textCapWords" />
</com.google.android.material.textfield.TextInputLayout>
@@ -129,46 +129,14 @@
</com.google.android.material.textfield.TextInputLayout>
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/idNumberInput"
- style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/birthDateInput"
- app:layout_constraintVertical_bias="0.0">
-
- <com.google.android.material.textfield.TextInputEditText
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:hint="AHV number"
- android:inputType="number"
- android:maxLength="13" />
-
- </com.google.android.material.textfield.TextInputLayout>
-
- <com.google.android.material.textfield.TextInputLayout
- android:id="@+id/taxIdInput"
- style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
- android:layout_width="match_parent"
+ <ViewStub
+ android:id="@+id/stub"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_margin="16dp"
- app:layout_constraintBottom_toTopOf="@+id/createIdentifierButton"
+ android:layout="@layout/country_switzerland"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/idNumberInput"
- app:layout_constraintVertical_bias="0.0">
-
- <com.google.android.material.textfield.TextInputEditText
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:hint="Tax ID number"
- android:inputType="number"
- android:maxLength="13" />
-
- </com.google.android.material.textfield.TextInputLayout>
+ app:layout_constraintTop_toBottomOf="@+id/birthDateInput" />
<Button
android:id="@+id/createIdentifierButton"
diff --git a/anastasis-ui/src/main/res/navigation/anastasis.xml b/anastasis-ui/src/main/res/navigation/anastasis.xml
index 1e151da..efdddca 100644
--- a/anastasis-ui/src/main/res/navigation/anastasis.xml
+++ b/anastasis-ui/src/main/res/navigation/anastasis.xml
@@ -46,9 +46,22 @@
app:exitAnim="@anim/slide_out_left"
app:popEnterAnim="@android:anim/slide_in_left"
app:popExitAnim="@android:anim/slide_out_right" />
+ <action
+ android:id="@+id/action_nav_anastasis_identity_to_nav_change_location"
+ app:destination="@id/nav_change_location"
+ app:enterAnim="@anim/slide_in_right"
+ app:exitAnim="@anim/slide_out_left"
+ app:popEnterAnim="@android:anim/slide_in_left"
+ app:popExitAnim="@android:anim/slide_out_right" />
</fragment>
<fragment
+ android:id="@+id/nav_change_location"
+ android:name="org.gnu.anastasis.ui.identity.ChangeLocationFragment"
+ android:label="Select country"
+ tools:layout="@layout/fragment_change_location"/>
+
+ <fragment
android:id="@+id/nav_anastasis_authentication"
android:name="org.gnu.anastasis.ui.authentication.AuthenticationFragment"
android:label="Choose authentication methods"