diff options
author | 2023-12-01 13:48:32 -0500 | |
---|---|---|
committer | 2024-01-18 21:10:00 -0500 | |
commit | 5e5dd511a3031df38dfe35ca741e31ca9f0eec65 (patch) | |
tree | d07a6d2a468abc339630081ffb6a654ca4dde8a8 /tests/activity | |
parent | 99c9828d732ff25c87e8b41e386131dae70b4652 (diff) |
Refactor ChooserRequestParameters usage
Creates ChooserRequest data class
Uses validation lib to implement parsing of source data
Introduces ChooserViewModel as a new target to begin migration of
control flow, data and dependencies out of ChooserActivity and into
smaller testable units.
Test: atest IntentResolver-tests-activity:com.android.intentresolver.v2
Bug: 309960444
Change-Id: I39b3517ec9e17525441d349b3da139ad5956c600
Diffstat (limited to 'tests/activity')
3 files changed, 18 insertions, 14 deletions
diff --git a/tests/activity/src/com/android/intentresolver/v2/ChooserWrapperActivity.java b/tests/activity/src/com/android/intentresolver/v2/ChooserWrapperActivity.java index 0b268905..e7c8cce3 100644 --- a/tests/activity/src/com/android/intentresolver/v2/ChooserWrapperActivity.java +++ b/tests/activity/src/com/android/intentresolver/v2/ChooserWrapperActivity.java @@ -40,6 +40,7 @@ import com.android.intentresolver.chooser.DisplayResolveInfo; import com.android.intentresolver.chooser.TargetInfo; import com.android.intentresolver.emptystate.CrossProfileIntentsChecker; import com.android.intentresolver.shortcuts.ShortcutLoader; +import com.android.intentresolver.v2.ui.model.ChooserRequest; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import java.util.List; @@ -54,12 +55,14 @@ public class ChooserWrapperActivity extends ChooserActivity implements IChooserW private UsageStatsManager mUsm; @Override - protected final ActivityLogic createActivityLogic() { + protected final ChooserActivityLogic createActivityLogic(ChooserRequest chooserRequest) { return new TestChooserActivityLogic( - "ChooserWrapper", - /* activity = */ this, - this::onWorkProfileStatusUpdated, - sOverrides); + "ChooserWrapper", + /* activity = */ this, + this::onWorkProfileStatusUpdated, + chooserRequest, + sOverrides.annotatedUserHandles, + sOverrides.mWorkProfileAvailability); } // ResolverActivity (the base class of ChooserActivity) inspects the launched-from UID at diff --git a/tests/activity/src/com/android/intentresolver/v2/ResolverWrapperActivity.java b/tests/activity/src/com/android/intentresolver/v2/ResolverWrapperActivity.java index d06b7929..9eaf9261 100644 --- a/tests/activity/src/com/android/intentresolver/v2/ResolverWrapperActivity.java +++ b/tests/activity/src/com/android/intentresolver/v2/ResolverWrapperActivity.java @@ -61,7 +61,7 @@ public class ResolverWrapperActivity extends ResolverActivity { new CountingIdlingResource("LoadLabelTask"); @Override - protected final ActivityLogic createActivityLogic() { + protected final ResolverActivityLogic createActivityLogic() { return new TestResolverActivityLogic( "ResolverWrapper", this, diff --git a/tests/activity/src/com/android/intentresolver/v2/TestChooserActivityLogic.kt b/tests/activity/src/com/android/intentresolver/v2/TestChooserActivityLogic.kt index 0849e511..3c22254a 100644 --- a/tests/activity/src/com/android/intentresolver/v2/TestChooserActivityLogic.kt +++ b/tests/activity/src/com/android/intentresolver/v2/TestChooserActivityLogic.kt @@ -3,25 +3,26 @@ package com.android.intentresolver.v2 import androidx.activity.ComponentActivity import com.android.intentresolver.AnnotatedUserHandles import com.android.intentresolver.WorkProfileAvailabilityManager +import com.android.intentresolver.v2.ui.model.ChooserRequest /** Activity logic for use when testing [ChooserActivity]. */ class TestChooserActivityLogic( tag: String, activity: ComponentActivity, onWorkProfileStatusUpdated: () -> Unit, - private val overrideData: ChooserActivityOverrideData, + chooserRequest: ChooserRequest? = null, + private val annotatedUserHandlesOverride: AnnotatedUserHandles?, + private val workProfileAvailabilityOverride: WorkProfileAvailabilityManager?, ) : ChooserActivityLogic( tag, activity, onWorkProfileStatusUpdated, + chooserRequest, ) { + override val annotatedUserHandles: AnnotatedUserHandles? + get() = annotatedUserHandlesOverride ?: super.annotatedUserHandles - override val annotatedUserHandles: AnnotatedUserHandles? by lazy { - overrideData.annotatedUserHandles - } - - override val workProfileAvailabilityManager: WorkProfileAvailabilityManager by lazy { - overrideData.mWorkProfileAvailability ?: super.workProfileAvailabilityManager - } + override val workProfileAvailabilityManager: WorkProfileAvailabilityManager + get() = workProfileAvailabilityOverride ?: super.workProfileAvailabilityManager } |