From c15df4e3ace7b821a19a0996e56264ef93555ee9 Mon Sep 17 00:00:00 2001 From: Jason Chang Date: Sun, 28 Mar 2021 12:47:57 +0800 Subject: [PATCH] Apply "Dominant Palette A - 800" color to the background of One-Handed mode Change the One-Handed mode background color to Dominant Palette A - 800. (#3C4043) Bug: 177314967 Test: manual Test: atest WMShellUnitTests Change-Id: I68852d362f6f425832d36f3e60c2a41b9e505216 --- .../WindowManager/Shell/res/values/config.xml | 6 ----- .../OneHandedBackgroundPanelOrganizer.java | 22 +++++++++---------- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/libs/WindowManager/Shell/res/values/config.xml b/libs/WindowManager/Shell/res/values/config.xml index c2f591b9d7aff..8d29123658130 100644 --- a/libs/WindowManager/Shell/res/values/config.xml +++ b/libs/WindowManager/Shell/res/values/config.xml @@ -43,12 +43,6 @@ when the PIP menu is shown in center. --> "596 280 1324 690" - - 0.5 - - - 0.5 - 1000 diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedBackgroundPanelOrganizer.java b/libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedBackgroundPanelOrganizer.java index c7dbe880859d1..703eba9d6af7a 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedBackgroundPanelOrganizer.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/onehanded/OneHandedBackgroundPanelOrganizer.java @@ -17,7 +17,7 @@ package com.android.wm.shell.onehanded; import android.content.Context; -import android.content.res.Resources; +import android.graphics.Color; import android.graphics.PixelFormat; import android.graphics.Rect; import android.util.Log; @@ -30,6 +30,7 @@ import android.window.DisplayAreaOrganizer; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; +import androidx.core.content.ContextCompat; import com.android.internal.annotations.GuardedBy; import com.android.wm.shell.R; @@ -50,8 +51,7 @@ public class OneHandedBackgroundPanelOrganizer extends DisplayAreaOrganizer private final Object mLock = new Object(); private final SurfaceSession mSurfaceSession = new SurfaceSession(); - private final float[] mColor; - private final float mAlpha; + private final float[] mDefaultColor; private final Executor mMainExecutor; private final OneHandedSurfaceTransactionHelper.SurfaceControlTransactionFactory mSurfaceControlTransactionFactory; @@ -88,16 +88,15 @@ public class OneHandedBackgroundPanelOrganizer extends DisplayAreaOrganizer public OneHandedBackgroundPanelOrganizer(Context context, DisplayLayout displayLayout, Executor executor) { super(executor); - final Resources res = context.getResources(); - final float defaultRGB = res.getFloat(R.dimen.config_one_handed_background_rgb); - mColor = new float[]{defaultRGB, defaultRGB, defaultRGB}; - mAlpha = res.getFloat(R.dimen.config_one_handed_background_alpha); // Ensure the mBkgBounds is portrait, due to OHM only support on portrait if (displayLayout.height() > displayLayout.width()) { mBkgBounds = new Rect(0, 0, displayLayout.width(), displayLayout.height()); } else { mBkgBounds = new Rect(0, 0, displayLayout.height(), displayLayout.width()); } + final int defaultColor = ContextCompat.getColor(context, R.color.GM2_grey_800); + mDefaultColor = new float[]{Color.red(defaultColor) / 255.0f, + Color.green(defaultColor) / 255.0f, Color.blue(defaultColor) / 255.0f}; mMainExecutor = executor; mSurfaceControlTransactionFactory = SurfaceControl.Transaction::new; } @@ -153,8 +152,8 @@ public class OneHandedBackgroundPanelOrganizer extends DisplayAreaOrganizer .setParent(mParentLeash) .setBufferSize(mBkgBounds.width(), mBkgBounds.height()) .setColorLayer() - .setFormat(PixelFormat.RGBA_8888) - .setOpaque(false) + .setFormat(PixelFormat.RGB_888) + .setOpaque(true) .setName("one-handed-background-panel") .setCallsite("OneHandedBackgroundPanelOrganizer") .build(); @@ -178,8 +177,7 @@ public class OneHandedBackgroundPanelOrganizer extends DisplayAreaOrganizer SurfaceControl.Transaction transaction = mSurfaceControlTransactionFactory.getTransaction(); transaction.setLayer(mBackgroundSurface, -1 /* at bottom-most layer */) - .setColor(mBackgroundSurface, mColor) - .setAlpha(mBackgroundSurface, mAlpha) + .setColor(mBackgroundSurface, mDefaultColor) .show(mBackgroundSurface) .apply(); transaction.close(); @@ -210,5 +208,7 @@ public class OneHandedBackgroundPanelOrganizer extends DisplayAreaOrganizer pw.println(mIsShowing); pw.print(innerPrefix + "mBkgBounds="); pw.println(mBkgBounds); + pw.print(innerPrefix + "mDefaultColor="); + pw.println(mDefaultColor); } }