summaryrefslogtreecommitdiff
path: root/java/src/com
diff options
context:
space:
mode:
author Mark Renouf <mrenouf@google.com> 2024-12-09 13:45:31 -0500
committer Mark Renouf <mrenouf@google.com> 2024-12-12 10:07:51 -0500
commitfb2d12fec30e3a6e2fce3de5b3e35eb432f6af59 (patch)
tree8d6848aa54b0daa3c98f96cc6f290acbd6838087 /java/src/com
parent4072e8974cbc43db09eb97a01ca05cbb0171acdc (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/src/com')
-rw-r--r--java/src/com/android/intentresolver/ChooserActivity.java25
-rw-r--r--java/src/com/android/intentresolver/ProfileHelper.kt9
-rw-r--r--java/src/com/android/intentresolver/ResolverActivity.java5
-rw-r--r--java/src/com/android/intentresolver/contentpreview/ImageLoaderModule.kt6
-rw-r--r--java/src/com/android/intentresolver/contentpreview/payloadtoggle/ui/viewmodel/ShareouselViewModel.kt15
-rw-r--r--java/src/com/android/intentresolver/grid/ChooserGridAdapter.java6
-rw-r--r--java/src/com/android/intentresolver/inject/FeatureFlagsModule.kt41
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()
-}