From 57d838c7f56646beaca5a8d795639035eb78c747 Mon Sep 17 00:00:00 2001 From: "Mr. 17" Date: Mon, 16 Oct 2023 10:17:51 +0530 Subject: [PATCH 1/5] Fixes AppCompatCustomView errors --- .../interaction/FractionInputInteractionView.kt | 8 ++++---- .../interaction/MathExpressionInteractionsView.kt | 8 ++++---- .../interaction/NumericInputInteractionView.kt | 8 ++++---- .../interaction/RatioInputInteractionView.kt | 8 ++++---- .../customview/interaction/TextInputInteractionView.kt | 10 +++++----- 5 files changed, 21 insertions(+), 21 deletions(-) diff --git a/app/src/main/java/org/oppia/android/app/customview/interaction/FractionInputInteractionView.kt b/app/src/main/java/org/oppia/android/app/customview/interaction/FractionInputInteractionView.kt index 1fb50be3f5b..665cacde18d 100644 --- a/app/src/main/java/org/oppia/android/app/customview/interaction/FractionInputInteractionView.kt +++ b/app/src/main/java/org/oppia/android/app/customview/interaction/FractionInputInteractionView.kt @@ -8,7 +8,7 @@ import android.view.KeyEvent.ACTION_UP import android.view.KeyEvent.KEYCODE_BACK import android.view.View import android.view.inputmethod.EditorInfo -import android.widget.EditText +import androidx.appcompat.widget.AppCompatEditText import org.oppia.android.app.player.state.listener.StateKeyboardButtonListener import org.oppia.android.app.utility.KeyboardHelper.Companion.hideSoftKeyboard import org.oppia.android.app.utility.KeyboardHelper.Companion.showSoftKeyboard @@ -22,12 +22,12 @@ import org.oppia.android.app.utility.KeyboardHelper.Companion.showSoftKeyboard // TODO(#4135): Add a dedicated test suite for this class. -/** The custom EditText class for fraction input interaction view. */ +/** The custom [AppCompatEditText] class for fraction input interaction view. */ class FractionInputInteractionView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyle: Int = android.R.attr.editTextStyle -) : EditText(context, attrs, defStyle), View.OnFocusChangeListener { +) : AppCompatEditText(context, attrs, defStyle), View.OnFocusChangeListener { private var hintText: CharSequence = "" private val stateKeyboardButtonListener: StateKeyboardButtonListener @@ -71,7 +71,7 @@ class FractionInputInteractionView @JvmOverloads constructor( private fun restoreHint() { hint = hintText - if (text.isEmpty()) setTypeface(typeface, Typeface.ITALIC) + if (text?.isEmpty() == true) setTypeface(typeface, Typeface.ITALIC) setSingleLine(false) } } diff --git a/app/src/main/java/org/oppia/android/app/customview/interaction/MathExpressionInteractionsView.kt b/app/src/main/java/org/oppia/android/app/customview/interaction/MathExpressionInteractionsView.kt index 00de2602d42..34aedfc406c 100644 --- a/app/src/main/java/org/oppia/android/app/customview/interaction/MathExpressionInteractionsView.kt +++ b/app/src/main/java/org/oppia/android/app/customview/interaction/MathExpressionInteractionsView.kt @@ -6,7 +6,7 @@ import android.util.AttributeSet import android.view.KeyEvent import android.view.View import android.view.inputmethod.EditorInfo -import android.widget.EditText +import androidx.appcompat.widget.AppCompatEditText import org.oppia.android.app.player.state.listener.StateKeyboardButtonListener import org.oppia.android.app.utility.KeyboardHelper.Companion.hideSoftKeyboard import org.oppia.android.app.utility.KeyboardHelper.Companion.showSoftKeyboard @@ -19,7 +19,7 @@ import org.oppia.android.app.utility.KeyboardHelper.Companion.showSoftKeyboard // maxLength="200". /** - * The custom [EditText] class for math expression interactions interaction view. + * The custom [AppCompatEditText] class for math expression interactions interaction view. * * Note that the hint should be set via [setPlaceholder] to ensure that it's properly initialized if * using databinding, otherwise setting the hint through android:hint should work fine. @@ -28,7 +28,7 @@ class MathExpressionInteractionsView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyle: Int = android.R.attr.editTextStyle -) : EditText(context, attrs, defStyle), View.OnFocusChangeListener { +) : AppCompatEditText(context, attrs, defStyle), View.OnFocusChangeListener { private var hintText: CharSequence = "" private val stateKeyboardButtonListener: StateKeyboardButtonListener @@ -84,7 +84,7 @@ class MathExpressionInteractionsView @JvmOverloads constructor( private fun restoreHint() { hint = hintText - if (text.isEmpty()) setTypeface(typeface, Typeface.ITALIC) + if (text?.isEmpty() == true) setTypeface(typeface, Typeface.ITALIC) setSingleLine(false) } } diff --git a/app/src/main/java/org/oppia/android/app/customview/interaction/NumericInputInteractionView.kt b/app/src/main/java/org/oppia/android/app/customview/interaction/NumericInputInteractionView.kt index b6745cad7d9..247da8ba165 100644 --- a/app/src/main/java/org/oppia/android/app/customview/interaction/NumericInputInteractionView.kt +++ b/app/src/main/java/org/oppia/android/app/customview/interaction/NumericInputInteractionView.kt @@ -8,7 +8,7 @@ import android.view.KeyEvent.ACTION_UP import android.view.KeyEvent.KEYCODE_BACK import android.view.View import android.view.inputmethod.EditorInfo -import android.widget.EditText +import androidx.appcompat.widget.AppCompatEditText import org.oppia.android.app.player.state.listener.StateKeyboardButtonListener import org.oppia.android.app.utility.KeyboardHelper.Companion.hideSoftKeyboard import org.oppia.android.app.utility.KeyboardHelper.Companion.showSoftKeyboard @@ -20,12 +20,12 @@ import org.oppia.android.app.utility.KeyboardHelper.Companion.showSoftKeyboard // background="@drawable/edit_text_background" // maxLength="200". -/** The custom EditText class for numeric input interaction view. */ +/** The custom [AppCompatEditText] class for numeric input interaction view. */ class NumericInputInteractionView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyle: Int = android.R.attr.editTextStyle -) : EditText(context, attrs, defStyle), View.OnFocusChangeListener { +) : AppCompatEditText(context, attrs, defStyle), View.OnFocusChangeListener { private val stateKeyboardButtonListener: StateKeyboardButtonListener private var hintText: CharSequence = "" @@ -69,7 +69,7 @@ class NumericInputInteractionView @JvmOverloads constructor( private fun restoreHint() { hint = hintText - if (text.isEmpty()) setTypeface(typeface, Typeface.ITALIC) + if (text?.isEmpty() == true) setTypeface(typeface, Typeface.ITALIC) setSingleLine(false) } } diff --git a/app/src/main/java/org/oppia/android/app/customview/interaction/RatioInputInteractionView.kt b/app/src/main/java/org/oppia/android/app/customview/interaction/RatioInputInteractionView.kt index fd29579a1fd..6b775b469af 100644 --- a/app/src/main/java/org/oppia/android/app/customview/interaction/RatioInputInteractionView.kt +++ b/app/src/main/java/org/oppia/android/app/customview/interaction/RatioInputInteractionView.kt @@ -6,16 +6,16 @@ import android.util.AttributeSet import android.view.KeyEvent import android.view.View import android.view.inputmethod.EditorInfo -import android.widget.EditText +import androidx.appcompat.widget.AppCompatEditText import org.oppia.android.app.player.state.listener.StateKeyboardButtonListener import org.oppia.android.app.utility.KeyboardHelper -/** The custom EditText class for ratio input interaction view. */ +/** The custom [AppCompatEditText] class for ratio input interaction view. */ class RatioInputInteractionView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyle: Int = android.R.attr.editTextStyle -) : EditText(context, attrs, defStyle), View.OnFocusChangeListener { +) : AppCompatEditText(context, attrs, defStyle), View.OnFocusChangeListener { private var hintText: CharSequence = "" private val stateKeyboardButtonListener: StateKeyboardButtonListener @@ -59,7 +59,7 @@ class RatioInputInteractionView @JvmOverloads constructor( private fun restoreHint() { hint = hintText - if (text.isEmpty()) setTypeface(typeface, Typeface.ITALIC) + if (text?.isEmpty() == true) setTypeface(typeface, Typeface.ITALIC) setSingleLine(false) } } diff --git a/app/src/main/java/org/oppia/android/app/customview/interaction/TextInputInteractionView.kt b/app/src/main/java/org/oppia/android/app/customview/interaction/TextInputInteractionView.kt index 10001acd258..21d278bbdde 100644 --- a/app/src/main/java/org/oppia/android/app/customview/interaction/TextInputInteractionView.kt +++ b/app/src/main/java/org/oppia/android/app/customview/interaction/TextInputInteractionView.kt @@ -6,7 +6,7 @@ import android.util.AttributeSet import android.view.KeyEvent import android.view.View import android.view.inputmethod.EditorInfo -import android.widget.EditText +import androidx.appcompat.widget.AppCompatEditText import org.oppia.android.app.player.state.listener.StateKeyboardButtonListener import org.oppia.android.app.utility.KeyboardHelper.Companion.hideSoftKeyboard import org.oppia.android.app.utility.KeyboardHelper.Companion.showSoftKeyboard @@ -17,12 +17,12 @@ import org.oppia.android.app.utility.KeyboardHelper.Companion.showSoftKeyboard // background="@drawable/edit_text_background" // maxLength="200". -/** The custom EditText class for text input interaction view. */ +/** The custom [AppCompatEditText] class for text input interaction view. */ class TextInputInteractionView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyle: Int = android.R.attr.editTextStyle -) : EditText(context, attrs, defStyle), View.OnFocusChangeListener { +) : AppCompatEditText(context, attrs, defStyle), View.OnFocusChangeListener { private var hintText: CharSequence = "" private val stateKeyboardButtonListener: StateKeyboardButtonListener @@ -66,7 +66,7 @@ class TextInputInteractionView @JvmOverloads constructor( private fun restoreHint() { hint = hintText - if (text.isEmpty()) setTypeface(typeface, Typeface.ITALIC) - setSingleLine(false) + if (text?.isEmpty() == true) setTypeface(typeface, Typeface.ITALIC) + isSingleLine = false } } From 525ff5e52d20e9042e0659eb05b233f781856046 Mon Sep 17 00:00:00 2001 From: "Mr. 17" Date: Mon, 16 Oct 2023 14:27:54 +0530 Subject: [PATCH 2/5] Fixes FragmentTagUsage warnings --- .../android/app/drawer/NavigationDrawerFragment.kt | 13 +++++++++++-- .../administrator_controls_activity.xml | 2 +- app/src/main/res/layout-sw600dp/help_activity.xml | 2 +- app/src/main/res/layout-sw600dp/option_activity.xml | 2 +- .../res/layout/administrator_controls_activity.xml | 2 +- .../main/res/layout/developer_options_activity.xml | 2 +- app/src/main/res/layout/help_activity.xml | 2 +- app/src/main/res/layout/home_activity.xml | 2 +- app/src/main/res/layout/option_activity.xml | 2 +- 9 files changed, 19 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/org/oppia/android/app/drawer/NavigationDrawerFragment.kt b/app/src/main/java/org/oppia/android/app/drawer/NavigationDrawerFragment.kt index ee307e47738..4470cae97f3 100644 --- a/app/src/main/java/org/oppia/android/app/drawer/NavigationDrawerFragment.kt +++ b/app/src/main/java/org/oppia/android/app/drawer/NavigationDrawerFragment.kt @@ -20,6 +20,10 @@ class NavigationDrawerFragment : @Inject lateinit var navigationDrawerFragmentPresenter: NavigationDrawerFragmentPresenter + private lateinit var drawerLayout: DrawerLayout + private lateinit var toolbar: Toolbar + private var menuItemId: Int = 0 + override fun onAttach(context: Context) { super.onAttach(context) (fragmentComponent as FragmentComponentImpl).inject(this) @@ -30,11 +34,16 @@ class NavigationDrawerFragment : container: ViewGroup?, savedInstanceState: Bundle? ): View? { - return navigationDrawerFragmentPresenter.handleCreateView(inflater, container) + val navigationDrawerFragmentView = + navigationDrawerFragmentPresenter.handleCreateView(inflater, container) + navigationDrawerFragmentPresenter.setUpDrawer(drawerLayout, toolbar, menuItemId) + return navigationDrawerFragmentView } fun setUpDrawer(drawerLayout: DrawerLayout, toolbar: Toolbar, menuItemId: Int) { - navigationDrawerFragmentPresenter.setUpDrawer(drawerLayout, toolbar, menuItemId) + this.drawerLayout = drawerLayout + this.toolbar = toolbar + this.menuItemId = menuItemId } override fun routeToProfileProgress(profileId: Int) { diff --git a/app/src/main/res/layout-sw600dp/administrator_controls_activity.xml b/app/src/main/res/layout-sw600dp/administrator_controls_activity.xml index c3602b0e946..23bbee7c13e 100644 --- a/app/src/main/res/layout-sw600dp/administrator_controls_activity.xml +++ b/app/src/main/res/layout-sw600dp/administrator_controls_activity.xml @@ -97,7 +97,7 @@ app:layout_constraintTop_toBottomOf="@id/administrator_controls_activity_toolbar" /> - - - - - - - - Date: Wed, 15 Nov 2023 09:40:14 +0530 Subject: [PATCH 3/5] Refactors code --- .../AdministratorControlsActivityPresenter.kt | 2 +- .../DeveloperOptionsActivityPresenter.kt | 2 +- .../app/drawer/NavigationDrawerFragment.kt | 15 +++------------ .../drawer/NavigationDrawerFragmentPresenter.kt | 14 +++++++++++--- .../android/app/help/HelpActivityPresenter.kt | 2 +- .../android/app/home/HomeActivityPresenter.kt | 2 +- .../app/options/OptionsActivityPresenter.kt | 2 +- 7 files changed, 19 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/org/oppia/android/app/administratorcontrols/AdministratorControlsActivityPresenter.kt b/app/src/main/java/org/oppia/android/app/administratorcontrols/AdministratorControlsActivityPresenter.kt index 0dfe9b50b9c..0c9e3fe7749 100644 --- a/app/src/main/java/org/oppia/android/app/administratorcontrols/AdministratorControlsActivityPresenter.kt +++ b/app/src/main/java/org/oppia/android/app/administratorcontrols/AdministratorControlsActivityPresenter.kt @@ -96,7 +96,7 @@ class AdministratorControlsActivityPresenter @Inject constructor( .findFragmentById( R.id.administrator_controls_activity_fragment_navigation_drawer ) as NavigationDrawerFragment - navigationDrawerFragment.setUpDrawer( + navigationDrawerFragment.initializeDrawer( binding.administratorControlsActivityDrawerLayout, toolbar, /* menuItemId= */ 0 ) diff --git a/app/src/main/java/org/oppia/android/app/devoptions/DeveloperOptionsActivityPresenter.kt b/app/src/main/java/org/oppia/android/app/devoptions/DeveloperOptionsActivityPresenter.kt index edd4e952711..8107813bd76 100644 --- a/app/src/main/java/org/oppia/android/app/devoptions/DeveloperOptionsActivityPresenter.kt +++ b/app/src/main/java/org/oppia/android/app/devoptions/DeveloperOptionsActivityPresenter.kt @@ -41,7 +41,7 @@ class DeveloperOptionsActivityPresenter @Inject constructor( .findFragmentById( R.id.developer_options_activity_fragment_navigation_drawer ) as NavigationDrawerFragment - navigationDrawerFragment.setUpDrawer( + navigationDrawerFragment.initializeDrawer( binding.developerOptionsActivityDrawerLayout, toolbar, menuItemId = -1 ) diff --git a/app/src/main/java/org/oppia/android/app/drawer/NavigationDrawerFragment.kt b/app/src/main/java/org/oppia/android/app/drawer/NavigationDrawerFragment.kt index 4470cae97f3..734554fceb4 100644 --- a/app/src/main/java/org/oppia/android/app/drawer/NavigationDrawerFragment.kt +++ b/app/src/main/java/org/oppia/android/app/drawer/NavigationDrawerFragment.kt @@ -20,10 +20,6 @@ class NavigationDrawerFragment : @Inject lateinit var navigationDrawerFragmentPresenter: NavigationDrawerFragmentPresenter - private lateinit var drawerLayout: DrawerLayout - private lateinit var toolbar: Toolbar - private var menuItemId: Int = 0 - override fun onAttach(context: Context) { super.onAttach(context) (fragmentComponent as FragmentComponentImpl).inject(this) @@ -34,16 +30,11 @@ class NavigationDrawerFragment : container: ViewGroup?, savedInstanceState: Bundle? ): View? { - val navigationDrawerFragmentView = - navigationDrawerFragmentPresenter.handleCreateView(inflater, container) - navigationDrawerFragmentPresenter.setUpDrawer(drawerLayout, toolbar, menuItemId) - return navigationDrawerFragmentView + return navigationDrawerFragmentPresenter.handleCreateView(inflater, container) } - fun setUpDrawer(drawerLayout: DrawerLayout, toolbar: Toolbar, menuItemId: Int) { - this.drawerLayout = drawerLayout - this.toolbar = toolbar - this.menuItemId = menuItemId + fun initializeDrawer(drawerLayout: DrawerLayout, toolbar: Toolbar, menuItemId: Int) { + navigationDrawerFragmentPresenter.initializeDrawer(drawerLayout, toolbar, menuItemId) } override fun routeToProfileProgress(profileId: Int) { diff --git a/app/src/main/java/org/oppia/android/app/drawer/NavigationDrawerFragmentPresenter.kt b/app/src/main/java/org/oppia/android/app/drawer/NavigationDrawerFragmentPresenter.kt index 44fb2ec9945..ecfa05f3782 100644 --- a/app/src/main/java/org/oppia/android/app/drawer/NavigationDrawerFragmentPresenter.kt +++ b/app/src/main/java/org/oppia/android/app/drawer/NavigationDrawerFragmentPresenter.kt @@ -62,13 +62,17 @@ class NavigationDrawerFragmentPresenter @Inject constructor( private lateinit var drawerLayout: DrawerLayout private lateinit var binding: DrawerFragmentBinding private lateinit var profileId: ProfileId + private lateinit var toolbar: Toolbar private var previousMenuItemId: Int? = null private var internalProfileId: Int = -1 + private var menuItemId: Int = 0 fun handleCreateView(inflater: LayoutInflater, container: ViewGroup?): View? { binding = DrawerFragmentBinding.inflate(inflater, container, /* attachToRoot= */ false) binding.fragmentDrawerNavView.setNavigationItemSelectedListener(this) + setUpDrawer(drawerLayout, toolbar, menuItemId) + fragment.setHasOptionsMenu(true) internalProfileId = activity.intent.getIntExtra(NAVIGATION_PROFILE_ID_ARGUMENT_KEY, -1) @@ -366,11 +370,17 @@ class NavigationDrawerFragmentPresenter @Inject constructor( } } + fun initializeDrawer(drawerLayout: DrawerLayout, toolbar: Toolbar, menuItemId: Int) { + this.drawerLayout = drawerLayout + this.toolbar = toolbar + this.menuItemId = menuItemId + } + /** * Initializes the navigation drawer for the specified [DrawerLayout] and [Toolbar], which the host activity is * expected to provide. The [menuItemId] corresponds to the menu ID of the current activity, for navigation purposes. */ - fun setUpDrawer(drawerLayout: DrawerLayout, toolbar: Toolbar, menuItemId: Int) { + private fun setUpDrawer(drawerLayout: DrawerLayout, toolbar: Toolbar, menuItemId: Int) { previousMenuItemId = if (activity is TopicActivity) null else menuItemId if (menuItemId != 0 && menuItemId != -1) { getFooterViewModel().isAdministratorControlsSelected.set(false) @@ -407,7 +417,6 @@ class NavigationDrawerFragmentPresenter @Inject constructor( true } } - this.drawerLayout = drawerLayout drawerToggle = object : ActionBarDrawerToggle( fragment.activity, drawerLayout, @@ -446,7 +455,6 @@ class NavigationDrawerFragmentPresenter @Inject constructor( // For showing navigation drawer in DeveloperOptionsActivity else if (menuItemId == -1) getFooterViewModel().isDeveloperOptionsSelected.set(true) uncheckAllMenuItemsWhenAdministratorControlsOrDeveloperOptionsIsSelected() - this.drawerLayout = drawerLayout drawerToggle = object : ActionBarDrawerToggle( fragment.activity, drawerLayout, diff --git a/app/src/main/java/org/oppia/android/app/help/HelpActivityPresenter.kt b/app/src/main/java/org/oppia/android/app/help/HelpActivityPresenter.kt index 29f2aa8123b..c2aefe143bd 100644 --- a/app/src/main/java/org/oppia/android/app/help/HelpActivityPresenter.kt +++ b/app/src/main/java/org/oppia/android/app/help/HelpActivityPresenter.kt @@ -192,7 +192,7 @@ class HelpActivityPresenter @Inject constructor( .findFragmentById( R.id.help_activity_fragment_navigation_drawer ) as NavigationDrawerFragment - navigationDrawerFragment.setUpDrawer( + navigationDrawerFragment.initializeDrawer( activity.findViewById(R.id.help_activity_drawer_layout) as DrawerLayout, toolbar, R.id.nav_help ) diff --git a/app/src/main/java/org/oppia/android/app/home/HomeActivityPresenter.kt b/app/src/main/java/org/oppia/android/app/home/HomeActivityPresenter.kt index 83e65950b7f..3cfb9401217 100644 --- a/app/src/main/java/org/oppia/android/app/home/HomeActivityPresenter.kt +++ b/app/src/main/java/org/oppia/android/app/home/HomeActivityPresenter.kt @@ -49,7 +49,7 @@ class HomeActivityPresenter @Inject constructor(private val activity: AppCompatA navigationDrawerFragment = activity .supportFragmentManager .findFragmentById(R.id.home_activity_fragment_navigation_drawer) as NavigationDrawerFragment - navigationDrawerFragment!!.setUpDrawer( + navigationDrawerFragment!!.initializeDrawer( activity.findViewById(R.id.home_activity_drawer_layout) as DrawerLayout, toolbar, R.id.nav_home ) diff --git a/app/src/main/java/org/oppia/android/app/options/OptionsActivityPresenter.kt b/app/src/main/java/org/oppia/android/app/options/OptionsActivityPresenter.kt index 6193d3a337e..220a054502b 100644 --- a/app/src/main/java/org/oppia/android/app/options/OptionsActivityPresenter.kt +++ b/app/src/main/java/org/oppia/android/app/options/OptionsActivityPresenter.kt @@ -72,7 +72,7 @@ class OptionsActivityPresenter @Inject constructor( .findFragmentById( R.id.options_activity_fragment_navigation_drawer ) as NavigationDrawerFragment - navigationDrawerFragment!!.setUpDrawer( + navigationDrawerFragment!!.initializeDrawer( activity.findViewById(R.id.options_activity_drawer_layout) as DrawerLayout, toolbar, R.id.nav_options ) From c85a6e6e4c0a2b32cf9da5b94bf09e1109ec981e Mon Sep 17 00:00:00 2001 From: Adhiambo Peres <59600948+adhiamboperes@users.noreply.github.com> Date: Tue, 5 Dec 2023 03:46:50 +0300 Subject: [PATCH 4/5] Add androidx.fragment dependency to bazel --- app/BUILD.bazel | 1 + testing/BUILD.bazel | 1 + third_party/maven_install.json | 73 +++++++++++++++++++++++++++++++--- third_party/versions.bzl | 1 + 4 files changed, 71 insertions(+), 5 deletions(-) diff --git a/app/BUILD.bazel b/app/BUILD.bazel index 32677435108..08a318089e9 100644 --- a/app/BUILD.bazel +++ b/app/BUILD.bazel @@ -660,6 +660,7 @@ kt_android_library( "//third_party:androidx_core_core-ktx", "//third_party:androidx_databinding_databinding-common", "//third_party:androidx_databinding_databinding-runtime", + "//third_party:androidx_fragment_fragment", "//third_party:circularimageview_circular_image_view", "//utility/src/main/java/org/oppia/android/util/accessibility", "//utility/src/main/java/org/oppia/android/util/parser/html:html_parser", diff --git a/testing/BUILD.bazel b/testing/BUILD.bazel index 9bed8754f08..781295d32dc 100644 --- a/testing/BUILD.bazel +++ b/testing/BUILD.bazel @@ -43,6 +43,7 @@ kt_android_library( "//testing/src/main/java/org/oppia/android/testing/threading:test_coroutine_dispatchers", "//testing/src/main/java/org/oppia/android/testing/time:fake_oppia_clock", "//third_party:androidx_core_core-ktx", + "//third_party:androidx_fragment_fragment", "//third_party:androidx_lifecycle_lifecycle-livedata-ktx", "//third_party:androidx_test_espresso_espresso-accessibility", "//third_party:androidx_test_espresso_espresso-contrib", diff --git a/third_party/maven_install.json b/third_party/maven_install.json index 6ac87f7eab6..9a16539c7e4 100644 --- a/third_party/maven_install.json +++ b/third_party/maven_install.json @@ -1,11 +1,12 @@ { "dependency_tree": { "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", - "__INPUT_ARTIFACTS_HASH": 521507787, - "__RESOLVED_ARTIFACTS_HASH": -1467267841, + "__INPUT_ARTIFACTS_HASH": -191893468, + "__RESOLVED_ARTIFACTS_HASH": 529067511, "conflict_resolution": { "androidx.constraintlayout:constraintlayout:1.1.3": "androidx.constraintlayout:constraintlayout:2.0.1", "androidx.core:core:1.0.1": "androidx.core:core:1.3.1", + "androidx.fragment:fragment:1.1.0": "androidx.fragment:fragment:1.2.0", "androidx.recyclerview:recyclerview:1.0.0": "androidx.recyclerview:recyclerview:1.1.0", "androidx.test:core:1.0.0": "androidx.test:core:1.4.0", "com.google.guava:guava:28.1-android": "com.google.guava:guava:30.1.1-android", @@ -340,17 +341,26 @@ "coord": "androidx.appcompat:appcompat:1.2.0", "dependencies": [ "androidx.interpolator:interpolator:aar:1.0.0", + "androidx.lifecycle:lifecycle-common:2.2.0", "androidx.annotation:annotation:1.1.0", + "androidx.savedstate:savedstate:aar:1.0.0", "androidx.collection:collection:1.1.0", + "androidx.activity:activity:aar:1.1.0", + "androidx.lifecycle:lifecycle-livedata:aar:2.2.0", "androidx.vectordrawable:vectordrawable:aar:1.1.0", "androidx.cursoradapter:cursoradapter:aar:1.0.0", "androidx.fragment:fragment:aar:1.2.0", "androidx.drawerlayout:drawerlayout:aar:1.1.0", "androidx.appcompat:appcompat-resources:aar:1.2.0", "androidx.core:core:aar:1.3.1", + "androidx.lifecycle:lifecycle-viewmodel:aar:2.2.0", + "androidx.arch.core:core-common:2.1.0", "androidx.lifecycle:lifecycle-runtime:aar:2.2.0", "androidx.vectordrawable:vectordrawable-animated:aar:1.1.0", - "androidx.versionedparcelable:versionedparcelable:aar:1.1.0" + "androidx.versionedparcelable:versionedparcelable:aar:1.1.0", + "androidx.viewpager:viewpager:aar:1.0.0", + "androidx.loader:loader:aar:1.0.0", + "androidx.customview:customview:aar:1.1.0" ], "directDependencies": [ "androidx.annotation:annotation:1.1.0", @@ -377,15 +387,24 @@ "dependencies": [ "androidx.versionedparcelable:versionedparcelable:aar:sources:1.1.0", "androidx.vectordrawable:vectordrawable-animated:aar:sources:1.1.0", + "androidx.lifecycle:lifecycle-viewmodel:aar:sources:2.2.0", "androidx.core:core:aar:sources:1.3.1", "androidx.lifecycle:lifecycle-runtime:aar:sources:2.2.0", "androidx.fragment:fragment:aar:sources:1.2.0", "androidx.drawerlayout:drawerlayout:aar:sources:1.1.0", "androidx.collection:collection:jar:sources:1.1.0", + "androidx.viewpager:viewpager:aar:sources:1.0.0", + "androidx.lifecycle:lifecycle-livedata:aar:sources:2.2.0", "androidx.interpolator:interpolator:aar:sources:1.0.0", "androidx.cursoradapter:cursoradapter:aar:sources:1.0.0", "androidx.annotation:annotation:jar:sources:1.1.0", + "androidx.savedstate:savedstate:aar:sources:1.0.0", + "androidx.activity:activity:aar:sources:1.1.0", + "androidx.arch.core:core-common:jar:sources:2.1.0", "androidx.appcompat:appcompat-resources:aar:sources:1.2.0", + "androidx.customview:customview:aar:sources:1.1.0", + "androidx.lifecycle:lifecycle-common:jar:sources:2.2.0", + "androidx.loader:loader:aar:sources:1.0.0", "androidx.vectordrawable:vectordrawable:aar:sources:1.1.0" ], "directDependencies": [ @@ -638,8 +657,12 @@ "dependencies": [ "androidx.constraintlayout:constraintlayout-solver:2.0.1", "androidx.interpolator:interpolator:aar:1.0.0", + "androidx.lifecycle:lifecycle-common:2.2.0", "androidx.annotation:annotation:1.1.0", + "androidx.savedstate:savedstate:aar:1.0.0", "androidx.collection:collection:1.1.0", + "androidx.activity:activity:aar:1.1.0", + "androidx.lifecycle:lifecycle-livedata:aar:2.2.0", "androidx.vectordrawable:vectordrawable:aar:1.1.0", "androidx.cursoradapter:cursoradapter:aar:1.0.0", "androidx.fragment:fragment:aar:1.2.0", @@ -647,10 +670,15 @@ "androidx.appcompat:appcompat-resources:aar:1.2.0", "androidx.core:core:aar:1.3.1", "androidx.core:core:1.3.1", + "androidx.lifecycle:lifecycle-viewmodel:aar:2.2.0", + "androidx.arch.core:core-common:2.1.0", "androidx.lifecycle:lifecycle-runtime:aar:2.2.0", "androidx.vectordrawable:vectordrawable-animated:aar:1.1.0", "androidx.versionedparcelable:versionedparcelable:aar:1.1.0", - "androidx.appcompat:appcompat:1.2.0" + "androidx.viewpager:viewpager:aar:1.0.0", + "androidx.appcompat:appcompat:1.2.0", + "androidx.loader:loader:aar:1.0.0", + "androidx.customview:customview:aar:1.1.0" ], "directDependencies": [ "androidx.appcompat:appcompat:1.2.0", @@ -3891,11 +3919,20 @@ { "coord": "androidx.viewpager2:viewpager2:1.0.0", "dependencies": [ + "androidx.lifecycle:lifecycle-common:2.2.0", "androidx.annotation:annotation:1.1.0", + "androidx.savedstate:savedstate:aar:1.0.0", "androidx.collection:collection:1.1.0", + "androidx.activity:activity:aar:1.1.0", + "androidx.lifecycle:lifecycle-livedata:aar:2.2.0", "androidx.recyclerview:recyclerview:aar:1.1.0", "androidx.fragment:fragment:aar:1.2.0", "androidx.core:core:aar:1.3.1", + "androidx.lifecycle:lifecycle-viewmodel:aar:2.2.0", + "androidx.arch.core:core-common:2.1.0", + "androidx.lifecycle:lifecycle-runtime:aar:2.2.0", + "androidx.viewpager:viewpager:aar:1.0.0", + "androidx.loader:loader:aar:1.0.0", "androidx.customview:customview:aar:1.1.0" ], "directDependencies": [ @@ -3919,12 +3956,21 @@ { "coord": "androidx.viewpager2:viewpager2:jar:sources:1.0.0", "dependencies": [ + "androidx.lifecycle:lifecycle-viewmodel:aar:sources:2.2.0", "androidx.core:core:aar:sources:1.3.1", + "androidx.lifecycle:lifecycle-runtime:aar:sources:2.2.0", "androidx.fragment:fragment:aar:sources:1.2.0", "androidx.collection:collection:jar:sources:1.1.0", + "androidx.viewpager:viewpager:aar:sources:1.0.0", "androidx.recyclerview:recyclerview:aar:sources:1.1.0", + "androidx.lifecycle:lifecycle-livedata:aar:sources:2.2.0", "androidx.annotation:annotation:jar:sources:1.1.0", - "androidx.customview:customview:aar:sources:1.1.0" + "androidx.savedstate:savedstate:aar:sources:1.0.0", + "androidx.activity:activity:aar:sources:1.1.0", + "androidx.arch.core:core-common:jar:sources:2.1.0", + "androidx.customview:customview:aar:sources:1.1.0", + "androidx.lifecycle:lifecycle-common:jar:sources:2.2.0", + "androidx.loader:loader:aar:sources:1.0.0" ], "directDependencies": [ "androidx.core:core:aar:sources:1.3.1", @@ -5283,12 +5329,15 @@ "androidx.constraintlayout:constraintlayout-solver:2.0.1", "androidx.dynamicanimation:dynamicanimation:1.0.0", "androidx.interpolator:interpolator:aar:1.0.0", + "androidx.lifecycle:lifecycle-common:2.2.0", "androidx.annotation:annotation:1.1.0", + "androidx.savedstate:savedstate:aar:1.0.0", "androidx.vectordrawable:vectordrawable:1.1.0", "androidx.collection:collection:1.1.0", "androidx.localbroadcastmanager:localbroadcastmanager:aar:1.0.0", "androidx.legacy:legacy-support-core-utils:aar:1.0.0", "androidx.slidingpanelayout:slidingpanelayout:aar:1.0.0", + "androidx.activity:activity:aar:1.1.0", "androidx.cardview:cardview:1.0.0", "androidx.lifecycle:lifecycle-livedata:aar:2.2.0", "androidx.vectordrawable:vectordrawable:aar:1.1.0", @@ -5306,6 +5355,7 @@ "androidx.coordinatorlayout:coordinatorlayout:1.1.0", "androidx.print:print:aar:1.0.0", "androidx.lifecycle:lifecycle-viewmodel:aar:2.2.0", + "androidx.arch.core:core-common:2.1.0", "androidx.lifecycle:lifecycle-runtime:aar:2.2.0", "androidx.vectordrawable:vectordrawable-animated:aar:1.1.0", "androidx.versionedparcelable:versionedparcelable:aar:1.1.0", @@ -5381,11 +5431,15 @@ "androidx.interpolator:interpolator:aar:sources:1.0.0", "androidx.cursoradapter:cursoradapter:aar:sources:1.0.0", "androidx.annotation:annotation:jar:sources:1.1.0", + "androidx.savedstate:savedstate:aar:sources:1.0.0", "androidx.slidingpanelayout:slidingpanelayout:aar:sources:1.0.0", + "androidx.activity:activity:aar:sources:1.1.0", + "androidx.arch.core:core-common:jar:sources:2.1.0", "androidx.appcompat:appcompat-resources:aar:sources:1.2.0", "androidx.customview:customview:aar:sources:1.1.0", "androidx.constraintlayout:constraintlayout:jar:sources:2.0.1", "androidx.lifecycle:lifecycle-runtime:jar:sources:2.2.0", + "androidx.lifecycle:lifecycle-common:jar:sources:2.2.0", "androidx.loader:loader:aar:sources:1.0.0", "androidx.viewpager2:viewpager2:jar:sources:1.0.0", "androidx.appcompat:appcompat:jar:sources:1.2.0", @@ -9806,16 +9860,25 @@ "dependencies": [ "androidx.versionedparcelable:versionedparcelable:aar:sources:1.1.0", "androidx.vectordrawable:vectordrawable-animated:aar:sources:1.1.0", + "androidx.lifecycle:lifecycle-viewmodel:aar:sources:2.2.0", "androidx.core:core:aar:sources:1.3.1", "androidx.lifecycle:lifecycle-runtime:aar:sources:2.2.0", "androidx.fragment:fragment:aar:sources:1.2.0", "androidx.core:core:jar:sources:1.3.1", "androidx.drawerlayout:drawerlayout:aar:sources:1.1.0", "androidx.collection:collection:jar:sources:1.1.0", + "androidx.viewpager:viewpager:aar:sources:1.0.0", + "androidx.lifecycle:lifecycle-livedata:aar:sources:2.2.0", "androidx.interpolator:interpolator:aar:sources:1.0.0", "androidx.cursoradapter:cursoradapter:aar:sources:1.0.0", "androidx.annotation:annotation:jar:sources:1.1.0", + "androidx.savedstate:savedstate:aar:sources:1.0.0", + "androidx.activity:activity:aar:sources:1.1.0", + "androidx.arch.core:core-common:jar:sources:2.1.0", "androidx.appcompat:appcompat-resources:aar:sources:1.2.0", + "androidx.customview:customview:aar:sources:1.1.0", + "androidx.lifecycle:lifecycle-common:jar:sources:2.2.0", + "androidx.loader:loader:aar:sources:1.0.0", "androidx.appcompat:appcompat:jar:sources:1.2.0", "androidx.constraintlayout:constraintlayout-solver:jar:sources:2.0.1", "androidx.vectordrawable:vectordrawable:aar:sources:1.1.0" diff --git a/third_party/versions.bzl b/third_party/versions.bzl index b51f0c4b457..0adcee01dd9 100644 --- a/third_party/versions.bzl +++ b/third_party/versions.bzl @@ -25,6 +25,7 @@ MAVEN_PRODUCTION_DEPENDENCY_VERSIONS = { "androidx.constraintlayout:constraintlayout": "1.1.3", "androidx.core:core": "1.0.1", "androidx.core:core-ktx": "1.0.1", + "androidx.fragment:fragment": "1.1.0", "androidx.databinding:databinding-adapters": "3.4.2", "androidx.databinding:databinding-common": "3.4.2", "androidx.databinding:databinding-compiler": "3.4.2", From 6ed868c7f945dfcc339be0d28effaf261c644393 Mon Sep 17 00:00:00 2001 From: Saptak Manna Date: Tue, 5 Dec 2023 13:35:08 +0530 Subject: [PATCH 5/5] Reorders dependency --- third_party/versions.bzl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third_party/versions.bzl b/third_party/versions.bzl index 0adcee01dd9..c641a520f8a 100644 --- a/third_party/versions.bzl +++ b/third_party/versions.bzl @@ -25,12 +25,12 @@ MAVEN_PRODUCTION_DEPENDENCY_VERSIONS = { "androidx.constraintlayout:constraintlayout": "1.1.3", "androidx.core:core": "1.0.1", "androidx.core:core-ktx": "1.0.1", - "androidx.fragment:fragment": "1.1.0", "androidx.databinding:databinding-adapters": "3.4.2", "androidx.databinding:databinding-common": "3.4.2", "androidx.databinding:databinding-compiler": "3.4.2", "androidx.databinding:databinding-runtime": "3.4.2", "androidx.drawerlayout:drawerlayout": "1.1.0", + "androidx.fragment:fragment": "1.1.0", "androidx.lifecycle:lifecycle-extensions": "2.2.0", "androidx.lifecycle:lifecycle-livedata-core": "2.2.0", "androidx.lifecycle:lifecycle-livedata-ktx": "2.2.0",