Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 81f748d5 authored by Omar Elmekkawy's avatar Omar Elmekkawy
Browse files

Updating tiling handle color to be the theme outline variant.

This CL updates the tiling divider color to be the theme outline variant
and updates the divider color on theme change.

Flag: com.android.window.flags.enable_tile_resizing

Test: device testing of handle color changes, just UI changes
so no unit tests

Bug: 402779110
Change-Id: Ifb4a173201ebf95f1b9d61a395585d1ba830863d
parent 3d357938
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -68,8 +68,6 @@
    <color name="desktop_mode_caption_button_on_hover_light">#11000000</color>
    <color name="desktop_mode_caption_button_on_hover_dark">#11FFFFFF</color>
    <color name="desktop_mode_caption_button">#00000000</color>
    <color name="tiling_divider_background_light">#C9C7B6</color>
    <color name="tiling_divider_background_dark">#4A4739</color>
    <color name="tiling_handle_background_light">#000000</color>
    <color name="tiling_handle_background_dark">#FFFFFF</color>
</resources>
+17 −11
Original line number Diff line number Diff line
@@ -106,31 +106,37 @@ public class DividerRoundedCorner extends View {
     * of non split screen.
     *
     * @param isSplitScreen Whether the divider is used by split screen or tiling.
     * @param isDarkMode    Whether the mode is ui dark mode.
     * @param color         Rounded corner color.
     */
    public void setup(boolean isSplitScreen, boolean isDarkMode) {
    public void setup(boolean isSplitScreen, int color) {
        mIsSplitScreen = isSplitScreen;
        if (!isSplitScreen) {
            mDividerBarBackground.setColor(getTilingHandleColor(isDarkMode));
            mDividerBarBackground.setColor(color);
        }
    }

    /**
     * Notifies the divider of ui mode change.
     * Notifies the divider of ui mode change and provides a new color.
     *
     * @param isDarkMode Whether the mode is ui dark mode.
     * @param color The new divider rounded corner color.
     */
    public void onUiModeChange(boolean isDarkMode) {
    public void onUiModeChange(int color) {
        if (!mIsSplitScreen) {
            mDividerBarBackground.setColor(getTilingHandleColor(isDarkMode));
            mDividerBarBackground.setColor(color);
            invalidate();
        }
    }

    private int getTilingHandleColor(boolean isDarkMode) {
        return isDarkMode ? getResources().getColor(
                R.color.tiling_divider_background_dark, null /* theme */) : getResources().getColor(
                R.color.tiling_divider_background_light, null /* theme */);
    /**
     * Notifies rounded corner view of color change.
     *
     * @param color The new divider rounded corner color.
     */
    public void onCornerColorChange(int color) {
        if (!mIsSplitScreen) {
            mDividerBarBackground.setColor(color);
            invalidate();
        }
    }

    /**
+3 −0
Original line number Diff line number Diff line
@@ -92,4 +92,7 @@ internal class DecorThemeUtil(private val context: Context) {
        Theme.LIGHT -> lightColors
        Theme.DARK -> darkColors
    }

    fun getColorScheme(isDarkMode: Boolean): ColorScheme =
        if (isDarkMode) darkColors else lightColors
}
+5 −0
Original line number Diff line number Diff line
@@ -198,6 +198,11 @@ class DesktopTilingDividerWindowManager(
        tilingDividerView?.onUiModeChange(isDarkMode)
    }

    /** Notifies the divider view of task info change and possible color change. */
    fun onTaskInfoChange() {
        tilingDividerView?.onTaskInfoChange()
    }

    /** Hides the divider bar. */
    fun hideDividerBar() {
        if (!dividerShown) {
+1 −0
Original line number Diff line number Diff line
@@ -375,6 +375,7 @@ class DesktopTilingWindowDecoration(

    fun onTaskInfoChange(taskInfo: RunningTaskInfo) {
        val isCurrentTaskInDarkMode = isTaskInDarkMode(taskInfo)
        desktopTilingDividerWindowManager?.onTaskInfoChange()
        if (isCurrentTaskInDarkMode == isDarkMode || !isTilingManagerInitialised) return
        isDarkMode = isCurrentTaskInDarkMode
        desktopTilingDividerWindowManager?.onUiModeChange(isDarkMode)
Loading