From 78f87a3886577b1937cbac96256596f1d72c5945 Mon Sep 17 00:00:00 2001 From: Andrey Epin Date: Fri, 27 Jan 2023 20:42:03 -0800 Subject: Use SystemUI feature flags Replace compile-time feature flags with SystemUI feture flags. Test: manual test Test: atest IntentResolverUnitTests Change-Id: I4e59d6c0773be2a4f968fc539a0eee2b5182b757 --- .../intentresolver/ChooserActivityOverrideData.java | 3 +++ .../intentresolver/ChooserWrapperActivity.java | 9 +++++++++ .../intentresolver/UnbundledChooserActivityTest.java | 19 ++++++++++++++++--- 3 files changed, 28 insertions(+), 3 deletions(-) (limited to 'java/tests/src') diff --git a/java/tests/src/com/android/intentresolver/ChooserActivityOverrideData.java b/java/tests/src/com/android/intentresolver/ChooserActivityOverrideData.java index 5df0d4a2..857fa124 100644 --- a/java/tests/src/com/android/intentresolver/ChooserActivityOverrideData.java +++ b/java/tests/src/com/android/intentresolver/ChooserActivityOverrideData.java @@ -31,6 +31,7 @@ import com.android.intentresolver.AbstractMultiProfilePagerAdapter.CrossProfileI import com.android.intentresolver.AbstractMultiProfilePagerAdapter.MyUserIdProvider; import com.android.intentresolver.AbstractMultiProfilePagerAdapter.QuietModeManager; import com.android.intentresolver.chooser.TargetInfo; +import com.android.intentresolver.flags.FeatureFlagRepository; import com.android.intentresolver.shortcuts.ShortcutLoader; import java.util.function.Consumer; @@ -76,6 +77,7 @@ public class ChooserActivityOverrideData { public MyUserIdProvider mMyUserIdProvider; public CrossProfileIntentsChecker mCrossProfileIntentsChecker; public PackageManager packageManager; + public FeatureFlagRepository featureFlagRepository; public void reset() { onSafelyStartCallback = null; @@ -128,6 +130,7 @@ public class ChooserActivityOverrideData { mCrossProfileIntentsChecker = mock(CrossProfileIntentsChecker.class); when(mCrossProfileIntentsChecker.hasCrossProfileIntents(any(), anyInt(), anyInt())) .thenAnswer(invocation -> hasCrossProfileIntents); + featureFlagRepository = null; } private ChooserActivityOverrideData() {} diff --git a/java/tests/src/com/android/intentresolver/ChooserWrapperActivity.java b/java/tests/src/com/android/intentresolver/ChooserWrapperActivity.java index 6bc5e12a..a47014e8 100644 --- a/java/tests/src/com/android/intentresolver/ChooserWrapperActivity.java +++ b/java/tests/src/com/android/intentresolver/ChooserWrapperActivity.java @@ -39,6 +39,7 @@ import com.android.intentresolver.AbstractMultiProfilePagerAdapter.QuietModeMana import com.android.intentresolver.chooser.DisplayResolveInfo; import com.android.intentresolver.chooser.NotSelectableTargetInfo; import com.android.intentresolver.chooser.TargetInfo; +import com.android.intentresolver.flags.FeatureFlagRepository; import com.android.intentresolver.grid.ChooserGridAdapter; import com.android.intentresolver.shortcuts.ShortcutLoader; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; @@ -287,4 +288,12 @@ public class ChooserWrapperActivity return super.createShortcutLoader( context, appPredictor, userHandle, targetIntentFilter, callback); } + + @Override + protected FeatureFlagRepository createFeatureFlagRepository() { + if (sOverrides.featureFlagRepository != null) { + return sOverrides.featureFlagRepository; + } + return super.createFeatureFlagRepository(); + } } diff --git a/java/tests/src/com/android/intentresolver/UnbundledChooserActivityTest.java b/java/tests/src/com/android/intentresolver/UnbundledChooserActivityTest.java index d7af8925..53c357d6 100644 --- a/java/tests/src/com/android/intentresolver/UnbundledChooserActivityTest.java +++ b/java/tests/src/com/android/intentresolver/UnbundledChooserActivityTest.java @@ -101,9 +101,13 @@ import androidx.test.rule.ActivityTestRule; import com.android.intentresolver.ResolverActivity.ResolvedComponentInfo; import com.android.intentresolver.chooser.DisplayResolveInfo; +import com.android.intentresolver.flags.FeatureFlagRepository; +import com.android.intentresolver.flags.Flags; import com.android.intentresolver.shortcuts.ShortcutLoader; import com.android.internal.config.sysui.SystemUiDeviceConfigFlags; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; +import com.android.systemui.flags.ReleasedFlag; +import com.android.systemui.flags.UnreleasedFlag; import org.hamcrest.Description; import org.hamcrest.Matcher; @@ -1673,9 +1677,18 @@ public class UnbundledChooserActivityTest { @Test public void testLaunchWithCustomAction() throws InterruptedException { - if (!ChooserActivity.ENABLE_CUSTOM_ACTIONS) { - return; - } + ChooserActivityOverrideData.getInstance().featureFlagRepository = + new FeatureFlagRepository() { + @Override + public boolean isEnabled(@NonNull UnreleasedFlag flag) { + return Flags.SHARESHEET_CUSTOM_ACTIONS.equals(flag) || flag.getDefault(); + } + + @Override + public boolean isEnabled(@NonNull ReleasedFlag flag) { + return false; + } + }; List resolvedComponentInfos = createResolvedComponentsForTest(2); when( ChooserActivityOverrideData -- cgit v1.2.3-59-g8ed1b