Skip to content
Snippets Groups Projects
Unverified Commit eba5d124 authored by Tobias Preuss's avatar Tobias Preuss Committed by GitHub
Browse files

Encapsulate how Activities are started, reduce repetition. (#676)


+ How Activities are started is an implementation detail which should be
  hidden from the call site.
+ Encapsulating the start routines in the Activities allows for code re-use.

Co-authored-by: default avatarharambasicluka <64483219+harambasicluka@users.noreply.github.com>
parent de6702a8
No related branches found
No related tags found
No related merge requests found
package de.rki.coronawarnapp.ui
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.lifecycleScope
import de.rki.coronawarnapp.storage.LocalData
......@@ -34,15 +33,13 @@ class LauncherActivity : AppCompatActivity() {
}
private fun startOnboardingActivity() {
val onboardingActivity = Intent(this, OnboardingActivity::class.java)
startActivity(onboardingActivity)
OnboardingActivity.start(this)
this.overridePendingTransition(0, 0)
finish()
}
private fun startMainActivity() {
val mainActivityIntent = Intent(this, MainActivity::class.java)
startActivity(mainActivityIntent)
MainActivity.start(this)
this.overridePendingTransition(0, 0)
finish()
}
......
package de.rki.coronawarnapp.ui.main
import android.content.Context
import android.content.Intent
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
......@@ -22,6 +23,10 @@ import de.rki.coronawarnapp.worker.BackgroundWorkScheduler
class MainActivity : AppCompatActivity() {
companion object {
private val TAG: String? = MainActivity::class.simpleName
fun start(context: Context) {
context.startActivity(Intent(context, MainActivity::class.java))
}
}
private val FragmentManager.currentNavigationFragment: Fragment?
......
package de.rki.coronawarnapp.ui.onboarding
import android.content.Context
import android.content.Intent
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
......@@ -18,6 +19,11 @@ import de.rki.coronawarnapp.ui.main.MainActivity
class OnboardingActivity : AppCompatActivity(), LifecycleObserver {
companion object {
private val TAG: String? = OnboardingActivity::class.simpleName
fun start(context: Context) {
val intent = Intent(context, OnboardingActivity::class.java)
context.startActivity(intent)
}
}
private val FragmentManager.currentNavigationFragment: Fragment?
......@@ -43,7 +49,7 @@ class OnboardingActivity : AppCompatActivity(), LifecycleObserver {
fun completeOnboarding() {
LocalData.isOnboarded(true)
LocalData.onboardingCompletedTimestamp(System.currentTimeMillis())
startActivity(Intent(this, MainActivity::class.java))
MainActivity.start(this)
finish()
}
......
package de.rki.coronawarnapp.ui.settings
import android.app.AlertDialog
import android.content.Intent
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
......@@ -91,7 +90,7 @@ class SettingsResetFragment : Fragment() {
}
private fun navigateToOnboarding() {
startActivity(Intent(activity, OnboardingActivity::class.java))
OnboardingActivity.start(requireContext())
activity?.finish()
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment