Loading packages/SystemUI/shared/src/com/android/systemui/shared/recents/IOverviewProxy.aidl +0 −5 Original line number Diff line number Diff line Loading @@ -134,9 +134,4 @@ oneway interface IOverviewProxy { * Sent when some system ui state changes. */ void onSystemUiStateChanged(int stateFlags) = 16; /** * Sent when the scrim colors (based on wallpaper) change. */ void onScrimColorsChanged(int color, int type) = 17; } packages/SystemUI/src/com/android/systemui/colorextraction/SysuiColorExtractor.java +5 −46 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ package com.android.systemui.colorextraction; import android.annotation.ColorInt; import android.annotation.IntDef; import android.app.WallpaperColors; import android.app.WallpaperManager; import android.content.Context; Loading @@ -36,13 +34,10 @@ import com.android.internal.colorextraction.types.ExtractionType; import com.android.internal.colorextraction.types.Tonal; import com.android.keyguard.KeyguardUpdateMonitor; import com.android.systemui.Dumpable; import com.android.systemui.recents.OverviewProxyService; import com.android.systemui.statusbar.policy.ConfigurationController; import java.io.FileDescriptor; import java.io.PrintWriter; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.Arrays; import javax.inject.Inject; Loading @@ -55,41 +50,23 @@ import javax.inject.Singleton; public class SysuiColorExtractor extends ColorExtractor implements Dumpable, ConfigurationController.ConfigurationListener { private static final String TAG = "SysuiColorExtractor"; public static final int SCRIM_TYPE_REGULAR = 1; public static final int SCRIM_TYPE_LIGHT = 2; public static final int SCRIM_TYPE_DARK = 3; @IntDef(prefix = {"SCRIM_TYPE_"}, value = { SCRIM_TYPE_REGULAR, SCRIM_TYPE_LIGHT, SCRIM_TYPE_DARK }) @Retention(RetentionPolicy.SOURCE) public @interface ScrimType { } private final Tonal mTonal; private final OverviewProxyService mOverviewProxyService; private boolean mWallpaperVisible; private boolean mHasBackdrop; // Colors to return when the wallpaper isn't visible private final GradientColors mWpHiddenColors; @Inject public SysuiColorExtractor(Context context, ConfigurationController configurationController, OverviewProxyService overviewProxyService) { this(context, new Tonal(context), configurationController, true, overviewProxyService); public SysuiColorExtractor(Context context, ConfigurationController configurationController) { this(context, new Tonal(context), configurationController, true); } @VisibleForTesting public SysuiColorExtractor(Context context, ExtractionType type, ConfigurationController configurationController, boolean registerVisibility, OverviewProxyService overviewProxyService) { ConfigurationController configurationController, boolean registerVisibility) { super(context, type, false /* immediately */); mTonal = type instanceof Tonal ? (Tonal) type : new Tonal(context); mWpHiddenColors = new GradientColors(); mOverviewProxyService = overviewProxyService; configurationController.addCallback(this); WallpaperColors systemColors = getWallpaperColors(WallpaperManager.FLAG_SYSTEM); Loading Loading @@ -133,35 +110,17 @@ public class SysuiColorExtractor extends ColorExtractor implements Dumpable, return; } super.onColorsChanged(colors, which); if ((which & WallpaperManager.FLAG_SYSTEM) != 0) { updateDefaultGradients(colors); } super.onColorsChanged(colors, which); } @Override public void onUiModeChanged() { WallpaperColors systemColors = getWallpaperColors(WallpaperManager.FLAG_SYSTEM); updateDefaultGradients(systemColors); triggerColorsChanged(WallpaperManager.FLAG_SYSTEM); } @Override protected void triggerColorsChanged(int which) { super.triggerColorsChanged(which); if (mWpHiddenColors != null && (which & WallpaperManager.FLAG_SYSTEM) != 0) { @ColorInt int colorInt = mWpHiddenColors.getMainColor(); @ScrimType int scrimType; if (colorInt == Tonal.MAIN_COLOR_LIGHT) { scrimType = SCRIM_TYPE_LIGHT; } else if (colorInt == Tonal.MAIN_COLOR_DARK) { scrimType = SCRIM_TYPE_DARK; } else { scrimType = SCRIM_TYPE_REGULAR; } mOverviewProxyService.onScrimColorsChanged(colorInt, scrimType); } } /** Loading packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java +0 −12 Original line number Diff line number Diff line Loading @@ -31,7 +31,6 @@ import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_B import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NAV_BAR_HIDDEN; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED; import android.annotation.ColorInt; import android.annotation.FloatRange; import android.app.ActivityTaskManager; import android.content.BroadcastReceiver; Loading Loading @@ -60,7 +59,6 @@ import com.android.internal.policy.ScreenDecorationsUtils; import com.android.systemui.Dependency; import com.android.systemui.Dumpable; import com.android.systemui.SysUiServiceProvider; import com.android.systemui.colorextraction.SysuiColorExtractor.ScrimType; import com.android.systemui.recents.OverviewProxyService.OverviewProxyListener; import com.android.systemui.shared.recents.IOverviewProxy; import com.android.systemui.shared.recents.ISystemUiProxy; Loading Loading @@ -537,16 +535,6 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis dispatchNavButtonBounds(); } public void onScrimColorsChanged(@ColorInt int color, @ScrimType int type) { if (mOverviewProxy != null) { try { mOverviewProxy.onScrimColorsChanged(color, type); } catch (RemoteException e) { Log.e(TAG_OPS, "Failed to call onScrimColorsChanged()", e); } } } private void dispatchNavButtonBounds() { if (mOverviewProxy != null && mActiveNavBarRegion != null) { try { Loading packages/SystemUI/tests/src/com/android/systemui/colorextraction/SysuiColorExtractorTests.java +2 −14 Original line number Diff line number Diff line Loading @@ -34,14 +34,10 @@ import androidx.test.runner.AndroidJUnit4; import com.android.internal.colorextraction.ColorExtractor; import com.android.internal.colorextraction.types.Tonal; import com.android.systemui.SysuiTestCase; import com.android.systemui.recents.OverviewProxyService; import com.android.systemui.statusbar.policy.ConfigurationController; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; /** * Tests color extraction generation. Loading @@ -57,13 +53,6 @@ public class SysuiColorExtractorTests extends SysuiTestCase { ColorExtractor.TYPE_NORMAL, ColorExtractor.TYPE_DARK, ColorExtractor.TYPE_EXTRA_DARK}; @Mock private OverviewProxyService mOverviewProxyService; @Before public void setUp() { MockitoAnnotations.initMocks(this); } @Test public void getColors_usesGreyIfWallpaperNotVisible() { Loading Loading @@ -129,8 +118,7 @@ public class SysuiColorExtractorTests extends SysuiTestCase { Tonal tonal = mock(Tonal.class); ConfigurationController configurationController = mock(ConfigurationController.class); SysuiColorExtractor sysuiColorExtractor = new SysuiColorExtractor(getContext(), tonal, configurationController, false /* registerVisibility */, mOverviewProxyService); tonal, configurationController, false /* registerVisibility */); verify(configurationController).addCallback(eq(sysuiColorExtractor)); reset(tonal); Loading @@ -145,7 +133,7 @@ public class SysuiColorExtractorTests extends SysuiTestCase { outGradientColorsNormal.set(colors); outGradientColorsDark.set(colors); outGradientColorsExtraDark.set(colors); }, mock(ConfigurationController.class), false, mOverviewProxyService); }, mock(ConfigurationController.class), false); } private void simulateEvent(SysuiColorExtractor extractor) { Loading Loading
packages/SystemUI/shared/src/com/android/systemui/shared/recents/IOverviewProxy.aidl +0 −5 Original line number Diff line number Diff line Loading @@ -134,9 +134,4 @@ oneway interface IOverviewProxy { * Sent when some system ui state changes. */ void onSystemUiStateChanged(int stateFlags) = 16; /** * Sent when the scrim colors (based on wallpaper) change. */ void onScrimColorsChanged(int color, int type) = 17; }
packages/SystemUI/src/com/android/systemui/colorextraction/SysuiColorExtractor.java +5 −46 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ package com.android.systemui.colorextraction; import android.annotation.ColorInt; import android.annotation.IntDef; import android.app.WallpaperColors; import android.app.WallpaperManager; import android.content.Context; Loading @@ -36,13 +34,10 @@ import com.android.internal.colorextraction.types.ExtractionType; import com.android.internal.colorextraction.types.Tonal; import com.android.keyguard.KeyguardUpdateMonitor; import com.android.systemui.Dumpable; import com.android.systemui.recents.OverviewProxyService; import com.android.systemui.statusbar.policy.ConfigurationController; import java.io.FileDescriptor; import java.io.PrintWriter; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.Arrays; import javax.inject.Inject; Loading @@ -55,41 +50,23 @@ import javax.inject.Singleton; public class SysuiColorExtractor extends ColorExtractor implements Dumpable, ConfigurationController.ConfigurationListener { private static final String TAG = "SysuiColorExtractor"; public static final int SCRIM_TYPE_REGULAR = 1; public static final int SCRIM_TYPE_LIGHT = 2; public static final int SCRIM_TYPE_DARK = 3; @IntDef(prefix = {"SCRIM_TYPE_"}, value = { SCRIM_TYPE_REGULAR, SCRIM_TYPE_LIGHT, SCRIM_TYPE_DARK }) @Retention(RetentionPolicy.SOURCE) public @interface ScrimType { } private final Tonal mTonal; private final OverviewProxyService mOverviewProxyService; private boolean mWallpaperVisible; private boolean mHasBackdrop; // Colors to return when the wallpaper isn't visible private final GradientColors mWpHiddenColors; @Inject public SysuiColorExtractor(Context context, ConfigurationController configurationController, OverviewProxyService overviewProxyService) { this(context, new Tonal(context), configurationController, true, overviewProxyService); public SysuiColorExtractor(Context context, ConfigurationController configurationController) { this(context, new Tonal(context), configurationController, true); } @VisibleForTesting public SysuiColorExtractor(Context context, ExtractionType type, ConfigurationController configurationController, boolean registerVisibility, OverviewProxyService overviewProxyService) { ConfigurationController configurationController, boolean registerVisibility) { super(context, type, false /* immediately */); mTonal = type instanceof Tonal ? (Tonal) type : new Tonal(context); mWpHiddenColors = new GradientColors(); mOverviewProxyService = overviewProxyService; configurationController.addCallback(this); WallpaperColors systemColors = getWallpaperColors(WallpaperManager.FLAG_SYSTEM); Loading Loading @@ -133,35 +110,17 @@ public class SysuiColorExtractor extends ColorExtractor implements Dumpable, return; } super.onColorsChanged(colors, which); if ((which & WallpaperManager.FLAG_SYSTEM) != 0) { updateDefaultGradients(colors); } super.onColorsChanged(colors, which); } @Override public void onUiModeChanged() { WallpaperColors systemColors = getWallpaperColors(WallpaperManager.FLAG_SYSTEM); updateDefaultGradients(systemColors); triggerColorsChanged(WallpaperManager.FLAG_SYSTEM); } @Override protected void triggerColorsChanged(int which) { super.triggerColorsChanged(which); if (mWpHiddenColors != null && (which & WallpaperManager.FLAG_SYSTEM) != 0) { @ColorInt int colorInt = mWpHiddenColors.getMainColor(); @ScrimType int scrimType; if (colorInt == Tonal.MAIN_COLOR_LIGHT) { scrimType = SCRIM_TYPE_LIGHT; } else if (colorInt == Tonal.MAIN_COLOR_DARK) { scrimType = SCRIM_TYPE_DARK; } else { scrimType = SCRIM_TYPE_REGULAR; } mOverviewProxyService.onScrimColorsChanged(colorInt, scrimType); } } /** Loading
packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java +0 −12 Original line number Diff line number Diff line Loading @@ -31,7 +31,6 @@ import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_B import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NAV_BAR_HIDDEN; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED; import android.annotation.ColorInt; import android.annotation.FloatRange; import android.app.ActivityTaskManager; import android.content.BroadcastReceiver; Loading Loading @@ -60,7 +59,6 @@ import com.android.internal.policy.ScreenDecorationsUtils; import com.android.systemui.Dependency; import com.android.systemui.Dumpable; import com.android.systemui.SysUiServiceProvider; import com.android.systemui.colorextraction.SysuiColorExtractor.ScrimType; import com.android.systemui.recents.OverviewProxyService.OverviewProxyListener; import com.android.systemui.shared.recents.IOverviewProxy; import com.android.systemui.shared.recents.ISystemUiProxy; Loading Loading @@ -537,16 +535,6 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis dispatchNavButtonBounds(); } public void onScrimColorsChanged(@ColorInt int color, @ScrimType int type) { if (mOverviewProxy != null) { try { mOverviewProxy.onScrimColorsChanged(color, type); } catch (RemoteException e) { Log.e(TAG_OPS, "Failed to call onScrimColorsChanged()", e); } } } private void dispatchNavButtonBounds() { if (mOverviewProxy != null && mActiveNavBarRegion != null) { try { Loading
packages/SystemUI/tests/src/com/android/systemui/colorextraction/SysuiColorExtractorTests.java +2 −14 Original line number Diff line number Diff line Loading @@ -34,14 +34,10 @@ import androidx.test.runner.AndroidJUnit4; import com.android.internal.colorextraction.ColorExtractor; import com.android.internal.colorextraction.types.Tonal; import com.android.systemui.SysuiTestCase; import com.android.systemui.recents.OverviewProxyService; import com.android.systemui.statusbar.policy.ConfigurationController; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; /** * Tests color extraction generation. Loading @@ -57,13 +53,6 @@ public class SysuiColorExtractorTests extends SysuiTestCase { ColorExtractor.TYPE_NORMAL, ColorExtractor.TYPE_DARK, ColorExtractor.TYPE_EXTRA_DARK}; @Mock private OverviewProxyService mOverviewProxyService; @Before public void setUp() { MockitoAnnotations.initMocks(this); } @Test public void getColors_usesGreyIfWallpaperNotVisible() { Loading Loading @@ -129,8 +118,7 @@ public class SysuiColorExtractorTests extends SysuiTestCase { Tonal tonal = mock(Tonal.class); ConfigurationController configurationController = mock(ConfigurationController.class); SysuiColorExtractor sysuiColorExtractor = new SysuiColorExtractor(getContext(), tonal, configurationController, false /* registerVisibility */, mOverviewProxyService); tonal, configurationController, false /* registerVisibility */); verify(configurationController).addCallback(eq(sysuiColorExtractor)); reset(tonal); Loading @@ -145,7 +133,7 @@ public class SysuiColorExtractorTests extends SysuiTestCase { outGradientColorsNormal.set(colors); outGradientColorsDark.set(colors); outGradientColorsExtraDark.set(colors); }, mock(ConfigurationController.class), false, mOverviewProxyService); }, mock(ConfigurationController.class), false); } private void simulateEvent(SysuiColorExtractor extractor) { Loading