From 4ed0fb5074599c3b48770518e2da79c11e7f8d1d Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Mon, 26 Apr 2021 09:52:47 -0700 Subject: [PATCH] Removing dependency on wallpaper colors and using theme resources Bug: 184676715 Test: Manual Change-Id: Ie9a9a784c4a8a8cd484bfd8ea463deedcd4deed6 --- AndroidManifest-common.xml | 6 - quickstep/AndroidManifest.xml | 3 - .../uioverrides/WallpaperColorInfo.java | 117 --- .../quickstep/fallback/RecentsDragLayer.java | 11 - .../util/StaggeredWorkspaceAnim.java | 2 +- res/values-v31/colors.xml | 3 + res/values/attrs.xml | 1 - res/values/colors.xml | 2 + res/values/config.xml | 3 - res/values/styles.xml | 4 - .../launcher3/BaseDraggingActivity.java | 20 +- .../android/launcher3/LauncherRootView.java | 17 +- src/com/android/launcher3/Workspace.java | 3 - .../WorkspaceStateTransitionAnimation.java | 2 +- .../launcher3/dragndrop/DragLayer.java | 26 - src/com/android/launcher3/graphics/Scrim.java | 44 +- .../launcher3/graphics/SysUiScrim.java | 51 +- .../WorkspacePageIndicator.java | 4 +- .../launcher3/states/SpringLoadedState.java | 2 +- .../AbstractStateChangeTouchController.java | 2 +- src/com/android/launcher3/util/Themes.java | 41 +- .../launcher3/views/BaseDragLayer.java | 56 -- .../launcher3/widget/BaseWidgetSheet.java | 4 +- .../uioverrides/WallpaperColorInfo.java | 128 --- .../dynamicui/ColorExtractionAlgorithm.java | 795 ------------------ .../dynamicui/WallpaperColorsCompat.java | 55 -- .../dynamicui/WallpaperManagerCompat.java | 61 -- .../dynamicui/WallpaperManagerCompatVL.java | 271 ------ .../WallpaperManagerCompatVOMR1.java | 85 -- 29 files changed, 82 insertions(+), 1737 deletions(-) delete mode 100644 quickstep/src/com/android/launcher3/uioverrides/WallpaperColorInfo.java delete mode 100644 src_ui_overrides/com/android/launcher3/uioverrides/WallpaperColorInfo.java delete mode 100644 src_ui_overrides/com/android/launcher3/uioverrides/dynamicui/ColorExtractionAlgorithm.java delete mode 100644 src_ui_overrides/com/android/launcher3/uioverrides/dynamicui/WallpaperColorsCompat.java delete mode 100644 src_ui_overrides/com/android/launcher3/uioverrides/dynamicui/WallpaperManagerCompat.java delete mode 100644 src_ui_overrides/com/android/launcher3/uioverrides/dynamicui/WallpaperManagerCompatVL.java delete mode 100644 src_ui_overrides/com/android/launcher3/uioverrides/dynamicui/WallpaperManagerCompatVOMR1.java diff --git a/AndroidManifest-common.xml b/AndroidManifest-common.xml index 4e72260e9c..87a08afc24 100644 --- a/AndroidManifest-common.xml +++ b/AndroidManifest-common.xml @@ -93,12 +93,6 @@ - - - - INSTANCE = - new MainThreadInitializedObject<>(WallpaperColorInfo::new); - - private final ArrayList mListeners = new ArrayList<>(); - private final WallpaperManager mWallpaperManager; - private final TonalCompat mTonalCompat; - - private ExtractionInfo mExtractionInfo; - - private OnChangeListener[] mTempListeners = new OnChangeListener[0]; - - private WallpaperColorInfo(Context context) { - mWallpaperManager = context.getSystemService(WallpaperManager.class); - mTonalCompat = new TonalCompat(context); - - mWallpaperManager.addOnColorsChangedListener(this, new Handler(Looper.getMainLooper())); - update(mWallpaperManager.getWallpaperColors(FLAG_SYSTEM)); - } - - public int getMainColor() { - return mExtractionInfo.mainColor; - } - - public int getSecondaryColor() { - return mExtractionInfo.secondaryColor; - } - - public boolean isDark() { - return mExtractionInfo.supportsDarkTheme; - } - - public boolean supportsDarkText() { - return mExtractionInfo.supportsDarkText; - } - - public boolean isMainColorDark() { - return mExtractionInfo.mainColor == MAIN_COLOR_DARK; - } - - @Override - public void onColorsChanged(WallpaperColors colors, int which) { - if ((which & FLAG_SYSTEM) != 0) { - update(colors); - notifyChange(); - } - } - - private void update(WallpaperColors wallpaperColors) { - mExtractionInfo = mTonalCompat.extractDarkColors(wallpaperColors); - } - - public void addOnChangeListener(OnChangeListener listener) { - mListeners.add(listener); - } - - public void removeOnChangeListener(OnChangeListener listener) { - mListeners.remove(listener); - } - - private void notifyChange() { - // Create a new array to avoid concurrent modification when the activity destroys itself. - mTempListeners = mListeners.toArray(mTempListeners); - for (int i = mTempListeners.length - 1; i >= 0; --i) { - final OnChangeListener listener = mTempListeners[i]; - if (listener != null) { - listener.onExtractedColorsChanged(this); - mTempListeners[i] = null; - } - } - } - - public interface OnChangeListener { - void onExtractedColorsChanged(WallpaperColorInfo wallpaperColorInfo); - } -} diff --git a/quickstep/src/com/android/quickstep/fallback/RecentsDragLayer.java b/quickstep/src/com/android/quickstep/fallback/RecentsDragLayer.java index a00015a233..29c3dc81da 100644 --- a/quickstep/src/com/android/quickstep/fallback/RecentsDragLayer.java +++ b/quickstep/src/com/android/quickstep/fallback/RecentsDragLayer.java @@ -16,11 +16,8 @@ package com.android.quickstep.fallback; import android.content.Context; -import android.graphics.Rect; import android.util.AttributeSet; -import com.android.launcher3.R; -import com.android.launcher3.util.Themes; import com.android.launcher3.util.TouchController; import com.android.launcher3.views.BaseDragLayer; import com.android.quickstep.RecentsActivity; @@ -41,12 +38,4 @@ public class RecentsDragLayer extends BaseDragLayer { new FallbackNavBarTouchController(mActivity), }; } - - @Override - public void setInsets(Rect insets) { - super.setInsets(insets); - setBackground(insets.top == 0 || !mAllowSysuiScrims - ? null - : Themes.getAttrDrawable(getContext(), R.attr.workspaceStatusBarScrim)); - } } diff --git a/quickstep/src/com/android/quickstep/util/StaggeredWorkspaceAnim.java b/quickstep/src/com/android/quickstep/util/StaggeredWorkspaceAnim.java index de6c4f5e1c..ab951385b3 100644 --- a/quickstep/src/com/android/quickstep/util/StaggeredWorkspaceAnim.java +++ b/quickstep/src/com/android/quickstep/util/StaggeredWorkspaceAnim.java @@ -140,7 +140,7 @@ public class StaggeredWorkspaceAnim { addDepthAnimationForState(launcher, NORMAL, DURATION_MS); - mAnimators.play(launcher.getDragLayer().getSysUiScrim().createSysuiMultiplierAnim(0f, 1f) + mAnimators.play(launcher.getRootView().getSysUiScrim().createSysuiMultiplierAnim(0f, 1f) .setDuration(DURATION_MS)); mAnimators.addListener(new AnimatorListenerAdapter() { @Override diff --git a/res/values-v31/colors.xml b/res/values-v31/colors.xml index 87afd6bc52..7f27bf8ca5 100644 --- a/res/values-v31/colors.xml +++ b/res/values-v31/colors.xml @@ -32,4 +32,7 @@ @android:color/system_neutral1_50 @android:color/system_neutral2_200 @android:color/system_neutral2_400 + + @android:color/system_neutral1_900 + \ No newline at end of file diff --git a/res/values/attrs.xml b/res/values/attrs.xml index 7fe53d5ae7..09dd95cd92 100644 --- a/res/values/attrs.xml +++ b/res/values/attrs.xml @@ -19,7 +19,6 @@ - diff --git a/res/values/colors.xml b/res/values/colors.xml index 8a2cada827..83d2deb0b1 100644 --- a/res/values/colors.xml +++ b/res/values/colors.xml @@ -57,4 +57,6 @@ #FFFFFFFF #CCFFFFFF + ?android:attr/colorAccent + diff --git a/res/values/config.xml b/res/values/config.xml index b75af7f9e4..f8a517d1d0 100644 --- a/res/values/config.xml +++ b/res/values/config.xml @@ -216,9 +216,6 @@ @dimen/c2_d - - - diff --git a/res/values/styles.xml b/res/values/styles.xml index bae1485a93..5b379668b5 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -32,7 +32,6 @@