From 14b0751e7cff87fbff432ef838262a8b53a09c17 Mon Sep 17 00:00:00 2001 From: Kolya Opahle <k.opahle@sap.com> Date: Mon, 7 Dec 2020 15:22:36 +0100 Subject: [PATCH] Added main activity and nav graph for contact diary Signed-off-by: Kolya Opahle <k.opahle@sap.com> --- .../contactdiary/ui/ContactDiaryActivity.kt | 45 ++++++++++++++++++- .../res/layout/contact_diary_activity.xml | 17 +++++++ .../navigation/contact_diary_nav_graph.xml | 3 ++ 3 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 Corona-Warn-App/src/main/res/layout/contact_diary_activity.xml create mode 100644 Corona-Warn-App/src/main/res/navigation/contact_diary_nav_graph.xml diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/ContactDiaryActivity.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/ContactDiaryActivity.kt index 4ca6c6066..e0a8f63cc 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/ContactDiaryActivity.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/ContactDiaryActivity.kt @@ -1,3 +1,46 @@ package de.rki.coronawarnapp.contactdiary.ui -class ContactDiaryActivity +import android.content.Context +import android.content.Intent +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity +import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentManager +import dagger.android.AndroidInjector +import dagger.android.DispatchingAndroidInjector +import dagger.android.HasAndroidInjector +import de.rki.coronawarnapp.R +import de.rki.coronawarnapp.util.di.AppInjector +import javax.inject.Inject + +/** + * This activity holds all the contact diary fragments + */ +class ContactDiaryActivity : AppCompatActivity(), HasAndroidInjector { + companion object { + fun start(context: Context) { + context.startActivity(Intent(context, ContactDiaryActivity::class.java)) + } + } + + @Inject lateinit var dispatchingAndroidInjector: DispatchingAndroidInjector<Any> + override fun androidInjector(): AndroidInjector<Any> = dispatchingAndroidInjector + + private val FragmentManager.currentNavigationFragment: Fragment? + get() = primaryNavigationFragment?.childFragmentManager?.fragments?.first() + + override fun onCreate(savedInstanceState: Bundle?) { + AppInjector.setup(this) + super.onCreate(savedInstanceState) + setContentView(R.layout.contact_diary_activity) + } + + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { + super.onActivityResult(requestCode, resultCode, data) + supportFragmentManager.currentNavigationFragment?.onActivityResult( + requestCode, + resultCode, + data + ) + } +} diff --git a/Corona-Warn-App/src/main/res/layout/contact_diary_activity.xml b/Corona-Warn-App/src/main/res/layout/contact_diary_activity.xml new file mode 100644 index 000000000..cff3bed3f --- /dev/null +++ b/Corona-Warn-App/src/main/res/layout/contact_diary_activity.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + tools:context="de.rki.coronawarnapp.contactdiary.ui.ContactDiaryActivity"> + + <androidx.fragment.app.FragmentContainerView + android:id="@+id/contact_diary_fragment_container" + android:name="androidx.navigation.fragment.NavHostFragment" + android:layout_width="match_parent" + android:layout_height="match_parent" + app:defaultNavHost="true" + app:navGraph="@navigation/contact_diary_nav_graph" /> + +</androidx.coordinatorlayout.widget.CoordinatorLayout> \ No newline at end of file diff --git a/Corona-Warn-App/src/main/res/navigation/contact_diary_nav_graph.xml b/Corona-Warn-App/src/main/res/navigation/contact_diary_nav_graph.xml new file mode 100644 index 000000000..639ccd7ec --- /dev/null +++ b/Corona-Warn-App/src/main/res/navigation/contact_diary_nav_graph.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?> +<navigation xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/contact_diary_nav_graph"></navigation> -- GitLab