From eba5d1247101d59e6a34c2464257153bc585b9e3 Mon Sep 17 00:00:00 2001 From: Tobias Preuss <tobias.preuss@googlemail.com> Date: Wed, 24 Jun 2020 12:35:03 +0200 Subject: [PATCH] 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: harambasicluka <64483219+harambasicluka@users.noreply.github.com> --- .../main/java/de/rki/coronawarnapp/ui/LauncherActivity.kt | 7 ++----- .../java/de/rki/coronawarnapp/ui/main/MainActivity.kt | 5 +++++ .../rki/coronawarnapp/ui/onboarding/OnboardingActivity.kt | 8 +++++++- .../coronawarnapp/ui/settings/SettingsResetFragment.kt | 3 +-- 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/LauncherActivity.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/LauncherActivity.kt index 2c4daee38..9e4820952 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/LauncherActivity.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/LauncherActivity.kt @@ -1,6 +1,5 @@ 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() } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivity.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivity.kt index 7f2204ac8..0abb83ed3 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivity.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivity.kt @@ -1,5 +1,6 @@ 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? diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingActivity.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingActivity.kt index 8624ff94d..4da93c88d 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingActivity.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingActivity.kt @@ -1,5 +1,6 @@ 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() } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsResetFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsResetFragment.kt index 38fb5df78..77b704344 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsResetFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsResetFragment.kt @@ -1,7 +1,6 @@ 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() } -- GitLab