Merge "Fixed a bug where the icon of children could be colored" into nyc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
d212cfa107
@@ -1346,7 +1346,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
|
||||
expandButton.setVisibility(VISIBLE);
|
||||
mNotificationHeader.setOnClickListener(mExpandClickListener);
|
||||
mNotificationHeaderWrapper = NotificationViewWrapper.wrap(getContext(),
|
||||
mNotificationHeader);
|
||||
mNotificationHeader, this);
|
||||
addView(mNotificationHeader, indexOfChild(mChildrenContainer) + 1);
|
||||
mTranslateableViews.add(mNotificationHeader);
|
||||
} else {
|
||||
|
||||
@@ -307,7 +307,8 @@ public class NotificationContentView extends FrameLayout {
|
||||
addView(child);
|
||||
mContractedChild = child;
|
||||
mContractedChild.addOnLayoutChangeListener(mLayoutUpdater);
|
||||
mContractedWrapper = NotificationViewWrapper.wrap(getContext(), child);
|
||||
mContractedWrapper = NotificationViewWrapper.wrap(getContext(), child,
|
||||
mContainingNotification);
|
||||
selectLayout(false /* animate */, true /* force */);
|
||||
mContractedWrapper.setDark(mDark, false /* animate */, 0 /* delay */);
|
||||
}
|
||||
@@ -321,7 +322,8 @@ public class NotificationContentView extends FrameLayout {
|
||||
addView(child);
|
||||
mExpandedChild = child;
|
||||
mExpandedChild.addOnLayoutChangeListener(mLayoutUpdater);
|
||||
mExpandedWrapper = NotificationViewWrapper.wrap(getContext(), child);
|
||||
mExpandedWrapper = NotificationViewWrapper.wrap(getContext(), child,
|
||||
mContainingNotification);
|
||||
selectLayout(false /* animate */, true /* force */);
|
||||
}
|
||||
|
||||
@@ -334,7 +336,8 @@ public class NotificationContentView extends FrameLayout {
|
||||
addView(child);
|
||||
mHeadsUpChild = child;
|
||||
mHeadsUpChild.addOnLayoutChangeListener(mLayoutUpdater);
|
||||
mHeadsUpWrapper = NotificationViewWrapper.wrap(getContext(), child);
|
||||
mHeadsUpWrapper = NotificationViewWrapper.wrap(getContext(), child,
|
||||
mContainingNotification);
|
||||
selectLayout(false /* animate */, true /* force */);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,13 +23,16 @@ import android.os.Bundle;
|
||||
import android.service.notification.StatusBarNotification;
|
||||
import android.view.View;
|
||||
|
||||
import com.android.systemui.statusbar.ExpandableNotificationRow;
|
||||
|
||||
/**
|
||||
* Wraps a notification containing a big picture template
|
||||
*/
|
||||
public class NotificationBigPictureTemplateViewWrapper extends NotificationTemplateViewWrapper {
|
||||
|
||||
protected NotificationBigPictureTemplateViewWrapper(Context ctx, View view) {
|
||||
super(ctx, view);
|
||||
protected NotificationBigPictureTemplateViewWrapper(Context ctx, View view,
|
||||
ExpandableNotificationRow row) {
|
||||
super(ctx, view, row);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -21,6 +21,7 @@ import android.service.notification.StatusBarNotification;
|
||||
import android.view.View;
|
||||
|
||||
import com.android.internal.widget.ImageFloatingTextView;
|
||||
import com.android.systemui.statusbar.ExpandableNotificationRow;
|
||||
import com.android.systemui.statusbar.TransformableView;
|
||||
|
||||
/**
|
||||
@@ -30,8 +31,9 @@ public class NotificationBigTextTemplateViewWrapper extends NotificationTemplate
|
||||
|
||||
private ImageFloatingTextView mBigtext;
|
||||
|
||||
protected NotificationBigTextTemplateViewWrapper(Context ctx, View view) {
|
||||
super(ctx, view);
|
||||
protected NotificationBigTextTemplateViewWrapper(Context ctx, View view,
|
||||
ExpandableNotificationRow row) {
|
||||
super(ctx, view, row);
|
||||
}
|
||||
|
||||
private void resolveViews(StatusBarNotification notification) {
|
||||
|
||||
@@ -30,6 +30,7 @@ import android.view.View;
|
||||
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.ViewInvertHelper;
|
||||
import com.android.systemui.statusbar.ExpandableNotificationRow;
|
||||
import com.android.systemui.statusbar.phone.NotificationPanelView;
|
||||
|
||||
/**
|
||||
@@ -44,8 +45,8 @@ public class NotificationCustomViewWrapper extends NotificationViewWrapper {
|
||||
private boolean mShouldInvertDark;
|
||||
private boolean mShowingLegacyBackground;
|
||||
|
||||
protected NotificationCustomViewWrapper(View view) {
|
||||
super(view);
|
||||
protected NotificationCustomViewWrapper(View view, ExpandableNotificationRow row) {
|
||||
super(view, row);
|
||||
mInvertHelper = new ViewInvertHelper(view, NotificationPanelView.DOZE_ANIMATION_DURATION);
|
||||
}
|
||||
|
||||
|
||||
@@ -36,6 +36,7 @@ import android.widget.ImageView;
|
||||
import com.android.systemui.Interpolators;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.ViewInvertHelper;
|
||||
import com.android.systemui.statusbar.ExpandableNotificationRow;
|
||||
import com.android.systemui.statusbar.TransformableView;
|
||||
import com.android.systemui.statusbar.ViewTransformationHelper;
|
||||
import com.android.systemui.statusbar.phone.NotificationPanelView;
|
||||
@@ -61,8 +62,8 @@ public class NotificationHeaderViewWrapper extends NotificationViewWrapper {
|
||||
private ImageView mExpandButton;
|
||||
private NotificationHeaderView mNotificationHeader;
|
||||
|
||||
protected NotificationHeaderViewWrapper(Context ctx, View view) {
|
||||
super(view);
|
||||
protected NotificationHeaderViewWrapper(Context ctx, View view, ExpandableNotificationRow row) {
|
||||
super(view, row);
|
||||
mIconDarkAlpha = ctx.getResources().getInteger(R.integer.doze_small_icon_alpha);
|
||||
mInvertHelper = new ViewInvertHelper(ctx, NotificationPanelView.DOZE_ANIMATION_DURATION);
|
||||
mTransformationHelper = new ViewTransformationHelper();
|
||||
@@ -156,7 +157,9 @@ public class NotificationHeaderViewWrapper extends NotificationViewWrapper {
|
||||
} else {
|
||||
mInvertHelper.update(dark);
|
||||
}
|
||||
if (mIcon != null) {
|
||||
if (mIcon != null && !mRow.isChildInGroup()) {
|
||||
// We don't update the color for children views / their icon is invisible anyway.
|
||||
// It also may lead to bugs where the icon isn't correctly greyed out.
|
||||
boolean hadColorFilter = mNotificationHeader.getOriginalIconColor()
|
||||
!= NotificationHeaderView.NO_COLOR;
|
||||
if (fade) {
|
||||
|
||||
@@ -20,6 +20,7 @@ import android.content.Context;
|
||||
import android.service.notification.StatusBarNotification;
|
||||
import android.view.View;
|
||||
|
||||
import com.android.systemui.statusbar.ExpandableNotificationRow;
|
||||
import com.android.systemui.statusbar.TransformableView;
|
||||
|
||||
/**
|
||||
@@ -27,8 +28,9 @@ import com.android.systemui.statusbar.TransformableView;
|
||||
*/
|
||||
public class NotificationMediaTemplateViewWrapper extends NotificationTemplateViewWrapper {
|
||||
|
||||
protected NotificationMediaTemplateViewWrapper(Context ctx, View view) {
|
||||
super(ctx, view);
|
||||
protected NotificationMediaTemplateViewWrapper(Context ctx, View view,
|
||||
ExpandableNotificationRow row) {
|
||||
super(ctx, view, row);
|
||||
}
|
||||
|
||||
View mActions;
|
||||
|
||||
@@ -25,11 +25,10 @@ import android.widget.ImageView;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.systemui.Interpolators;
|
||||
import com.android.systemui.statusbar.CrossFadeHelper;
|
||||
import com.android.systemui.statusbar.ExpandableNotificationRow;
|
||||
import com.android.systemui.statusbar.TransformableView;
|
||||
import com.android.systemui.statusbar.ViewTransformationHelper;
|
||||
import com.android.systemui.statusbar.stack.StackStateAnimator;
|
||||
|
||||
/**
|
||||
* Wraps a notification view inflated from a template.
|
||||
@@ -43,8 +42,8 @@ public class NotificationTemplateViewWrapper extends NotificationHeaderViewWrapp
|
||||
private TextView mTitle;
|
||||
private TextView mText;
|
||||
|
||||
protected NotificationTemplateViewWrapper(Context ctx, View view) {
|
||||
super(ctx, view);
|
||||
protected NotificationTemplateViewWrapper(Context ctx, View view, ExpandableNotificationRow row) {
|
||||
super(ctx, view, row);
|
||||
mTransformationHelper.setCustomTransformation(
|
||||
new ViewTransformationHelper.CustomTransformation() {
|
||||
@Override
|
||||
|
||||
@@ -26,7 +26,7 @@ import android.view.View;
|
||||
|
||||
import com.android.systemui.Interpolators;
|
||||
import com.android.systemui.statusbar.CrossFadeHelper;
|
||||
import com.android.systemui.statusbar.NotificationContentView;
|
||||
import com.android.systemui.statusbar.ExpandableNotificationRow;
|
||||
import com.android.systemui.statusbar.TransformableView;
|
||||
import com.android.systemui.statusbar.phone.NotificationPanelView;
|
||||
|
||||
@@ -38,28 +38,30 @@ public abstract class NotificationViewWrapper implements TransformableView {
|
||||
|
||||
protected final ColorMatrix mGrayscaleColorMatrix = new ColorMatrix();
|
||||
protected final View mView;
|
||||
protected final ExpandableNotificationRow mRow;
|
||||
protected boolean mDark;
|
||||
protected boolean mDarkInitialized = false;
|
||||
|
||||
public static NotificationViewWrapper wrap(Context ctx, View v) {
|
||||
public static NotificationViewWrapper wrap(Context ctx, View v, ExpandableNotificationRow row) {
|
||||
if (v.getId() == com.android.internal.R.id.status_bar_latest_event_content) {
|
||||
if ("bigPicture".equals(v.getTag())) {
|
||||
return new NotificationBigPictureTemplateViewWrapper(ctx, v);
|
||||
return new NotificationBigPictureTemplateViewWrapper(ctx, v, row);
|
||||
} else if ("bigText".equals(v.getTag())) {
|
||||
return new NotificationBigTextTemplateViewWrapper(ctx, v);
|
||||
return new NotificationBigTextTemplateViewWrapper(ctx, v, row);
|
||||
} else if ("media".equals(v.getTag()) || "bigMediaNarrow".equals(v.getTag())) {
|
||||
return new NotificationMediaTemplateViewWrapper(ctx, v);
|
||||
return new NotificationMediaTemplateViewWrapper(ctx, v, row);
|
||||
}
|
||||
return new NotificationTemplateViewWrapper(ctx, v);
|
||||
return new NotificationTemplateViewWrapper(ctx, v, row);
|
||||
} else if (v instanceof NotificationHeaderView) {
|
||||
return new NotificationHeaderViewWrapper(ctx, v);
|
||||
return new NotificationHeaderViewWrapper(ctx, v, row);
|
||||
} else {
|
||||
return new NotificationCustomViewWrapper(v);
|
||||
return new NotificationCustomViewWrapper(v, row);
|
||||
}
|
||||
}
|
||||
|
||||
protected NotificationViewWrapper(View view) {
|
||||
protected NotificationViewWrapper(View view, ExpandableNotificationRow row) {
|
||||
mView = view;
|
||||
mRow = row;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user