diff options
10 files changed, 39 insertions, 201 deletions
diff --git a/java/src/com/android/intentresolver/ChooserActivity.java b/java/src/com/android/intentresolver/ChooserActivity.java index 54f575d7..3ff296a2 100644 --- a/java/src/com/android/intentresolver/ChooserActivity.java +++ b/java/src/com/android/intentresolver/ChooserActivity.java @@ -23,9 +23,14 @@ import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTE import static androidx.lifecycle.LifecycleKt.getCoroutineScope; import static com.android.intentresolver.ChooserActionFactory.EDIT_SOURCE; +import static com.android.intentresolver.Flags.fixDrawerOffsetOnConfigChange; +import static com.android.intentresolver.Flags.fixEmptyStatePaddingBug; +import static com.android.intentresolver.Flags.fixMissingDrawerOffsetCalculation; +import static com.android.intentresolver.Flags.fixPrivateSpaceLockedOnRestart; import static com.android.intentresolver.Flags.fixShortcutsFlashing; import static com.android.intentresolver.Flags.keyboardNavigationFix; import static com.android.intentresolver.Flags.rebuildAdaptersOnTargetPinning; +import static com.android.intentresolver.Flags.refineSystemActions; import static com.android.intentresolver.Flags.shareouselUpdateExcludeComponentsExtra; import static com.android.intentresolver.Flags.unselectFinalItem; import static com.android.intentresolver.ext.CreationExtrasExtKt.replaceDefaultArgs; @@ -256,7 +261,6 @@ public class ChooserActivity extends Hilt_ChooserActivity implements @Inject public UserInteractor mUserInteractor; @Inject @Background public CoroutineDispatcher mBackgroundDispatcher; @Inject public ChooserHelper mChooserHelper; - @Inject public FeatureFlags mFeatureFlags; @Inject public EventLog mEventLog; @Inject @AppPredictionAvailable public boolean mAppPredictionAvailable; @Inject @ImageEditor public Optional<ComponentName> mImageEditor; @@ -422,7 +426,7 @@ public class ChooserActivity extends Hilt_ChooserActivity implements @Override protected final void onRestart() { super.onRestart(); - if (mFeatureFlags.fixPrivateSpaceLockedOnRestart()) { + if (fixPrivateSpaceLockedOnRestart()) { if (mChooserMultiProfilePagerAdapter.hasPageForProfile(Profile.Type.PRIVATE.ordinal()) && !mProfileAvailability.isAvailable(mProfiles.getPrivateProfile())) { Log.d(TAG, "Exiting due to unavailable profile"); @@ -481,9 +485,7 @@ public class ChooserActivity extends Hilt_ChooserActivity implements mProfiles = new ProfileHelper( mUserInteractor, - getCoroutineScope(getLifecycle()), - mBackgroundDispatcher, - mFeatureFlags); + mBackgroundDispatcher); mProfileAvailability = new ProfileAvailability( mUserInteractor, @@ -2073,8 +2075,7 @@ public class ChooserActivity extends Hilt_ChooserActivity implements }, chooserListAdapter, shouldShowContentPreview(), - mMaxTargetsPerRow, - mFeatureFlags); + mMaxTargetsPerRow); } @VisibleForTesting @@ -2168,7 +2169,7 @@ public class ChooserActivity extends Hilt_ChooserActivity implements private ChooserContentPreviewUi.ActionFactory decorateActionFactoryWithRefinement( ChooserContentPreviewUi.ActionFactory originalFactory) { - if (!mFeatureFlags.refineSystemActions()) { + if (!refineSystemActions()) { return originalFactory; } @@ -2317,7 +2318,7 @@ public class ChooserActivity extends Hilt_ChooserActivity implements if (isLayoutUpdated || insetsChanged || mLastNumberOfChildren != recyclerView.getChildCount() - || mFeatureFlags.fixMissingDrawerOffsetCalculation()) { + || fixMissingDrawerOffsetCalculation()) { mCurrAvailableWidth = availableWidth; if (isLayoutUpdated) { // It is very important we call setAdapter from here. Otherwise in some cases @@ -2331,7 +2332,7 @@ public class ChooserActivity extends Hilt_ChooserActivity implements } int currentProfile = mChooserMultiProfilePagerAdapter.getActiveProfile(); - int initialProfile = Flags.fixDrawerOffsetOnConfigChange() + int initialProfile = fixDrawerOffsetOnConfigChange() ? mInitialProfile : findSelectedProfile(); if (currentProfile != initialProfile) { @@ -2339,7 +2340,7 @@ public class ChooserActivity extends Hilt_ChooserActivity implements } if (mLastNumberOfChildren == recyclerView.getChildCount() && !insetsChanged - && !mFeatureFlags.fixMissingDrawerOffsetCalculation()) { + && !fixMissingDrawerOffsetCalculation()) { return; } @@ -2690,7 +2691,7 @@ public class ChooserActivity extends Hilt_ChooserActivity implements protected WindowInsets onApplyWindowInsets(View v, WindowInsets insets) { mSystemWindowInsets = insets.getInsets(WindowInsets.Type.systemBars()); - if (mFeatureFlags.fixEmptyStatePaddingBug() || mProfiles.getWorkProfilePresent()) { + if (fixEmptyStatePaddingBug() || mProfiles.getWorkProfilePresent()) { mChooserMultiProfilePagerAdapter .setEmptyStateBottomOffset(mSystemWindowInsets.bottom); } diff --git a/java/src/com/android/intentresolver/ProfileHelper.kt b/java/src/com/android/intentresolver/ProfileHelper.kt index 53a873a3..b87f7e3f 100644 --- a/java/src/com/android/intentresolver/ProfileHelper.kt +++ b/java/src/com/android/intentresolver/ProfileHelper.kt @@ -20,12 +20,10 @@ import android.os.UserHandle import androidx.annotation.MainThread import com.android.intentresolver.annotation.JavaInterop import com.android.intentresolver.domain.interactor.UserInteractor -import com.android.intentresolver.inject.IntentResolverFlags import com.android.intentresolver.shared.model.Profile import com.android.intentresolver.shared.model.User import javax.inject.Inject import kotlinx.coroutines.CoroutineDispatcher -import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.first import kotlinx.coroutines.runBlocking @@ -33,12 +31,7 @@ import kotlinx.coroutines.runBlocking @MainThread class ProfileHelper @Inject -constructor( - interactor: UserInteractor, - private val scope: CoroutineScope, - private val background: CoroutineDispatcher, - private val flags: IntentResolverFlags, -) { +constructor(interactor: UserInteractor, private val background: CoroutineDispatcher) { private val launchedByHandle: UserHandle = interactor.launchedAs val launchedAsProfile by lazy { diff --git a/java/src/com/android/intentresolver/ResolverActivity.java b/java/src/com/android/intentresolver/ResolverActivity.java index 38259281..a63b3a98 100644 --- a/java/src/com/android/intentresolver/ResolverActivity.java +++ b/java/src/com/android/intentresolver/ResolverActivity.java @@ -148,7 +148,6 @@ public class ResolverActivity extends Hilt_ResolverActivity implements @Inject public DevicePolicyResources mDevicePolicyResources; @Inject public ProfilePagerResources mProfilePagerResources; @Inject public IntentForwarding mIntentForwarding; - @Inject public FeatureFlags mFeatureFlags; @Inject public ActivityModelRepository mActivityModelRepository; @Inject public DefaultTargetDataLoader.Factory mTargetDataLoaderFactory; @@ -323,9 +322,7 @@ public class ResolverActivity extends Hilt_ResolverActivity implements mProfiles = new ProfileHelper( mUserInteractor, - getCoroutineScope(getLifecycle()), - mBackgroundDispatcher, - mFeatureFlags); + mBackgroundDispatcher); mProfileAvailability = new ProfileAvailability( mUserInteractor, diff --git a/java/src/com/android/intentresolver/contentpreview/ImageLoaderModule.kt b/java/src/com/android/intentresolver/contentpreview/ImageLoaderModule.kt index 27e817db..7df98cd2 100644 --- a/java/src/com/android/intentresolver/contentpreview/ImageLoaderModule.kt +++ b/java/src/com/android/intentresolver/contentpreview/ImageLoaderModule.kt @@ -17,7 +17,7 @@ package com.android.intentresolver.contentpreview import android.content.res.Resources -import com.android.intentresolver.Flags +import com.android.intentresolver.Flags.previewImageLoader import com.android.intentresolver.R import com.android.intentresolver.inject.ApplicationOwned import dagger.Binds @@ -36,9 +36,9 @@ interface ImageLoaderModule { @Provides fun imageLoader( imagePreviewImageLoader: Provider<ImagePreviewImageLoader>, - previewImageLoader: Provider<PreviewImageLoader> + previewImageLoader: Provider<PreviewImageLoader>, ): ImageLoader = - if (Flags.previewImageLoader()) { + if (previewImageLoader()) { previewImageLoader.get() } else { imagePreviewImageLoader.get() diff --git a/java/src/com/android/intentresolver/contentpreview/payloadtoggle/ui/viewmodel/ShareouselViewModel.kt b/java/src/com/android/intentresolver/contentpreview/payloadtoggle/ui/viewmodel/ShareouselViewModel.kt index ebcd58d1..7f363949 100644 --- a/java/src/com/android/intentresolver/contentpreview/payloadtoggle/ui/viewmodel/ShareouselViewModel.kt +++ b/java/src/com/android/intentresolver/contentpreview/payloadtoggle/ui/viewmodel/ShareouselViewModel.kt @@ -16,7 +16,7 @@ package com.android.intentresolver.contentpreview.payloadtoggle.ui.viewmodel import android.util.Size -import com.android.intentresolver.Flags +import com.android.intentresolver.Flags.previewImageLoader import com.android.intentresolver.Flags.unselectFinalItem import com.android.intentresolver.contentpreview.CachingImagePreviewImageLoader import com.android.intentresolver.contentpreview.HeadlineGenerator @@ -65,7 +65,7 @@ data class ShareouselViewModel( /** Creates a [ShareouselPreviewViewModel] for a [PreviewModel] present in [previews]. */ val preview: ( - key: PreviewModel, previewHeight: Int, index: Int?, scope: CoroutineScope + key: PreviewModel, previewHeight: Int, index: Int?, scope: CoroutineScope, ) -> ShareouselPreviewViewModel, ) @@ -77,9 +77,9 @@ object ShareouselViewModelModule { @PayloadToggle fun imageLoader( cachingImageLoader: Provider<CachingImagePreviewImageLoader>, - previewImageLoader: Provider<PreviewImageLoader> + previewImageLoader: Provider<PreviewImageLoader>, ): ImageLoader = - if (Flags.previewImageLoader()) { + if (previewImageLoader()) { previewImageLoader.get() } else { cachingImageLoader.get() @@ -97,12 +97,7 @@ object ShareouselViewModelModule { // TODO: remove if possible @ViewModelOwned scope: CoroutineScope, ): ShareouselViewModel { - val keySet = - interactor.previews.stateIn( - scope, - SharingStarted.Eagerly, - initialValue = null, - ) + val keySet = interactor.previews.stateIn(scope, SharingStarted.Eagerly, initialValue = null) return ShareouselViewModel( headline = selectionInteractor.aggregateContentType.zip(selectionInteractor.amountSelected) { diff --git a/java/src/com/android/intentresolver/grid/ChooserGridAdapter.java b/java/src/com/android/intentresolver/grid/ChooserGridAdapter.java index 9a50d7e4..f78fffd6 100644 --- a/java/src/com/android/intentresolver/grid/ChooserGridAdapter.java +++ b/java/src/com/android/intentresolver/grid/ChooserGridAdapter.java @@ -37,7 +37,6 @@ import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.android.intentresolver.ChooserListAdapter; -import com.android.intentresolver.FeatureFlags; import com.android.intentresolver.R; import com.android.intentresolver.ResolverListAdapter.ViewHolder; @@ -89,7 +88,6 @@ public final class ChooserGridAdapter extends RecyclerView.Adapter<RecyclerView. private final int mMaxTargetsPerRow; private final boolean mShouldShowContentPreview; private final int mChooserRowTextOptionTranslatePixelSize; - private final FeatureFlags mFeatureFlags; @Nullable private RecyclerView mRecyclerView; @@ -104,8 +102,7 @@ public final class ChooserGridAdapter extends RecyclerView.Adapter<RecyclerView. ChooserActivityDelegate chooserActivityDelegate, ChooserListAdapter wrappedAdapter, boolean shouldShowContentPreview, - int maxTargetsPerRow, - FeatureFlags featureFlags) { + int maxTargetsPerRow) { super(); mChooserActivityDelegate = chooserActivityDelegate; @@ -118,7 +115,6 @@ public final class ChooserGridAdapter extends RecyclerView.Adapter<RecyclerView. mChooserRowTextOptionTranslatePixelSize = context.getResources().getDimensionPixelSize( R.dimen.chooser_row_text_option_translate); - mFeatureFlags = featureFlags; wrappedAdapter.registerDataSetObserver(new DataSetObserver() { @Override diff --git a/java/src/com/android/intentresolver/inject/FeatureFlagsModule.kt b/java/src/com/android/intentresolver/inject/FeatureFlagsModule.kt deleted file mode 100644 index d7be67db..00000000 --- a/java/src/com/android/intentresolver/inject/FeatureFlagsModule.kt +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) 2024 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.intentresolver.inject - -import android.service.chooser.FeatureFlagsImpl as ChooserServiceFlagsImpl -import com.android.intentresolver.FeatureFlagsImpl as IntentResolverFlagsImpl -import dagger.Module -import dagger.Provides -import dagger.hilt.InstallIn -import dagger.hilt.components.SingletonComponent - -typealias IntentResolverFlags = com.android.intentresolver.FeatureFlags - -typealias FakeIntentResolverFlags = com.android.intentresolver.FakeFeatureFlagsImpl - -typealias ChooserServiceFlags = android.service.chooser.FeatureFlags - -typealias FakeChooserServiceFlags = android.service.chooser.FakeFeatureFlagsImpl - -@Module -@InstallIn(SingletonComponent::class) -object FeatureFlagsModule { - - @Provides fun intentResolverFlags(): IntentResolverFlags = IntentResolverFlagsImpl() - - @Provides fun chooserServiceFlags(): ChooserServiceFlags = ChooserServiceFlagsImpl() -} diff --git a/tests/shared/src/com/android/intentresolver/inject/ChooserServiceFlagsKosmos.kt b/tests/shared/src/com/android/intentresolver/inject/ChooserServiceFlagsKosmos.kt deleted file mode 100644 index 51dad82a..00000000 --- a/tests/shared/src/com/android/intentresolver/inject/ChooserServiceFlagsKosmos.kt +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (C) 2024 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.intentresolver.inject - -import android.service.chooser.FeatureFlagsImpl -import com.android.systemui.kosmos.Kosmos - -var Kosmos.chooserServiceFlags: ChooserServiceFlags by Kosmos.Fixture { chooserServiceFlagsImpl } -val chooserServiceFlagsImpl: FeatureFlagsImpl - get() = FeatureFlagsImpl() diff --git a/tests/unit/src/com/android/intentresolver/ProfileHelperTest.kt b/tests/unit/src/com/android/intentresolver/ProfileHelperTest.kt index 05d642f7..956c39e9 100644 --- a/tests/unit/src/com/android/intentresolver/ProfileHelperTest.kt +++ b/tests/unit/src/com/android/intentresolver/ProfileHelperTest.kt @@ -16,11 +16,9 @@ package com.android.intentresolver -import com.android.intentresolver.Flags.FLAG_ENABLE_PRIVATE_PROFILE import com.android.intentresolver.annotation.JavaInterop import com.android.intentresolver.data.repository.FakeUserRepository import com.android.intentresolver.domain.interactor.UserInteractor -import com.android.intentresolver.inject.FakeIntentResolverFlags import com.android.intentresolver.shared.model.Profile import com.android.intentresolver.shared.model.User import com.google.common.truth.Truth.assertThat @@ -43,14 +41,11 @@ class ProfileHelperTest { private val privateUser = User(12, User.Role.PRIVATE) private val privateProfile = Profile(Profile.Type.PRIVATE, privateUser) - private val flags = - FakeIntentResolverFlags().apply { setFlag(FLAG_ENABLE_PRIVATE_PROFILE, true) } - private fun assertProfiles( helper: ProfileHelper, personalProfile: Profile, workProfile: Profile? = null, - privateProfile: Profile? = null + privateProfile: Profile? = null, ) { assertThat(helper.personalProfile).isEqualTo(personalProfile) assertThat(helper.personalHandle).isEqualTo(personalProfile.primary.handle) @@ -92,13 +87,7 @@ class ProfileHelperTest { val repository = FakeUserRepository(listOf(personalUser)) val interactor = UserInteractor(repository, launchedAs = personalUser.handle) - val helper = - ProfileHelper( - interactor = interactor, - scope = this, - background = Dispatchers.Unconfined, - flags = flags - ) + val helper = ProfileHelper(interactor = interactor, background = Dispatchers.Unconfined) assertProfiles(helper, personalProfile) @@ -114,13 +103,7 @@ class ProfileHelperTest { val repository = FakeUserRepository(listOf(personalUser, cloneUser)) val interactor = UserInteractor(repository, launchedAs = personalUser.handle) - val helper = - ProfileHelper( - interactor = interactor, - scope = this, - background = Dispatchers.Unconfined, - flags = flags - ) + val helper = ProfileHelper(interactor = interactor, background = Dispatchers.Unconfined) assertProfiles(helper, personalWithCloneProfile) @@ -135,13 +118,7 @@ class ProfileHelperTest { val repository = FakeUserRepository(listOf(personalUser, cloneUser)) val interactor = UserInteractor(repository, launchedAs = cloneUser.handle) - val helper = - ProfileHelper( - interactor = interactor, - scope = this, - background = Dispatchers.Unconfined, - flags = flags - ) + val helper = ProfileHelper(interactor = interactor, background = Dispatchers.Unconfined) assertProfiles(helper, personalWithCloneProfile) @@ -158,13 +135,7 @@ class ProfileHelperTest { val repository = FakeUserRepository(listOf(personalUser, workUser)) val interactor = UserInteractor(repository, launchedAs = personalUser.handle) - val helper = - ProfileHelper( - interactor = interactor, - scope = this, - background = Dispatchers.Unconfined, - flags = flags - ) + val helper = ProfileHelper(interactor = interactor, background = Dispatchers.Unconfined) assertProfiles(helper, personalProfile = personalProfile, workProfile = workProfile) @@ -182,13 +153,7 @@ class ProfileHelperTest { val repository = FakeUserRepository(listOf(personalUser, workUser)) val interactor = UserInteractor(repository, launchedAs = workUser.handle) - val helper = - ProfileHelper( - interactor = interactor, - scope = this, - background = Dispatchers.Unconfined, - flags = flags - ) + val helper = ProfileHelper(interactor = interactor, background = Dispatchers.Unconfined) assertProfiles(helper, personalProfile = personalProfile, workProfile = workProfile) @@ -206,13 +171,7 @@ class ProfileHelperTest { val repository = FakeUserRepository(listOf(personalUser, privateUser)) val interactor = UserInteractor(repository, launchedAs = personalUser.handle) - val helper = - ProfileHelper( - interactor = interactor, - scope = this, - background = Dispatchers.Unconfined, - flags = flags - ) + val helper = ProfileHelper(interactor = interactor, background = Dispatchers.Unconfined) assertProfiles(helper, personalProfile = personalProfile, privateProfile = privateProfile) @@ -230,13 +189,7 @@ class ProfileHelperTest { val repository = FakeUserRepository(listOf(personalUser, privateUser)) val interactor = UserInteractor(repository, launchedAs = privateUser.handle) - val helper = - ProfileHelper( - interactor = interactor, - scope = this, - background = Dispatchers.Unconfined, - flags = flags - ) + val helper = ProfileHelper(interactor = interactor, background = Dispatchers.Unconfined) assertProfiles(helper, personalProfile = personalProfile, privateProfile = privateProfile) @@ -248,28 +201,4 @@ class ProfileHelperTest { .isEqualTo(privateProfile.primary.handle) assertThat(helper.tabOwnerUserHandleForLaunch).isEqualTo(privateProfile.primary.handle) } - - @Test - fun launchedByPersonal_withPrivate_privateDisabled() = runTest { - flags.setFlag(FLAG_ENABLE_PRIVATE_PROFILE, false) - - val repository = FakeUserRepository(listOf(personalUser, privateUser)) - val interactor = UserInteractor(repository, launchedAs = personalUser.handle) - - val helper = - ProfileHelper( - interactor = interactor, - scope = this, - background = Dispatchers.Unconfined, - flags = flags - ) - - assertProfiles(helper, personalProfile = personalProfile, privateProfile = null) - - assertThat(helper.isLaunchedAsCloneProfile).isFalse() - assertThat(helper.launchedAsProfileType).isEqualTo(Profile.Type.PERSONAL) - assertThat(helper.getQueryIntentsHandle(personalProfile.primary.handle)) - .isEqualTo(personalProfile.primary.handle) - assertThat(helper.tabOwnerUserHandleForLaunch).isEqualTo(personalProfile.primary.handle) - } } diff --git a/tests/unit/src/com/android/intentresolver/emptystate/NoCrossProfileEmptyStateProviderTest.kt b/tests/unit/src/com/android/intentresolver/emptystate/NoCrossProfileEmptyStateProviderTest.kt index 135ac064..bee13a21 100644 --- a/tests/unit/src/com/android/intentresolver/emptystate/NoCrossProfileEmptyStateProviderTest.kt +++ b/tests/unit/src/com/android/intentresolver/emptystate/NoCrossProfileEmptyStateProviderTest.kt @@ -23,11 +23,9 @@ import com.android.intentresolver.annotation.JavaInterop import com.android.intentresolver.data.repository.DevicePolicyResources import com.android.intentresolver.data.repository.FakeUserRepository import com.android.intentresolver.domain.interactor.UserInteractor -import com.android.intentresolver.inject.FakeIntentResolverFlags import com.android.intentresolver.shared.model.User import com.google.common.truth.Truth.assertThat import com.google.common.truth.Truth.assertWithMessage -import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import org.junit.Test import org.mockito.Mockito.never @@ -46,7 +44,6 @@ class NoCrossProfileEmptyStateProviderTest { private val personalUser = User(0, User.Role.PERSONAL) private val workUser = User(10, User.Role.WORK) private val privateUser = User(11, User.Role.PRIVATE) - private val flags = FakeIntentResolverFlags() private val userRepository = FakeUserRepository(listOf(personalUser, workUser, privateUser)) @@ -84,7 +81,7 @@ class NoCrossProfileEmptyStateProviderTest { hasCrossProfileIntents( /* intents = */ any(), /* source = */ any(), - /* target = */ any() + /* target = */ any(), ) } doReturn false /* Never allow */ } @@ -105,7 +102,7 @@ class NoCrossProfileEmptyStateProviderTest { profileHelper, devicePolicyResources, crossProfileIntentsChecker, - /* isShare = */ true + /* isShare = */ true, ) // Work to work, not blocked @@ -123,7 +120,7 @@ class NoCrossProfileEmptyStateProviderTest { profileHelper, devicePolicyResources, crossProfileIntentsChecker, - /* isShare = */ true + /* isShare = */ true, ) val result = provider.getEmptyState(workListAdapter) @@ -143,7 +140,7 @@ class NoCrossProfileEmptyStateProviderTest { profileHelper, devicePolicyResources, crossProfileIntentsChecker, - /* isShare = */ true + /* isShare = */ true, ) val result = provider.getEmptyState(personalListAdapter) @@ -163,7 +160,7 @@ class NoCrossProfileEmptyStateProviderTest { profileHelper, devicePolicyResources, crossProfileIntentsChecker, - /* isShare = */ true + /* isShare = */ true, ) val result = provider.getEmptyState(privateListAdapter) @@ -184,7 +181,7 @@ class NoCrossProfileEmptyStateProviderTest { profileHelper, devicePolicyResources, crossProfileIntentsChecker, - /* isShare = */ true + /* isShare = */ true, ) // Private -> Personal is always allowed: @@ -197,12 +194,7 @@ class NoCrossProfileEmptyStateProviderTest { private fun createProfileHelper(launchedAs: User): ProfileHelper { val userInteractor = UserInteractor(userRepository, launchedAs = launchedAs.handle) - return ProfileHelper( - userInteractor, - CoroutineScope(Dispatchers.Unconfined), - Dispatchers.Unconfined, - flags - ) + return ProfileHelper(userInteractor, Dispatchers.Unconfined) } private fun CrossProfileIntentsChecker.verifyCalled( |