Upgrade Navigation to use Activity 1.2.2, ToT Fragments

In preparation for navigation-fragment using the
multiple back stacks APIs added in the latest
version of Fragments, update the dependencies in
Navigation to use the latest stable Activity release
(1.2.2) and the tip-of-tree version of Fragments.

By necessity, this updates usages of deprecated
Fragment APIs (namely, startIntentSenderForResult()
and onActivityResult) to their replacements.

Relnote: "Navigation Runtime now depends on
[Activity `1.2.2`](/jetpack/androidx/releases/activity#1.2.2)."
Test: existing navigation-fragment tests still pass
BUG: 80029773

Change-Id: Iad6bec4af04c4ad748277fe7f99b87c7f5698ec6
diff --git a/navigation/navigation-dynamic-features-fragment/src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt b/navigation/navigation-dynamic-features-fragment/src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt
index d6b50c5..04f050c 100644
--- a/navigation/navigation-dynamic-features-fragment/src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt
+++ b/navigation/navigation-dynamic-features-fragment/src/main/java/androidx/navigation/dynamicfeatures/fragment/ui/AbstractProgressFragment.kt
@@ -17,11 +17,12 @@
 package androidx.navigation.dynamicfeatures.fragment.ui
 
 import android.app.Activity
-import android.content.Intent
 import android.content.IntentSender
 import android.os.Bundle
 import android.util.Log
 import android.view.View
+import androidx.activity.result.IntentSenderRequest
+import androidx.activity.result.contract.ActivityResultContracts
 import androidx.annotation.RestrictTo
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.viewModels
@@ -66,6 +67,14 @@
 
     public constructor(contentLayoutId: Int) : super(contentLayoutId)
 
+    private val intentSenderLauncher = registerForActivityResult(
+        ActivityResultContracts.StartIntentSenderForResult()
+    ) { result ->
+        if (result.resultCode == Activity.RESULT_CANCELED) {
+            onCancelled()
+        }
+    }
+
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         if (savedInstanceState != null) {
@@ -137,20 +146,17 @@
                             splitInstallManager.startConfirmationDialogForResult(
                                 sessionState,
                                 IntentSenderForResultStarter { intent,
-                                    requestCode,
+                                    _,
                                     fillInIntent,
                                     flagsMask,
                                     flagsValues,
-                                    extraFlags,
-                                    options ->
-                                    startIntentSenderForResult(
-                                        intent,
-                                        requestCode,
-                                        fillInIntent,
-                                        flagsMask,
-                                        flagsValues,
-                                        extraFlags,
-                                        options
+                                    _,
+                                    _ ->
+                                    intentSenderLauncher.launch(
+                                        IntentSenderRequest.Builder(intent)
+                                            .setFillInIntent(fillInIntent)
+                                            .setFlags(flagsValues, flagsMask)
+                                            .build()
                                     )
                                 },
                                 INSTALL_REQUEST_CODE
@@ -178,15 +184,6 @@
         }
     }
 
-    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
-        super.onActivityResult(requestCode, resultCode, data)
-        if (requestCode == INSTALL_REQUEST_CODE) {
-            if (resultCode == Activity.RESULT_CANCELED) {
-                onCancelled()
-            }
-        }
-    }
-
     /**
      * Called when there was a progress update for an active module download.
      *
diff --git a/navigation/navigation-fragment/build.gradle b/navigation/navigation-fragment/build.gradle
index d90c892..cb93aa6 100644
--- a/navigation/navigation-fragment/build.gradle
+++ b/navigation/navigation-fragment/build.gradle
@@ -27,11 +27,11 @@
 }
 
 dependencies {
-    api("androidx.fragment:fragment-ktx:1.2.4")
+    api(projectOrArtifact(":fragment:fragment-ktx"))
     api(project(":navigation:navigation-runtime-ktx"))
 
     api(KOTLIN_STDLIB)
-    androidTestImplementation("androidx.fragment:fragment-testing:1.3.2")
+    androidTestImplementation(projectOrArtifact(":fragment:fragment-testing"))
     androidTestImplementation(ANDROIDX_TEST_EXT_JUNIT)
     androidTestImplementation(ANDROIDX_TEST_CORE)
     androidTestImplementation(ANDROIDX_TEST_RUNNER)
diff --git a/navigation/navigation-runtime/build.gradle b/navigation/navigation-runtime/build.gradle
index 9651e40..19a91d6 100644
--- a/navigation/navigation-runtime/build.gradle
+++ b/navigation/navigation-runtime/build.gradle
@@ -29,7 +29,7 @@
 
 dependencies {
     api(project(":navigation:navigation-common-ktx"))
-    api("androidx.activity:activity-ktx:1.1.0")
+    api("androidx.activity:activity-ktx:1.2.2")
     api("androidx.lifecycle:lifecycle-runtime-ktx:2.3.1")
     api("androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1")
     api("androidx.savedstate:savedstate:1.0.0")