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 9f60f2c4cca..6ee0b380c47 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
@@ -1,6 +1,8 @@
package org.oppia.android.app.customview
import android.content.Context
+import android.content.res.Configuration
+import android.content.res.Resources
import android.content.res.TypedArray
import android.graphics.Canvas
import android.graphics.Color
@@ -38,7 +40,9 @@ class OppiaCurveBackgroundView @JvmOverloads constructor(
resourceHandler.getLayoutDirection() == ViewCompat.LAYOUT_DIRECTION_RTL
}
- private var customBackgroundColor = Color.WHITE // Default color
+ private val orientation = Resources.getSystem().configuration.orientation
+
+ private var customBackgroundColor = Color.WHITE // Default color.
private lateinit var paint: Paint
private lateinit var path: Path
@@ -66,17 +70,37 @@ class OppiaCurveBackgroundView @JvmOverloads constructor(
val width = this.width.toFloat()
val height = this.height.toFloat()
- val controlPoint1X = width * 0.55f
- val controlPoint1Y = 0f
-
- val controlPoint2X = width * 0.52f
- val controlPoint2Y = height * 0.2f
-
- val controlPoint3X = width * 1f
- val controlPoint3Y = height * 0.1f
+ val controlPoint1X: Float
+ val controlPoint1Y: Float
+
+ val controlPoint2X: Float
+ val controlPoint2Y: Float
+
+ val controlPoint3X: Float
+ val controlPoint3Y: Float
+
+ if (orientation == Configuration.ORIENTATION_PORTRAIT) {
+ controlPoint1X = width * 0.55f
+ controlPoint1Y = 0f
+ controlPoint2X = width * 0.52f
+ controlPoint2Y = height * 0.2f
+ controlPoint3X = width * 1f
+ controlPoint3Y = height * 0.1f
+ } else {
+ controlPoint1X = width * 0.40f
+ controlPoint1Y = 0f
+ controlPoint2X = width * 0.60f
+ controlPoint2Y = height * 0.40f
+ controlPoint3X = width * 1f
+ controlPoint3Y = height * 0.2f
+ }
path.reset()
- path.moveTo(0f, height * 0.1f)
+ if (orientation == Configuration.ORIENTATION_PORTRAIT) {
+ path.moveTo(0f, height * 0.10f)
+ } else {
+ path.moveTo(0f, height * 0.30f)
+ }
path.cubicTo(
controlPoint1X,
controlPoint1Y,
diff --git a/app/src/main/java/org/oppia/android/app/onboardingv2/OnboardingFragmentPresenter.kt b/app/src/main/java/org/oppia/android/app/onboardingv2/OnboardingFragmentPresenter.kt
index 2926dc64f1c..0c682fc2f1d 100644
--- a/app/src/main/java/org/oppia/android/app/onboardingv2/OnboardingFragmentPresenter.kt
+++ b/app/src/main/java/org/oppia/android/app/onboardingv2/OnboardingFragmentPresenter.kt
@@ -28,14 +28,14 @@ class OnboardingFragmentPresenter @Inject constructor(
/* attachToRoot= */ false
)
- binding.let {
- it.lifecycleOwner = fragment
- }
+ binding.apply {
+ lifecycleOwner = fragment
- binding.onboardingLanguageTitle.text = appLanguageResourceHandler.getStringInLocaleWithWrapping(
- R.string.onboarding_language_activity_title,
- appLanguageResourceHandler.getStringInLocale(R.string.app_name)
- )
+ onboardingLanguageTitle.text = appLanguageResourceHandler.getStringInLocaleWithWrapping(
+ R.string.onboarding_language_activity_title,
+ appLanguageResourceHandler.getStringInLocale(R.string.app_name)
+ )
+ }
binding.onboardingLanguageLetsGoButton.setOnClickListener {
val intent = OnboardingProfileTypeActivity.createOnboardingProfileTypeActivityIntent(activity)
diff --git a/app/src/main/res/drawable/dropdown_background.xml b/app/src/main/res/drawable/dropdown_background.xml
index 3eca06cfe8c..c6cca728b36 100644
--- a/app/src/main/res/drawable/dropdown_background.xml
+++ b/app/src/main/res/drawable/dropdown_background.xml
@@ -1,23 +1,8 @@
-
- -
-
-
-
-
-
- -
-
-
-
-
-
-
+
+
+
+
diff --git a/app/src/main/res/layout-land/onboarding_app_language_selection_fragment.xml b/app/src/main/res/layout-land/onboarding_app_language_selection_fragment.xml
index 37ff3fc566a..994d339e468 100644
--- a/app/src/main/res/layout-land/onboarding_app_language_selection_fragment.xml
+++ b/app/src/main/res/layout-land/onboarding_app_language_selection_fragment.xml
@@ -11,8 +11,9 @@
@@ -22,6 +23,7 @@
style="@style/OnboardingLanguageSubtitleStyle"
android:layout_marginTop="@dimen/onboarding_shared_margin_small"
android:text="@string/onboarding_language_activity_subtitle"
+ android:textSize="@dimen/onboarding_shared_text_size_medium"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/onboarding_language_title" />
@@ -29,7 +31,6 @@
+ app:layout_constraintGuide_percent="0.20" />
+ app:layout_constraintStart_toStartOf="parent" />
+ app:layout_constraintWidth_percent="0.40">
+ app:layout_constraintStart_toStartOf="@id/onboarding_language_explanation"
+ app:layout_constraintWidth_percent="0.50" />
diff --git a/app/src/main/res/layout-sw600dp-land/onboarding_app_language_selection_fragment.xml b/app/src/main/res/layout-sw600dp-land/onboarding_app_language_selection_fragment.xml
index df7ccc2de4d..a5a05ef77eb 100644
--- a/app/src/main/res/layout-sw600dp-land/onboarding_app_language_selection_fragment.xml
+++ b/app/src/main/res/layout-sw600dp-land/onboarding_app_language_selection_fragment.xml
@@ -45,14 +45,14 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
- app:layout_constraintGuide_percent="0.35" />
+ app:layout_constraintGuide_percent="0.34" />
+ app:layout_constraintGuide_percent="0.45" />
-
-
+ app:layout_constraintTop_toTopOf="parent" />
+ app:layout_constraintGuide_percent="0.30" />
+ app:layout_constraintGuide_percent="0.40" />
@color/color_def_black_24
@color/color_def_white
@color/color_def_forest_green
- @color/color_def_oppia_green
+ @color/color_def_dark_green
@color/color_def_dark_green
@color/color_def_oppia_green
@color/color_def_highlight_blue_darker
diff --git a/app/src/main/res/values/component_colors.xml b/app/src/main/res/values/component_colors.xml
index 052fa34a445..d942b104b09 100644
--- a/app/src/main/res/values/component_colors.xml
+++ b/app/src/main/res/values/component_colors.xml
@@ -308,5 +308,4 @@
@color/color_palette_onboarding_primary_color
@color/color_palette_onboarding_primary_text_color
@color/color_palette_onboarding_profile_type_background_color
-
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 01e59b485ee..48644208247 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -658,7 +658,7 @@
- match_parent
- wrap_content
- @color/component_color_onboarding_shared_white_color
- - @dimen/onboarding_shared_margin_medium
+ - @dimen/onboarding_shared_margin_medium_small
- @dimen/onboarding_shared_text_size_small
- sans-serif
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 342f5a5e703..5fe73a74d55 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
@@ -124,13 +124,23 @@ import javax.inject.Singleton
qualifiers = "port-xxhdpi"
)
class OnboardingFragmentTest {
- @get:Rule val initializeDefaultLocaleRule = InitializeDefaultLocaleRule()
+ @get:Rule
+ val initializeDefaultLocaleRule = InitializeDefaultLocaleRule()
- @get:Rule val oppiaTestRule = OppiaTestRule()
- @Inject lateinit var testCoroutineDispatchers: TestCoroutineDispatchers
- @Inject lateinit var htmlParserFactory: HtmlParser.Factory
- @Inject lateinit var context: Context
- @Inject lateinit var appLanguageLocaleHandler: AppLanguageLocaleHandler
+ @get:Rule
+ val oppiaTestRule = OppiaTestRule()
+
+ @Inject
+ lateinit var testCoroutineDispatchers: TestCoroutineDispatchers
+
+ @Inject
+ lateinit var htmlParserFactory: HtmlParser.Factory
+
+ @Inject
+ lateinit var context: Context
+
+ @Inject
+ lateinit var appLanguageLocaleHandler: AppLanguageLocaleHandler
@Inject
@field:DefaultResourceBucketName
diff --git a/scripts/assets/kdoc_validity_exemptions.textproto b/scripts/assets/kdoc_validity_exemptions.textproto
index fb49c21573b..d95675679d3 100644
--- a/scripts/assets/kdoc_validity_exemptions.textproto
+++ b/scripts/assets/kdoc_validity_exemptions.textproto
@@ -3,7 +3,6 @@ exempted_file_path: "app/src/main/java/org/oppia/android/app/application/Applica
exempted_file_path: "app/src/main/java/org/oppia/android/app/application/ApplicationInjectorProvider.kt"
exempted_file_path: "app/src/main/java/org/oppia/android/app/application/ApplicationStartupListenerModule.kt"
exempted_file_path: "app/src/main/java/org/oppia/android/app/administratorcontrols/RouteToProfileListListener.kt"
-exempted_file_path: "app/src/main/java/org/oppia/android/app/customview/OppiaCurveBackgroundView.kt"
exempted_file_path: "app/src/main/java/org/oppia/android/app/notice/AutomaticAppDeprecationNoticeDialogFragmentPresenter.kt"
exempted_file_path: "app/src/main/java/org/oppia/android/app/devoptions/DeveloperOptionsActivityPresenter.kt"
exempted_file_path: "app/src/main/java/org/oppia/android/app/devoptions/DeveloperOptionsFragment.kt"
diff --git a/scripts/assets/test_file_exemptions.textproto b/scripts/assets/test_file_exemptions.textproto
index 3f6b907ba7d..ae026d0e2cd 100644
--- a/scripts/assets/test_file_exemptions.textproto
+++ b/scripts/assets/test_file_exemptions.textproto
@@ -254,6 +254,7 @@ exempted_file_path: "app/src/main/java/org/oppia/android/app/onboarding/Onboardi
exempted_file_path: "app/src/main/java/org/oppia/android/app/onboarding/OnboardingViewPagerViewModel.kt"
exempted_file_path: "app/src/main/java/org/oppia/android/app/onboarding/RouteToProfileListListener.kt"
exempted_file_path: "app/src/main/java/org/oppia/android/app/onboarding/ViewPagerSlide.kt"
+exempted_file_path: "app/src/main/java/org/oppia/android/app/onboardingv2/OnboardingFragmentPresenter.kt"
exempted_file_path: "app/src/main/java/org/oppia/android/app/onboardingv2/OnboardingProfileTypeActivityPresenter.kt"
exempted_file_path: "app/src/main/java/org/oppia/android/app/onboardingv2/OnboardingProfileTypeFragmentPresenter.kt"
exempted_file_path: "app/src/main/java/org/oppia/android/app/ongoingtopiclist/OngoingTopicItemViewModel.kt"