Remove the scrimming of notifications

Not really needed anymore and adds a lot of overdraw. Let's get rid
of it.

Bug: 17287256
Bug: 17346296
Change-Id: I319596f7059b6ed0d3d7a578d3c786921001f4b5
This commit is contained in:
Jorim Jaggi
2014-09-05 15:33:58 +02:00
parent 038839e947
commit 06c19ea001
13 changed files with 0 additions and 151 deletions

View File

@@ -64,9 +64,4 @@
/>
</LinearLayout>
<com.android.systemui.statusbar.NotificationScrimView
android:id="@+id/scrim_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</com.android.systemui.statusbar.NotificationOverflowContainer>

View File

@@ -59,9 +59,4 @@
android:layout_height="match_parent"
/>
<com.android.systemui.statusbar.NotificationScrimView
android:id="@+id/scrim_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</com.android.systemui.statusbar.ExpandableNotificationRow>

View File

@@ -121,7 +121,6 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView
private NotificationBackgroundView mBackgroundNormal;
private NotificationBackgroundView mBackgroundDimmed;
private NotificationScrimView mScrimView;
private ObjectAnimator mBackgroundAnimator;
private RectF mAppearAnimationRect = new RectF();
private PorterDuffColorFilter mAppearAnimationFilter;
@@ -173,8 +172,6 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView
mBackgroundDimmed.setCustomBackground(R.drawable.notification_material_bg_dim);
updateBackground();
updateBackgroundTint();
mScrimView = (NotificationScrimView) findViewById(R.id.scrim_view);
setScrimAmount(0);
}
private final Runnable mTapTimeoutRunnable = new Runnable() {
@@ -465,7 +462,6 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView
setPivotY(actualHeight / 2);
mBackgroundNormal.setActualHeight(actualHeight);
mBackgroundDimmed.setActualHeight(actualHeight);
mScrimView.setActualHeight(actualHeight);
}
@Override
@@ -473,7 +469,6 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView
super.setClipTopAmount(clipTopAmount);
mBackgroundNormal.setClipTopAmount(clipTopAmount);
mBackgroundDimmed.setClipTopAmount(clipTopAmount);
mScrimView.setClipTopAmount(clipTopAmount);
}
@Override
@@ -496,11 +491,6 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView
}
}
@Override
public void setScrimAmount(float scrimAmount) {
mScrimView.setAlpha(scrimAmount);
}
private void startAppearAnimation(boolean isAppearing, float translationDirection, long delay,
long duration, final Runnable onFinishedRunnable) {
if (mAppearAnimator != null) {

View File

@@ -255,8 +255,6 @@ public abstract class ExpandableView extends FrameLayout {
public abstract void performAddAnimation(long delay, long duration);
public abstract void setScrimAmount(float scrimAmount);
public void setBelowSpeedBump(boolean below) {
}

View File

@@ -1,79 +0,0 @@
/*
* Copyright (C) 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License
*/
package com.android.systemui.statusbar;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.PorterDuff;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.View;
import com.android.keyguard.R;
/**
* A view that can be used for both the dimmed and normal background of an notification.
*/
public class NotificationScrimView extends View {
private Drawable mBackground;
private int mClipTopAmount;
private int mActualHeight;
public NotificationScrimView(Context context, AttributeSet attrs) {
super(context, attrs);
mBackground = getResources().getDrawable(R.drawable.notification_scrim);
}
@Override
protected void onDraw(Canvas canvas) {
draw(canvas, mBackground);
}
private void draw(Canvas canvas, Drawable drawable) {
if (drawable != null) {
drawable.setBounds(0, mClipTopAmount, getWidth(), mActualHeight);
drawable.draw(canvas);
}
}
@Override
protected boolean verifyDrawable(Drawable who) {
return super.verifyDrawable(who) || who == mBackground;
}
public void setActualHeight(int actualHeight) {
mActualHeight = actualHeight;
invalidate();
}
public int getActualHeight() {
return mActualHeight;
}
public void setClipTopAmount(int clipTopAmount) {
mClipTopAmount = clipTopAmount;
invalidate();
}
@Override
public boolean hasOverlappingRendering() {
// Prevents this view from creating a layer when alpha is animating.
return false;
}
}

View File

@@ -126,9 +126,4 @@ public class SpeedBumpView extends ExpandableView {
// TODO: Use duration
performVisibilityAnimation(true, delay);
}
@Override
public void setScrimAmount(float scrimAmount) {
// We don't need to scrim the speedbumps
}
}

View File

@@ -126,11 +126,6 @@ public abstract class StackScrollerDecorView extends ExpandableView {
performVisibilityAnimation(true);
}
@Override
public void setScrimAmount(float scrimAmount) {
// We don't need to scrim the dismissView
}
@Override
public boolean hasOverlappingRendering() {
return false;

View File

@@ -1047,7 +1047,6 @@ public class NotificationPanelView extends PanelView implements
int startDistance = mQsMinExpansionHeight + mNotificationScrimWaitDistance;
float progress = (height - startDistance) / (mQsMaxExpansionHeight - startDistance);
progress = Math.max(0.0f, Math.min(progress, 1.0f));
mNotificationStackScroller.setScrimAlpha(progress);
}
private float getHeaderExpansionFraction() {

View File

@@ -32,7 +32,6 @@ public class AmbientState {
private float mOverScrollTopAmount;
private float mOverScrollBottomAmount;
private int mSpeedBumpIndex = -1;
private float mScrimAmount;
private boolean mDark;
private boolean mHideSensitive;
@@ -105,14 +104,6 @@ public class AmbientState {
}
}
public void setScrimAmount(float scrimAmount) {
mScrimAmount = scrimAmount;
}
public float getScrimAmount() {
return mScrimAmount;
}
public float getOverScrollAmount(boolean top) {
return top ? mOverScrollTopAmount : mOverScrollBottomAmount;
}

View File

@@ -2094,13 +2094,6 @@ public class NotificationStackScrollLayout extends ViewGroup
return true;
}
public void setScrimAlpha(float progress) {
if (progress != mAmbientState.getScrimAmount()) {
mAmbientState.setScrimAmount(progress);
requestChildrenUpdate();
}
}
/**
* See {@link AmbientState#setDark}.
*/

View File

@@ -172,7 +172,6 @@ public class StackScrollAlgorithm {
handleDraggedViews(ambientState, resultState, algorithmState);
updateDimmedActivatedHideSensitive(ambientState, resultState, algorithmState);
updateClipping(resultState, algorithmState);
updateScrimAmount(resultState, algorithmState, ambientState.getScrimAmount());
updateSpeedBumpState(resultState, algorithmState, ambientState.getSpeedBumpIndex());
}
@@ -189,16 +188,6 @@ public class StackScrollAlgorithm {
}
}
private void updateScrimAmount(StackScrollState resultState,
StackScrollAlgorithmState algorithmState, float scrimAmount) {
int childCount = algorithmState.visibleChildren.size();
for (int i = 0; i < childCount; i++) {
View child = algorithmState.visibleChildren.get(i);
StackScrollState.ViewState childViewState = resultState.getViewStateForView(child);
childViewState.scrimAmount = scrimAmount;
}
}
private void updateClipping(StackScrollState resultState,
StackScrollAlgorithmState algorithmState) {
float previousNotificationEnd = 0;

View File

@@ -165,9 +165,6 @@ public class StackScrollState {
// apply speed bump state
child.setBelowSpeedBump(state.belowSpeedBump);
// apply scrimming
child.setScrimAmount(state.scrimAmount);
// apply clipping
float oldClipTopAmount = child.getClipTopAmount();
if (oldClipTopAmount != state.clipTopAmount) {
@@ -251,12 +248,6 @@ public class StackScrollState {
boolean hideSensitive;
boolean belowSpeedBump;
/**
* A value between 0 and 1 indicating how much the view should be scrimmed.
* 1 means that the notifications will be darkened as much as possible.
*/
float scrimAmount;
/**
* The amount which the view should be clipped from the top. This is calculated to
* perceive consistent shadows.

View File

@@ -251,9 +251,6 @@ public class StackStateAnimator {
child.setHideSensitive(viewState.hideSensitive, mAnimationFilter.animateHideSensitive &&
!wasAdded && !noAnimation, delay, duration);
// apply scrimming
child.setScrimAmount(viewState.scrimAmount);
if (wasAdded) {
child.performAddAnimation(delay, mCurrentLength);
}