Loading packages/SystemUI/src-debug/com/android/systemui/flags/FlagsModule.kt +12 −5 Original line number Diff line number Diff line Loading @@ -20,16 +20,23 @@ import android.content.Context import android.os.Handler import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.util.settings.SettingsUtilModule import dagger.Binds import dagger.Module import dagger.Provides @Module(includes = [ SettingsUtilModule::class ]) object FlagsModule { abstract class FlagsModule { @Binds abstract fun bindsFeatureFlagDebug(impl: FeatureFlagsDebug): FeatureFlags @Module companion object { @JvmStatic @Provides fun provideFlagManager(context: Context, @Main handler: Handler): FlagManager { return FlagManager(context, handler) } } } No newline at end of file packages/SystemUI/src-release/com/android/systemui/flags/FlagsModule.kt +5 −1 Original line number Diff line number Diff line Loading @@ -16,7 +16,11 @@ package com.android.systemui.flags import dagger.Binds import dagger.Module @Module object FlagsModule No newline at end of file abstract class FlagsModule { @Binds abstract fun bindsFeatureFlagRelease(impl: FeatureFlagsRelease): FeatureFlags } No newline at end of file packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java +0 −9 Original line number Diff line number Diff line Loading @@ -38,10 +38,7 @@ import com.android.systemui.demomode.dagger.DemoModeModule; import com.android.systemui.doze.dagger.DozeComponent; import com.android.systemui.dreams.dagger.DreamModule; import com.android.systemui.dump.DumpManager; import com.android.systemui.flags.FeatureFlagManager; import com.android.systemui.flags.FeatureFlags; import com.android.systemui.flags.FlagReader; import com.android.systemui.flags.FlagWriter; import com.android.systemui.flags.FlagsModule; import com.android.systemui.fragments.FragmentService; import com.android.systemui.log.dagger.LogModule; Loading Loading @@ -161,12 +158,6 @@ public abstract class SystemUIModule { return state; } @Binds abstract FlagReader provideFlagReader(FeatureFlagManager impl); @Binds abstract FlagWriter provideFlagWriter(FeatureFlagManager impl); @BindsOptionalOf abstract CommandQueue optionalCommandQueue(); Loading packages/SystemUI/src/com/android/systemui/flags/FeatureFlags.java +18 −46 Original line number Diff line number Diff line Loading @@ -16,114 +16,86 @@ package com.android.systemui.flags; import android.content.Context; import android.util.FeatureFlagUtils; import com.android.systemui.dagger.SysUISingleton; import javax.inject.Inject; /** * Class to manage simple DeviceConfig-based feature flags. * * See {@link Flags} for instructions on defining new flags. */ @SysUISingleton public class FeatureFlags { private final FlagReader mFlagReader; @Inject public FeatureFlags(FlagReader flagReader) { mFlagReader = flagReader; } /** * @param flag The {@link BooleanFlag} of interest. * @return The value of the flag. */ public boolean isEnabled(BooleanFlag flag) { return mFlagReader.isEnabled(flag); } public boolean isNewNotifPipelineRenderingEnabled() { public interface FeatureFlags extends FlagReader { default boolean isNewNotifPipelineRenderingEnabled() { return isEnabled(Flags.NEW_NOTIFICATION_PIPELINE_RENDERING); } /** */ public boolean useNewLockscreenAnimations() { default boolean useNewLockscreenAnimations() { return isEnabled(Flags.LOCKSCREEN_ANIMATIONS); } public boolean isPeopleTileEnabled() { default boolean isPeopleTileEnabled() { return isEnabled(Flags.PEOPLE_TILE); } public boolean isMonetEnabled() { default boolean isMonetEnabled() { return isEnabled(Flags.MONET); } public boolean isPMLiteEnabled() { default boolean isPMLiteEnabled() { return isEnabled(Flags.POWER_MENU_LITE); } public boolean isChargingRippleEnabled() { default boolean isChargingRippleEnabled() { return isEnabled(Flags.CHARGING_RIPPLE); } public boolean isOngoingCallStatusBarChipEnabled() { default boolean isOngoingCallStatusBarChipEnabled() { return isEnabled(Flags.ONGOING_CALL_STATUS_BAR_CHIP); } public boolean isOngoingCallInImmersiveEnabled() { default boolean isOngoingCallInImmersiveEnabled() { return isOngoingCallStatusBarChipEnabled() && isEnabled(Flags.ONGOING_CALL_IN_IMMERSIVE); } public boolean isOngoingCallInImmersiveChipTapEnabled() { default boolean isOngoingCallInImmersiveChipTapEnabled() { return isOngoingCallInImmersiveEnabled() && isEnabled(Flags.ONGOING_CALL_IN_IMMERSIVE_CHIP_TAP); } public boolean isSmartspaceEnabled() { default boolean isSmartspaceEnabled() { return isEnabled(Flags.SMARTSPACE); } public boolean isSmartspaceDedupingEnabled() { default boolean isSmartspaceDedupingEnabled() { return isSmartspaceEnabled() && isEnabled(Flags.SMARTSPACE_DEDUPING); } public boolean isNewKeyguardSwipeAnimationEnabled() { default boolean isNewKeyguardSwipeAnimationEnabled() { return isEnabled(Flags.NEW_UNLOCK_SWIPE_ANIMATION); } public boolean isKeyguardQsUserDetailsShortcutEnabled() { default boolean isKeyguardQsUserDetailsShortcutEnabled() { return isEnabled(Flags.QS_USER_DETAIL_SHORTCUT); } public boolean isSmartSpaceSharedElementTransitionEnabled() { default boolean isSmartSpaceSharedElementTransitionEnabled() { return isEnabled(Flags.SMARTSPACE_SHARED_ELEMENT_TRANSITION_ENABLED); } /** Whether or not to use the provider model behavior for the status bar icons */ public boolean isCombinedStatusBarSignalIconsEnabled() { default boolean isCombinedStatusBarSignalIconsEnabled() { return isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS); } /** System setting for provider model behavior */ public boolean isProviderModelSettingEnabled(Context context) { return FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL); } /** * Use the new version of the user switcher */ public boolean useNewUserSwitcher() { default boolean useNewUserSwitcher() { return isEnabled(Flags.NEW_USER_SWITCHER); } /** * Use the new single view QS headers */ public boolean useCombinedQSHeaders() { default boolean useCombinedQSHeaders() { return isEnabled(Flags.COMBINED_QS_HEADERS); } } packages/SystemUI/src-debug/com/android/systemui/flags/FeatureFlagManager.java→packages/SystemUI/src/com/android/systemui/flags/FeatureFlagsDebug.java +2 −2 Original line number Diff line number Diff line Loading @@ -60,7 +60,7 @@ import javax.inject.Inject; * To restore a flag back to its default, leave the `--ez value <0|1>` off of the command. */ @SysUISingleton public class FeatureFlagManager implements FlagReader, FlagWriter, Dumpable { public class FeatureFlagsDebug implements FeatureFlags, FlagWriter, Dumpable { private static final String TAG = "SysUIFlags"; private final FlagManager mFlagManager; Loading @@ -69,7 +69,7 @@ public class FeatureFlagManager implements FlagReader, FlagWriter, Dumpable { private final Map<Integer, Boolean> mBooleanFlagCache = new HashMap<>(); @Inject public FeatureFlagManager( public FeatureFlagsDebug( FlagManager flagManager, Context context, SecureSettings secureSettings, Loading Loading
packages/SystemUI/src-debug/com/android/systemui/flags/FlagsModule.kt +12 −5 Original line number Diff line number Diff line Loading @@ -20,16 +20,23 @@ import android.content.Context import android.os.Handler import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.util.settings.SettingsUtilModule import dagger.Binds import dagger.Module import dagger.Provides @Module(includes = [ SettingsUtilModule::class ]) object FlagsModule { abstract class FlagsModule { @Binds abstract fun bindsFeatureFlagDebug(impl: FeatureFlagsDebug): FeatureFlags @Module companion object { @JvmStatic @Provides fun provideFlagManager(context: Context, @Main handler: Handler): FlagManager { return FlagManager(context, handler) } } } No newline at end of file
packages/SystemUI/src-release/com/android/systemui/flags/FlagsModule.kt +5 −1 Original line number Diff line number Diff line Loading @@ -16,7 +16,11 @@ package com.android.systemui.flags import dagger.Binds import dagger.Module @Module object FlagsModule No newline at end of file abstract class FlagsModule { @Binds abstract fun bindsFeatureFlagRelease(impl: FeatureFlagsRelease): FeatureFlags } No newline at end of file
packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java +0 −9 Original line number Diff line number Diff line Loading @@ -38,10 +38,7 @@ import com.android.systemui.demomode.dagger.DemoModeModule; import com.android.systemui.doze.dagger.DozeComponent; import com.android.systemui.dreams.dagger.DreamModule; import com.android.systemui.dump.DumpManager; import com.android.systemui.flags.FeatureFlagManager; import com.android.systemui.flags.FeatureFlags; import com.android.systemui.flags.FlagReader; import com.android.systemui.flags.FlagWriter; import com.android.systemui.flags.FlagsModule; import com.android.systemui.fragments.FragmentService; import com.android.systemui.log.dagger.LogModule; Loading Loading @@ -161,12 +158,6 @@ public abstract class SystemUIModule { return state; } @Binds abstract FlagReader provideFlagReader(FeatureFlagManager impl); @Binds abstract FlagWriter provideFlagWriter(FeatureFlagManager impl); @BindsOptionalOf abstract CommandQueue optionalCommandQueue(); Loading
packages/SystemUI/src/com/android/systemui/flags/FeatureFlags.java +18 −46 Original line number Diff line number Diff line Loading @@ -16,114 +16,86 @@ package com.android.systemui.flags; import android.content.Context; import android.util.FeatureFlagUtils; import com.android.systemui.dagger.SysUISingleton; import javax.inject.Inject; /** * Class to manage simple DeviceConfig-based feature flags. * * See {@link Flags} for instructions on defining new flags. */ @SysUISingleton public class FeatureFlags { private final FlagReader mFlagReader; @Inject public FeatureFlags(FlagReader flagReader) { mFlagReader = flagReader; } /** * @param flag The {@link BooleanFlag} of interest. * @return The value of the flag. */ public boolean isEnabled(BooleanFlag flag) { return mFlagReader.isEnabled(flag); } public boolean isNewNotifPipelineRenderingEnabled() { public interface FeatureFlags extends FlagReader { default boolean isNewNotifPipelineRenderingEnabled() { return isEnabled(Flags.NEW_NOTIFICATION_PIPELINE_RENDERING); } /** */ public boolean useNewLockscreenAnimations() { default boolean useNewLockscreenAnimations() { return isEnabled(Flags.LOCKSCREEN_ANIMATIONS); } public boolean isPeopleTileEnabled() { default boolean isPeopleTileEnabled() { return isEnabled(Flags.PEOPLE_TILE); } public boolean isMonetEnabled() { default boolean isMonetEnabled() { return isEnabled(Flags.MONET); } public boolean isPMLiteEnabled() { default boolean isPMLiteEnabled() { return isEnabled(Flags.POWER_MENU_LITE); } public boolean isChargingRippleEnabled() { default boolean isChargingRippleEnabled() { return isEnabled(Flags.CHARGING_RIPPLE); } public boolean isOngoingCallStatusBarChipEnabled() { default boolean isOngoingCallStatusBarChipEnabled() { return isEnabled(Flags.ONGOING_CALL_STATUS_BAR_CHIP); } public boolean isOngoingCallInImmersiveEnabled() { default boolean isOngoingCallInImmersiveEnabled() { return isOngoingCallStatusBarChipEnabled() && isEnabled(Flags.ONGOING_CALL_IN_IMMERSIVE); } public boolean isOngoingCallInImmersiveChipTapEnabled() { default boolean isOngoingCallInImmersiveChipTapEnabled() { return isOngoingCallInImmersiveEnabled() && isEnabled(Flags.ONGOING_CALL_IN_IMMERSIVE_CHIP_TAP); } public boolean isSmartspaceEnabled() { default boolean isSmartspaceEnabled() { return isEnabled(Flags.SMARTSPACE); } public boolean isSmartspaceDedupingEnabled() { default boolean isSmartspaceDedupingEnabled() { return isSmartspaceEnabled() && isEnabled(Flags.SMARTSPACE_DEDUPING); } public boolean isNewKeyguardSwipeAnimationEnabled() { default boolean isNewKeyguardSwipeAnimationEnabled() { return isEnabled(Flags.NEW_UNLOCK_SWIPE_ANIMATION); } public boolean isKeyguardQsUserDetailsShortcutEnabled() { default boolean isKeyguardQsUserDetailsShortcutEnabled() { return isEnabled(Flags.QS_USER_DETAIL_SHORTCUT); } public boolean isSmartSpaceSharedElementTransitionEnabled() { default boolean isSmartSpaceSharedElementTransitionEnabled() { return isEnabled(Flags.SMARTSPACE_SHARED_ELEMENT_TRANSITION_ENABLED); } /** Whether or not to use the provider model behavior for the status bar icons */ public boolean isCombinedStatusBarSignalIconsEnabled() { default boolean isCombinedStatusBarSignalIconsEnabled() { return isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS); } /** System setting for provider model behavior */ public boolean isProviderModelSettingEnabled(Context context) { return FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL); } /** * Use the new version of the user switcher */ public boolean useNewUserSwitcher() { default boolean useNewUserSwitcher() { return isEnabled(Flags.NEW_USER_SWITCHER); } /** * Use the new single view QS headers */ public boolean useCombinedQSHeaders() { default boolean useCombinedQSHeaders() { return isEnabled(Flags.COMBINED_QS_HEADERS); } }
packages/SystemUI/src-debug/com/android/systemui/flags/FeatureFlagManager.java→packages/SystemUI/src/com/android/systemui/flags/FeatureFlagsDebug.java +2 −2 Original line number Diff line number Diff line Loading @@ -60,7 +60,7 @@ import javax.inject.Inject; * To restore a flag back to its default, leave the `--ez value <0|1>` off of the command. */ @SysUISingleton public class FeatureFlagManager implements FlagReader, FlagWriter, Dumpable { public class FeatureFlagsDebug implements FeatureFlags, FlagWriter, Dumpable { private static final String TAG = "SysUIFlags"; private final FlagManager mFlagManager; Loading @@ -69,7 +69,7 @@ public class FeatureFlagManager implements FlagReader, FlagWriter, Dumpable { private final Map<Integer, Boolean> mBooleanFlagCache = new HashMap<>(); @Inject public FeatureFlagManager( public FeatureFlagsDebug( FlagManager flagManager, Context context, SecureSettings secureSettings, Loading