diff options
author | 2024-12-09 13:45:31 -0500 | |
---|---|---|
committer | 2024-12-12 10:07:51 -0500 | |
commit | fb2d12fec30e3a6e2fce3de5b3e35eb432f6af59 (patch) | |
tree | 8d6848aa54b0daa3c98f96cc6f290acbd6838087 /java | |
parent | 4072e8974cbc43db09eb97a01ca05cbb0171acdc (diff) |
Replace injection of 'FeatureFlags' with static flag references
Flag methods should be statically imported and called directly.
This aligns usage with SystemUI best practices. For tests, flags
are overridden using the @EnableFlags or @DisableFlags test method
annotations.
Bug: NONE simple cleanup
Flag: NONE no functional change
Test: NONE no functional change
Change-Id: I7213ad2dc969d8c1e1eacd88e00ee702face7cda
Diffstat (limited to 'java')
7 files changed, 24 insertions, 83 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() -} |