diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2018-11-02 18:00:04 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-11-02 18:00:04 +0000 |
commit | b1513bd811d4efd6ec9b0251c5663c544c278909 (patch) | |
tree | 66fd22d7a9cb4166a097e0748ccfe692db3caa6b | |
parent | 472e17bbb2dbe5860ccc85870b0033bbd0aee322 (diff) | |
parent | 7fbc503b9a29fdc141218620d690334d5e38273c (diff) | |
download | android_packages_apps_Trebuchet-b1513bd811d4efd6ec9b0251c5663c544c278909.tar.gz android_packages_apps_Trebuchet-b1513bd811d4efd6ec9b0251c5663c544c278909.tar.bz2 android_packages_apps_Trebuchet-b1513bd811d4efd6ec9b0251c5663c544c278909.zip |
Merge "Simplifying scrim drawable initialization." into ub-launcher3-master
-rw-r--r-- | src/com/android/launcher3/graphics/WorkspaceAndHotseatScrim.java | 40 |
1 files changed, 17 insertions, 23 deletions
diff --git a/src/com/android/launcher3/graphics/WorkspaceAndHotseatScrim.java b/src/com/android/launcher3/graphics/WorkspaceAndHotseatScrim.java index 00cc1a7e2..6c98d16b4 100644 --- a/src/com/android/launcher3/graphics/WorkspaceAndHotseatScrim.java +++ b/src/com/android/launcher3/graphics/WorkspaceAndHotseatScrim.java @@ -121,7 +121,6 @@ public class WorkspaceAndHotseatScrim implements private Workspace mWorkspace; - private final boolean mHasSysUiScrim; private boolean mDrawTopScrim, mDrawBottomScrim; private final RectF mFinalMaskRect = new RectF(); @@ -149,15 +148,9 @@ public class WorkspaceAndHotseatScrim implements mMaskHeight = Utilities.pxFromDp(ALPHA_MASK_BITMAP_DP, view.getResources().getDisplayMetrics()); - - mHasSysUiScrim = !mWallpaperColorInfo.supportsDarkText(); - if (mHasSysUiScrim) { - mTopScrim = Themes.getAttrDrawable(view.getContext(), R.attr.workspaceStatusBarScrim); - mBottomMask = createDitheredAlphaMask(); - } else { - mTopScrim = null; - mBottomMask = null; - } + mTopScrim = Themes.getAttrDrawable(view.getContext(), R.attr.workspaceStatusBarScrim); + mBottomMask = mTopScrim == null ? null : createDitheredAlphaMask(); + mHideSysUiScrim = mTopScrim == null; view.addOnAttachStateChangeListener(this); onExtractedColorsChanged(mWallpaperColorInfo); @@ -185,7 +178,7 @@ public class WorkspaceAndHotseatScrim implements canvas.restore(); } - if (!mHideSysUiScrim && mHasSysUiScrim) { + if (!mHideSysUiScrim) { if (mSysUiProgress <= 0) { mAnimateScrimOnNextDraw = false; return; @@ -213,8 +206,9 @@ public class WorkspaceAndHotseatScrim implements } public void onInsetsChanged(Rect insets) { - mDrawTopScrim = insets.top > 0; - mDrawBottomScrim = !mLauncher.getDeviceProfile().isVerticalBarLayout(); + mDrawTopScrim = mTopScrim != null && insets.top > 0; + mDrawBottomScrim = mBottomMask != null && + !mLauncher.getDeviceProfile().isVerticalBarLayout(); } private void setScrimProgress(float progress) { @@ -230,7 +224,7 @@ public class WorkspaceAndHotseatScrim implements mWallpaperColorInfo.addOnChangeListener(this); onExtractedColorsChanged(mWallpaperColorInfo); - if (mHasSysUiScrim) { + if (mTopScrim != null) { IntentFilter filter = new IntentFilter(ACTION_SCREEN_OFF); filter.addAction(ACTION_USER_PRESENT); // When the device wakes up + keyguard is gone mRoot.getContext().registerReceiver(mReceiver, filter); @@ -240,7 +234,7 @@ public class WorkspaceAndHotseatScrim implements @Override public void onViewDetachedFromWindow(View view) { mWallpaperColorInfo.removeOnChangeListener(this); - if (mHasSysUiScrim) { + if (mTopScrim != null) { mRoot.getContext().unregisterReceiver(mReceiver); } } @@ -259,14 +253,14 @@ public class WorkspaceAndHotseatScrim implements } public void setSize(int w, int h) { - if (mHasSysUiScrim) { + if (mTopScrim != null) { mTopScrim.setBounds(0, 0, w, h); mFinalMaskRect.set(0, h - mMaskHeight, w, h); } } public void hideSysUiScrim(boolean hideSysUiScrim) { - mHideSysUiScrim = hideSysUiScrim; + mHideSysUiScrim = hideSysUiScrim || (mTopScrim == null); if (!hideSysUiScrim) { mAnimateScrimOnNextDraw = true; } @@ -281,18 +275,18 @@ public class WorkspaceAndHotseatScrim implements } private void reapplySysUiAlpha() { - if (mHasSysUiScrim) { - reapplySysUiAlphaNoInvalidate(); - if (!mHideSysUiScrim) { - invalidate(); - } + reapplySysUiAlphaNoInvalidate(); + if (!mHideSysUiScrim) { + invalidate(); } } private void reapplySysUiAlphaNoInvalidate() { float factor = mSysUiProgress * mSysUiAnimMultiplier; mBottomMaskPaint.setAlpha(Math.round(MAX_HOTSEAT_SCRIM_ALPHA * factor)); - mTopScrim.setAlpha(Math.round(255 * factor)); + if (mTopScrim != null) { + mTopScrim.setAlpha(Math.round(255 * factor)); + } } public void invalidate() { |