From 91fb562e35c24f428e73171a76361f13582de621 Mon Sep 17 00:00:00 2001 From: Adhiambo Peres <59600948+adhiamboperes@users.noreply.github.com> Date: Wed, 31 Jan 2024 22:58:08 +0300 Subject: [PATCH] Add onboarding profile type selection UI and navigation --- .../oppia/android/app/customview/OppiaCurveBackgroundView.kt | 2 +- .../org/oppia/android/app/onboarding/OnboardingFragment.kt | 2 +- .../onboarding/onboardingv2/OnboardingFragmentPresenter.kt | 2 +- .../onboarding/onboardingv2/OnboardingProfileTypeActivity.kt | 2 +- .../onboardingv2/OnboardingProfileTypeActivityPresenter.kt | 2 +- .../onboarding/onboardingv2/OnboardingProfileTypeFragment.kt | 2 +- .../onboardingv2/OnboardingProfileTypeFragmentPresenter.kt | 2 +- .../onboarding/onboardingv2/OnboardingProfileTypeViewModel.kt | 4 ---- .../oppia/android/app/onboarding/OnboardingFragmentTest.kt | 4 +--- 9 files changed, 8 insertions(+), 14 deletions(-) delete mode 100644 app/src/main/java/org/oppia/android/app/onboarding/onboardingv2/OnboardingProfileTypeViewModel.kt diff --git a/app/src/main/java/org/oppia/android/app/customview/OppiaCurveBackgroundView.kt b/app/src/main/java/org/oppia/android/app/customview/OppiaCurveBackgroundView.kt index 66b04851b29..49be57e52eb 100644 --- a/app/src/main/java/org/oppia/android/app/customview/OppiaCurveBackgroundView.kt +++ b/app/src/main/java/org/oppia/android/app/customview/OppiaCurveBackgroundView.kt @@ -11,11 +11,11 @@ import android.view.View import androidx.core.view.ViewCompat import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentManager -import javax.inject.Inject import org.oppia.android.R import org.oppia.android.app.translation.AppLanguageResourceHandler import org.oppia.android.app.view.ViewComponentFactory import org.oppia.android.app.view.ViewComponentImpl +import javax.inject.Inject /** * CustomView to add a background to views that require a bezier curve background. diff --git a/app/src/main/java/org/oppia/android/app/onboarding/OnboardingFragment.kt b/app/src/main/java/org/oppia/android/app/onboarding/OnboardingFragment.kt index 52ff1826395..829717c988b 100644 --- a/app/src/main/java/org/oppia/android/app/onboarding/OnboardingFragment.kt +++ b/app/src/main/java/org/oppia/android/app/onboarding/OnboardingFragment.kt @@ -7,9 +7,9 @@ import android.view.View import android.view.ViewGroup import org.oppia.android.app.fragment.FragmentComponentImpl import org.oppia.android.app.fragment.InjectableFragment -import javax.inject.Inject import org.oppia.android.util.platformparameter.EnableOnboardingFlowV2 import org.oppia.android.util.platformparameter.PlatformParameterValue +import javax.inject.Inject import org.oppia.android.app.onboarding.onboardingv2.OnboardingFragmentPresenter as OnboardingFragmentPresenterV2 /** Fragment that contains an onboarding flow of the app. */ diff --git a/app/src/main/java/org/oppia/android/app/onboarding/onboardingv2/OnboardingFragmentPresenter.kt b/app/src/main/java/org/oppia/android/app/onboarding/onboardingv2/OnboardingFragmentPresenter.kt index a6af5b4c858..5bec327b02f 100644 --- a/app/src/main/java/org/oppia/android/app/onboarding/onboardingv2/OnboardingFragmentPresenter.kt +++ b/app/src/main/java/org/oppia/android/app/onboarding/onboardingv2/OnboardingFragmentPresenter.kt @@ -6,12 +6,12 @@ import android.view.ViewGroup import android.widget.ArrayAdapter import androidx.appcompat.app.AppCompatActivity import androidx.fragment.app.Fragment -import javax.inject.Inject import org.oppia.android.R import org.oppia.android.app.fragment.FragmentScope import org.oppia.android.app.onboarding.OnboardingViewModel import org.oppia.android.app.viewmodel.ViewModelProvider import org.oppia.android.databinding.OnboardingAppLanguageSelectionFragmentBinding +import javax.inject.Inject /** The presenter for [OnboardingFragment] V2. */ @FragmentScope diff --git a/app/src/main/java/org/oppia/android/app/onboarding/onboardingv2/OnboardingProfileTypeActivity.kt b/app/src/main/java/org/oppia/android/app/onboarding/onboardingv2/OnboardingProfileTypeActivity.kt index efa5a15811d..bea2bc36c83 100644 --- a/app/src/main/java/org/oppia/android/app/onboarding/onboardingv2/OnboardingProfileTypeActivity.kt +++ b/app/src/main/java/org/oppia/android/app/onboarding/onboardingv2/OnboardingProfileTypeActivity.kt @@ -3,11 +3,11 @@ package org.oppia.android.app.onboarding.onboardingv2 import android.content.Context import android.content.Intent import android.os.Bundle -import javax.inject.Inject import org.oppia.android.app.activity.ActivityComponentImpl import org.oppia.android.app.activity.InjectableAutoLocalizedAppCompatActivity import org.oppia.android.app.model.ScreenName import org.oppia.android.util.logging.CurrentAppScreenNameIntentDecorator.decorateWithScreenName +import javax.inject.Inject /** The activity for showing the profile type selection screen. */ class OnboardingProfileTypeActivity : InjectableAutoLocalizedAppCompatActivity() { diff --git a/app/src/main/java/org/oppia/android/app/onboarding/onboardingv2/OnboardingProfileTypeActivityPresenter.kt b/app/src/main/java/org/oppia/android/app/onboarding/onboardingv2/OnboardingProfileTypeActivityPresenter.kt index 6fc19c9597f..f678ed058c3 100644 --- a/app/src/main/java/org/oppia/android/app/onboarding/onboardingv2/OnboardingProfileTypeActivityPresenter.kt +++ b/app/src/main/java/org/oppia/android/app/onboarding/onboardingv2/OnboardingProfileTypeActivityPresenter.kt @@ -2,10 +2,10 @@ package org.oppia.android.app.onboarding.onboardingv2 import androidx.appcompat.app.AppCompatActivity import androidx.databinding.DataBindingUtil -import javax.inject.Inject import org.oppia.android.R import org.oppia.android.app.activity.ActivityScope import org.oppia.android.databinding.OnboardingProfileTypeActivityBinding +import javax.inject.Inject private const val TAG_PROFILE_TYPE_FRAGMENT = "TAG_PROFILE_TYPE_FRAGMENT" diff --git a/app/src/main/java/org/oppia/android/app/onboarding/onboardingv2/OnboardingProfileTypeFragment.kt b/app/src/main/java/org/oppia/android/app/onboarding/onboardingv2/OnboardingProfileTypeFragment.kt index 47dbae7bab2..662d95c4b2c 100644 --- a/app/src/main/java/org/oppia/android/app/onboarding/onboardingv2/OnboardingProfileTypeFragment.kt +++ b/app/src/main/java/org/oppia/android/app/onboarding/onboardingv2/OnboardingProfileTypeFragment.kt @@ -5,9 +5,9 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import javax.inject.Inject import org.oppia.android.app.fragment.FragmentComponentImpl import org.oppia.android.app.fragment.InjectableFragment +import javax.inject.Inject /** Fragment that contains an onboarding flow of the app. */ class OnboardingProfileTypeFragment : InjectableFragment() { diff --git a/app/src/main/java/org/oppia/android/app/onboarding/onboardingv2/OnboardingProfileTypeFragmentPresenter.kt b/app/src/main/java/org/oppia/android/app/onboarding/onboardingv2/OnboardingProfileTypeFragmentPresenter.kt index 8efdd0edd0a..cd23af399f3 100644 --- a/app/src/main/java/org/oppia/android/app/onboarding/onboardingv2/OnboardingProfileTypeFragmentPresenter.kt +++ b/app/src/main/java/org/oppia/android/app/onboarding/onboardingv2/OnboardingProfileTypeFragmentPresenter.kt @@ -4,8 +4,8 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment -import javax.inject.Inject import org.oppia.android.databinding.OnboardingProfileTypeFragmentBinding +import javax.inject.Inject /** The presenter for [OnboardingProfileTypeFragment]. */ class OnboardingProfileTypeFragmentPresenter @Inject constructor( diff --git a/app/src/main/java/org/oppia/android/app/onboarding/onboardingv2/OnboardingProfileTypeViewModel.kt b/app/src/main/java/org/oppia/android/app/onboarding/onboardingv2/OnboardingProfileTypeViewModel.kt deleted file mode 100644 index c26f369897b..00000000000 --- a/app/src/main/java/org/oppia/android/app/onboarding/onboardingv2/OnboardingProfileTypeViewModel.kt +++ /dev/null @@ -1,4 +0,0 @@ -package org.oppia.android.app.onboarding.onboardingv2 - -class OnboardingProfileTypeViewModel { -} \ No newline at end of file diff --git a/app/src/sharedTest/java/org/oppia/android/app/onboarding/OnboardingFragmentTest.kt b/app/src/sharedTest/java/org/oppia/android/app/onboarding/OnboardingFragmentTest.kt index c735b927495..2d3ecf8c7be 100644 --- a/app/src/sharedTest/java/org/oppia/android/app/onboarding/OnboardingFragmentTest.kt +++ b/app/src/sharedTest/java/org/oppia/android/app/onboarding/OnboardingFragmentTest.kt @@ -98,7 +98,6 @@ import org.oppia.android.testing.time.FakeOppiaClockModule import org.oppia.android.util.accessibility.AccessibilityTestModule import org.oppia.android.util.caching.AssetModule import org.oppia.android.util.caching.testing.CachingTestModule -import org.oppia.android.util.gcsresource.DefaultResourceBucketName import org.oppia.android.util.gcsresource.GcsResourceModule import org.oppia.android.util.locale.LocaleProdModule import org.oppia.android.util.logging.EventLoggingConfigurationModule @@ -107,7 +106,6 @@ import org.oppia.android.util.logging.SyncStatusModule import org.oppia.android.util.logging.firebase.FirebaseLogUploaderModule import org.oppia.android.util.networking.NetworkConnectionDebugUtilModule import org.oppia.android.util.networking.NetworkConnectionUtilDebugModule -import org.oppia.android.util.parser.html.HtmlParser import org.oppia.android.util.parser.html.HtmlParserEntityTypeModule import org.oppia.android.util.parser.image.GlideImageLoaderModule import org.oppia.android.util.parser.image.ImageParsingModule @@ -690,7 +688,7 @@ class OnboardingFragmentTest { } } - //TODO add tests for supported app language default locales: arabic, portuguese, nigeria + // TODO add tests for supported app language default locales: arabic, portuguese, nigeria // Add test for unsupported default locale eg french // Add test for langauge list dropdown contents