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 4ca6c60664b9aebf50ddb26c7ba5074ec22ae660..e0a8f63cc2b8cb254013c96de575e89b06ccf636 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 0000000000000000000000000000000000000000..cff3bed3fa3ec1b0ded251ab818b382bc28b0f69 --- /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 0000000000000000000000000000000000000000..639ccd7ec8372ee044117e4787019366d54fab15 --- /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>