OSDN Git Service

Revert "AOD: Use color filter to invert icons for AOD"
authorSelim Cinek <cinek@google.com>
Mon, 20 Mar 2017 17:43:50 +0000 (17:43 +0000)
committerSelim Cinek <cinek@google.com>
Mon, 20 Mar 2017 17:43:50 +0000 (17:43 +0000)
Bug: 36430936
This reverts commit cc957752970c05de64272f33176395dfa2840486.

Change-Id: I1aa4a05d0bc823e02338693e1bf20786dd2ac019

packages/SystemUI/src/com/android/systemui/statusbar/NotificationShelf.java
packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java
packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationDozeHelper.java
packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconContainer.java

index b7b4a3b..8da17fa 100644 (file)
@@ -23,6 +23,7 @@ import android.util.AttributeSet;
 import android.view.View;
 import android.view.ViewGroup;
 
+import com.android.internal.widget.CachingIconView;
 import com.android.systemui.Interpolators;
 import com.android.systemui.R;
 import com.android.systemui.ViewInvertHelper;
@@ -126,7 +127,12 @@ public class NotificationShelf extends ActivatableNotificationView implements
         super.setDark(dark, fade, delay);
         if (mDark == dark) return;
         mDark = dark;
-        mShelfIcons.setDark(dark, fade, delay);
+        if (fade) {
+            mViewInvertHelper.fade(dark, delay);
+        } else {
+            mViewInvertHelper.update(dark);
+        }
+        mShelfIcons.setAmbient(dark);
     }
 
     @Override
index ffc4e8d..1101701 100644 (file)
@@ -27,7 +27,6 @@ import android.content.res.ColorStateList;
 import android.content.res.Configuration;
 import android.content.res.Resources;
 import android.graphics.Canvas;
-import android.graphics.Color;
 import android.graphics.Paint;
 import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
@@ -47,7 +46,6 @@ import android.view.animation.Interpolator;
 import com.android.internal.statusbar.StatusBarIcon;
 import com.android.systemui.Interpolators;
 import com.android.systemui.R;
-import com.android.systemui.statusbar.notification.NotificationIconDozeHelper;
 import com.android.systemui.statusbar.notification.NotificationUtils;
 
 import java.text.NumberFormat;
@@ -101,6 +99,7 @@ public class StatusBarIconView extends AnimatedImageView {
     private int mDensity;
     private float mIconScale = 1.0f;
     private final Paint mDotPaint = new Paint();
+    private boolean mDotVisible;
     private float mDotRadius;
     private int mStaticDotRadius;
     private int mVisibleState = STATE_ICON;
@@ -111,8 +110,6 @@ public class StatusBarIconView extends AnimatedImageView {
     private OnVisibilityChangedListener mOnVisibilityChangedListener;
     private int mDrawableColor;
     private int mIconColor;
-    private int mDecorColor;
-    private float mDarkAmount;
     private ValueAnimator mColorAnimator;
     private int mCurrentSetColor = NO_COLOR;
     private int mAnimationStartColor = NO_COLOR;
@@ -122,7 +119,6 @@ public class StatusBarIconView extends AnimatedImageView {
                 animation.getAnimatedFraction());
         setColorInternal(newColor);
     };
-    private final NotificationIconDozeHelper mDozer;
 
     public StatusBarIconView(Context context, String slot, Notification notification) {
         this(context, slot, notification, false);
@@ -131,7 +127,6 @@ public class StatusBarIconView extends AnimatedImageView {
     public StatusBarIconView(Context context, String slot, Notification notification,
             boolean blocked) {
         super(context);
-        mDozer = new NotificationIconDozeHelper(context);
         mBlocked = blocked;
         mSlot = slot;
         mNumberPain = new Paint();
@@ -195,7 +190,6 @@ public class StatusBarIconView extends AnimatedImageView {
 
     public StatusBarIconView(Context context, AttributeSet attrs) {
         super(context, attrs);
-        mDozer = new NotificationIconDozeHelper(context);
         mBlocked = false;
         mAlwaysScaleIcon = true;
         updateIconScale();
@@ -472,19 +466,7 @@ public class StatusBarIconView extends AnimatedImageView {
      * to the drawable.
      */
     public void setDecorColor(int iconTint) {
-        mDecorColor = iconTint;
-        updateDecorColor();
-    }
-
-    private void updateDecorColor() {
-        int color = NotificationUtils.interpolateColors(mDecorColor, Color.WHITE, mDarkAmount);
-        if (mDotPaint.getColor() != color) {
-            mDotPaint.setColor(color);
-
-            if (mDotAppearAmount != 0) {
-                invalidate();
-            }
-        }
+        mDotPaint.setColor(iconTint);
     }
 
     /**
@@ -495,7 +477,6 @@ public class StatusBarIconView extends AnimatedImageView {
         mDrawableColor = color;
         setColorInternal(color);
         mIconColor = color;
-        mDozer.setColor(color);
     }
 
     private void setColorInternal(int color) {
@@ -668,14 +649,6 @@ public class StatusBarIconView extends AnimatedImageView {
         mOnVisibilityChangedListener = listener;
     }
 
-    public void setDark(boolean dark, boolean fade, long delay) {
-        mDozer.setImageDark(this, dark, fade, delay, mIconColor != NO_COLOR);
-        mDozer.setIntensityDark(f -> {
-            mDarkAmount = f;
-            updateDecorColor();
-        }, dark, fade, delay);
-    }
-
     public interface OnVisibilityChangedListener {
         void onVisibilityChanged(int newVisibility);
     }
index d592c5f..09efec6 100644 (file)
@@ -26,8 +26,6 @@ import android.widget.ImageView;
 import com.android.systemui.Interpolators;
 import com.android.systemui.statusbar.phone.NotificationPanelView;
 
-import java.util.function.Consumer;
-
 public class NotificationDozeHelper {
     private final ColorMatrix mGrayscaleColorMatrix = new ColorMatrix();
 
@@ -72,16 +70,6 @@ public class NotificationDozeHelper {
         animator.start();
     }
 
-    public void setIntensityDark(Consumer<Float> listener, boolean dark,
-            boolean animate, long delay) {
-        if (animate) {
-            startIntensityAnimation(a -> listener.accept((Float) a.getAnimatedValue()), dark, delay,
-                    null /* listener */);
-        } else {
-            listener.accept(dark ? 1f : 0f);
-        }
-    }
-
     public void updateGrayscaleMatrix(float intensity) {
         mGrayscaleColorMatrix.setSaturation(1 - intensity);
     }
index dee15d8..3706dc8 100644 (file)
@@ -95,7 +95,7 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout {
     private int mActualLayoutWidth = NO_VALUE;
     private float mActualPaddingEnd = NO_VALUE;
     private float mActualPaddingStart = NO_VALUE;
-    private boolean mDark;
+    private boolean mCentered;
     private boolean mChangingViewPositions;
     private int mAddAnimationStartIndex = -1;
     private int mCannedAnimationStartIndex = -1;
@@ -183,9 +183,6 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout {
                 mAddAnimationStartIndex = Math.min(mAddAnimationStartIndex, childIndex);
             }
         }
-        if (mDark && child instanceof StatusBarIconView) {
-            ((StatusBarIconView) child).setDark(mDark, false, 0);
-        }
     }
 
     @Override
@@ -315,8 +312,7 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout {
                 numDots++;
             }
         }
-        boolean center = mDark;
-        if (center && translationX < getLayoutEnd()) {
+        if (mCentered && translationX < getLayoutEnd()) {
             float delta = (getLayoutEnd() - translationX) / 2;
             for (int i = 0; i < childCount; i++) {
                 View view = getChildAt(i);
@@ -394,15 +390,9 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout {
         mChangingViewPositions = changingViewPositions;
     }
 
-    public void setDark(boolean dark, boolean fade, long delay) {
-        mDark = dark;
+    public void setAmbient(boolean ambient) {
+        mCentered = ambient;
         mDisallowNextAnimation = true;
-        for (int i = 0; i < getChildCount(); i++) {
-            View view = getChildAt(i);
-            if (view instanceof StatusBarIconView) {
-                ((StatusBarIconView) view).setDark(dark, fade, delay);
-            }
-        }
     }
 
     public IconState getIconState(StatusBarIconView icon) {