Merge "Do not add suffix to fixed colors" into udc-dev
This commit is contained in:
@@ -56,18 +56,6 @@ class DynamicColors {
|
|||||||
Pair.create("on_error", MDC.onError()),
|
Pair.create("on_error", MDC.onError()),
|
||||||
Pair.create("error_container", MDC.errorContainer()),
|
Pair.create("error_container", MDC.errorContainer()),
|
||||||
Pair.create("on_error_container", MDC.onErrorContainer()),
|
Pair.create("on_error_container", MDC.onErrorContainer()),
|
||||||
Pair.create("primary_fixed", MDC.primaryFixed()),
|
|
||||||
Pair.create("primary_fixed_dim", MDC.primaryFixedDim()),
|
|
||||||
Pair.create("on_primary_fixed", MDC.onPrimaryFixed()),
|
|
||||||
Pair.create("on_primary_fixed_variant", MDC.onPrimaryFixedVariant()),
|
|
||||||
Pair.create("secondary_fixed", MDC.secondaryFixed()),
|
|
||||||
Pair.create("secondary_fixed_dim", MDC.secondaryFixedDim()),
|
|
||||||
Pair.create("on_secondary_fixed", MDC.onSecondaryFixed()),
|
|
||||||
Pair.create("on_secondary_fixed_variant", MDC.onSecondaryFixedVariant()),
|
|
||||||
Pair.create("tertiary_fixed", MDC.tertiaryFixed()),
|
|
||||||
Pair.create("tertiary_fixed_dim", MDC.tertiaryFixedDim()),
|
|
||||||
Pair.create("on_tertiary_fixed", MDC.onTertiaryFixed()),
|
|
||||||
Pair.create("on_tertiary_fixed_variant", MDC.onTertiaryFixedVariant()),
|
|
||||||
Pair.create("control_activated", MDC.controlActivated()),
|
Pair.create("control_activated", MDC.controlActivated()),
|
||||||
Pair.create("control_normal", MDC.controlNormal()),
|
Pair.create("control_normal", MDC.controlNormal()),
|
||||||
Pair.create("control_highlight", MDC.controlHighlight()),
|
Pair.create("control_highlight", MDC.controlHighlight()),
|
||||||
@@ -92,7 +80,24 @@ class DynamicColors {
|
|||||||
Pair.create(
|
Pair.create(
|
||||||
"palette_key_color_neutral_variant",
|
"palette_key_color_neutral_variant",
|
||||||
MDC.neutralVariantPaletteKeyColor()
|
MDC.neutralVariantPaletteKeyColor()
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@JvmField
|
||||||
|
val FIXED_COLORS_MAPPED: List<Pair<String, DynamicColor>> =
|
||||||
|
arrayListOf(
|
||||||
|
Pair.create("primary_fixed", MDC.primaryFixed()),
|
||||||
|
Pair.create("primary_fixed_dim", MDC.primaryFixedDim()),
|
||||||
|
Pair.create("on_primary_fixed", MDC.onPrimaryFixed()),
|
||||||
|
Pair.create("on_primary_fixed_variant", MDC.onPrimaryFixedVariant()),
|
||||||
|
Pair.create("secondary_fixed", MDC.secondaryFixed()),
|
||||||
|
Pair.create("secondary_fixed_dim", MDC.secondaryFixedDim()),
|
||||||
|
Pair.create("on_secondary_fixed", MDC.onSecondaryFixed()),
|
||||||
|
Pair.create("on_secondary_fixed_variant", MDC.onSecondaryFixedVariant()),
|
||||||
|
Pair.create("tertiary_fixed", MDC.tertiaryFixed()),
|
||||||
|
Pair.create("tertiary_fixed_dim", MDC.tertiaryFixedDim()),
|
||||||
|
Pair.create("on_tertiary_fixed", MDC.onTertiaryFixed()),
|
||||||
|
Pair.create("on_tertiary_fixed_variant", MDC.onTertiaryFixedVariant()),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -624,6 +624,7 @@ public class ThemeOverlayController implements CoreStartable, Dumpable {
|
|||||||
FabricatedOverlay overlay = newFabricatedOverlay("dynamic");
|
FabricatedOverlay overlay = newFabricatedOverlay("dynamic");
|
||||||
assignDynamicPaletteToOverlay(overlay, true /* isDark */);
|
assignDynamicPaletteToOverlay(overlay, true /* isDark */);
|
||||||
assignDynamicPaletteToOverlay(overlay, false /* isDark */);
|
assignDynamicPaletteToOverlay(overlay, false /* isDark */);
|
||||||
|
assignFixedColorsToOverlay(overlay);
|
||||||
return overlay;
|
return overlay;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -638,6 +639,15 @@ public class ThemeOverlayController implements CoreStartable, Dumpable {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void assignFixedColorsToOverlay(FabricatedOverlay overlay) {
|
||||||
|
DynamicColors.FIXED_COLORS_MAPPED.forEach(p -> {
|
||||||
|
String resourceName = "android:color/system_" + p.first;
|
||||||
|
int colorValue = p.second.getArgb(mDynamicSchemeLight);
|
||||||
|
overlay.setResourceValue(resourceName, TYPE_INT_COLOR_ARGB8, colorValue,
|
||||||
|
null /* configuration */);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if the color scheme in mColorScheme matches the current system palettes.
|
* Checks if the color scheme in mColorScheme matches the current system palettes.
|
||||||
* @param managedProfiles List of managed profiles for this user.
|
* @param managedProfiles List of managed profiles for this user.
|
||||||
@@ -666,7 +676,9 @@ public class ThemeOverlayController implements CoreStartable, Dumpable {
|
|||||||
&& res.getColor(android.R.color.system_primary_container_dark, theme)
|
&& res.getColor(android.R.color.system_primary_container_dark, theme)
|
||||||
== MaterialDynamicColors.primaryContainer().getArgb(mDynamicSchemeDark)
|
== MaterialDynamicColors.primaryContainer().getArgb(mDynamicSchemeDark)
|
||||||
&& res.getColor(android.R.color.system_primary_container_light, theme)
|
&& res.getColor(android.R.color.system_primary_container_light, theme)
|
||||||
== MaterialDynamicColors.primaryContainer().getArgb(mDynamicSchemeLight))) {
|
== MaterialDynamicColors.primaryContainer().getArgb(mDynamicSchemeLight)
|
||||||
|
&& res.getColor(android.R.color.system_primary_fixed, theme)
|
||||||
|
== MaterialDynamicColors.primaryFixed().getArgb(mDynamicSchemeLight))) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
package com.android.systemui.theme;
|
package com.android.systemui.theme;
|
||||||
|
|
||||||
|
import static android.util.TypedValue.TYPE_INT_COLOR_ARGB8;
|
||||||
|
|
||||||
import static com.android.systemui.keyguard.WakefulnessLifecycle.WAKEFULNESS_AWAKE;
|
import static com.android.systemui.keyguard.WakefulnessLifecycle.WAKEFULNESS_AWAKE;
|
||||||
import static com.android.systemui.theme.ThemeOverlayApplier.OVERLAY_CATEGORY_ACCENT_COLOR;
|
import static com.android.systemui.theme.ThemeOverlayApplier.OVERLAY_CATEGORY_ACCENT_COLOR;
|
||||||
import static com.android.systemui.theme.ThemeOverlayApplier.OVERLAY_CATEGORY_SYSTEM_PALETTE;
|
import static com.android.systemui.theme.ThemeOverlayApplier.OVERLAY_CATEGORY_SYSTEM_PALETTE;
|
||||||
@@ -29,6 +31,7 @@ import static org.mockito.Mockito.clearInvocations;
|
|||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
import static org.mockito.Mockito.never;
|
import static org.mockito.Mockito.never;
|
||||||
import static org.mockito.Mockito.reset;
|
import static org.mockito.Mockito.reset;
|
||||||
|
import static org.mockito.Mockito.times;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.verifyNoMoreInteractions;
|
import static org.mockito.Mockito.verifyNoMoreInteractions;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
@@ -926,4 +929,38 @@ public class ThemeOverlayControllerTest extends SysuiTestCase {
|
|||||||
verify(mThemeOverlayApplier, never()).applyCurrentUserOverlays(any(), any(), anyInt(),
|
verify(mThemeOverlayApplier, never()).applyCurrentUserOverlays(any(), any(), anyInt(),
|
||||||
any());
|
any());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void createDynamicOverlay_addsAllDynamicColors() {
|
||||||
|
// Trigger new wallpaper colors to generate an overlay
|
||||||
|
WallpaperColors mainColors = new WallpaperColors(Color.valueOf(Color.RED),
|
||||||
|
Color.valueOf(Color.BLUE), null);
|
||||||
|
mColorsListener.getValue().onColorsChanged(mainColors, WallpaperManager.FLAG_SYSTEM,
|
||||||
|
USER_SYSTEM);
|
||||||
|
ArgumentCaptor<FabricatedOverlay[]> themeOverlays =
|
||||||
|
ArgumentCaptor.forClass(FabricatedOverlay[].class);
|
||||||
|
|
||||||
|
verify(mThemeOverlayApplier)
|
||||||
|
.applyCurrentUserOverlays(any(), themeOverlays.capture(), anyInt(), any());
|
||||||
|
|
||||||
|
FabricatedOverlay[] overlays = themeOverlays.getValue();
|
||||||
|
FabricatedOverlay accents = overlays[0];
|
||||||
|
FabricatedOverlay neutrals = overlays[1];
|
||||||
|
FabricatedOverlay dynamic = overlays[2];
|
||||||
|
|
||||||
|
final int colorsPerPalette = 12;
|
||||||
|
|
||||||
|
// Color resources were added for all 3 accent palettes
|
||||||
|
verify(accents, times(colorsPerPalette * 3))
|
||||||
|
.setResourceValue(any(String.class), eq(TYPE_INT_COLOR_ARGB8), anyInt(), eq(null));
|
||||||
|
// Color resources were added for all 2 neutral palettes
|
||||||
|
verify(neutrals, times(colorsPerPalette * 2))
|
||||||
|
.setResourceValue(any(String.class), eq(TYPE_INT_COLOR_ARGB8), anyInt(), eq(null));
|
||||||
|
// All dynamic colors were added twice: light and dark them
|
||||||
|
// All fixed colors were added once
|
||||||
|
verify(dynamic, times(
|
||||||
|
DynamicColors.ALL_DYNAMIC_COLORS_MAPPED.size() * 2
|
||||||
|
+ DynamicColors.FIXED_COLORS_MAPPED.size())
|
||||||
|
).setResourceValue(any(String.class), eq(TYPE_INT_COLOR_ARGB8), anyInt(), eq(null));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user