diff --git a/res/values-v29/styles.xml b/res/values-v29/styles.xml index 75905949a5..8254d483fc 100644 --- a/res/values-v29/styles.xml +++ b/res/values-v29/styles.xml @@ -27,6 +27,7 @@ true true ?attr/workspaceTextColor + ?attr/isWorkspaceDarkText shortEdges false false diff --git a/res/values-v30/styles.xml b/res/values-v30/styles.xml index 71740a92c5..a144363e12 100644 --- a/res/values-v30/styles.xml +++ b/res/values-v30/styles.xml @@ -27,6 +27,7 @@ true true ?attr/workspaceTextColor + ?attr/isWorkspaceDarkText always false false diff --git a/res/values/attrs.xml b/res/values/attrs.xml index a81802d87a..1f8a022b73 100644 --- a/res/values/attrs.xml +++ b/res/values/attrs.xml @@ -43,6 +43,7 @@ + diff --git a/res/values/styles.xml b/res/values/styles.xml index dd72114495..0bca00ebf3 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -27,6 +27,7 @@ true true ?attr/workspaceTextColor + ?attr/isWorkspaceDarkText @@ -86,6 +89,7 @@ #CDFFFFFF #FF80868B ?attr/workspaceTextColor + true @@ -126,6 +132,7 @@ #19212121 #CDFFFFFF ?attr/workspaceTextColor + ?attr/isWorkspaceDarkText @color/workspace_text_color_dark @android:color/transparent @android:color/transparent diff --git a/src/com/android/launcher3/folder/Folder.java b/src/com/android/launcher3/folder/Folder.java index 22d1b1c48a..f5a8ef6f1d 100644 --- a/src/com/android/launcher3/folder/Folder.java +++ b/src/com/android/launcher3/folder/Folder.java @@ -296,6 +296,8 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo } if (Utilities.ATLEAST_S) { + mColorExtractionIndex = LocalColorExtractor.getColorIndex( + !Themes.getAttrBoolean(getContext(), R.attr.isFolderDarkText)); mColorExtractor = LocalColorExtractor.newInstance(getContext()); mColorListener = (RectF rect, SparseIntArray extractedColors) -> { mColorChangeRunnable = () -> { diff --git a/src/com/android/launcher3/folder/FolderAnimationManager.java b/src/com/android/launcher3/folder/FolderAnimationManager.java index af8be8d2f9..7fbfb8934e 100644 --- a/src/com/android/launcher3/folder/FolderAnimationManager.java +++ b/src/com/android/launcher3/folder/FolderAnimationManager.java @@ -168,15 +168,15 @@ public class FolderAnimationManager { final float yDistance = initialY - lp.y; // Set up the Folder background. - int previewBackgroundColor = Themes.getAttrColor(mContext, R.attr.folderFillColor); final int finalColor; + int folderFillColor = Themes.getAttrColor(mContext, R.attr.folderFillColor); if (mIsOpening) { - finalColor = Themes.getAttrColor(mContext, R.attr.popupColorPrimary); + finalColor = folderFillColor; } else { finalColor = mFolderBackground.getColor().getDefaultColor(); } - final int initialColor = setColorAlphaBound(previewBackgroundColor, - mPreviewBackground.getBackgroundAlpha()); + final int initialColor = setColorAlphaBound( + folderFillColor, mPreviewBackground.getBackgroundAlpha()); mFolderBackground.mutate(); mFolderBackground.setColor(mIsOpening ? initialColor : finalColor); diff --git a/src/com/android/launcher3/widget/LocalColorExtractor.java b/src/com/android/launcher3/widget/LocalColorExtractor.java index a66024aafc..e479b7d049 100644 --- a/src/com/android/launcher3/widget/LocalColorExtractor.java +++ b/src/com/android/launcher3/widget/LocalColorExtractor.java @@ -113,8 +113,14 @@ public class LocalColorExtractor implements ResourceBasedOverride { * Returns an index used to query the color of interest from the list of extracted colors. */ public static int getColorIndex(Context context) { - return Utilities.isDarkTheme(context) - ? DARK_COLOR_EXTRACTION_INDEX - : LIGHT_COLOR_EXTRACTION_INDEX; + return getColorIndex(Utilities.isDarkTheme(context)); + } + + /** + * Returns an index used to query the color of interest from the list of extracted colors. + * @param getDarkIndex True when dark index is wanted, False when light index is wanted. + */ + public static int getColorIndex(boolean getDarkIndex) { + return getDarkIndex ? DARK_COLOR_EXTRACTION_INDEX : LIGHT_COLOR_EXTRACTION_INDEX; } }