Loading packages/SystemUI/src/com/android/systemui/statusbar/NotificationBackgroundView.java +0 −2 Original line number Diff line number Diff line Loading @@ -23,9 +23,7 @@ import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import android.graphics.drawable.RippleDrawable; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; import com.android.systemui.R; /** * A view that can be used for both the dimmed and normal background of an notification. Loading packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java +24 −10 Original line number Diff line number Diff line Loading @@ -200,15 +200,25 @@ public class StackScrollAlgorithm { // apply clipping and shadow float newNotificationEnd = newYTranslation + newHeight; // In the unlocked shade we have to clip a little bit higher because of the rounded // corners of the notifications. float clippingCorrection = state.dimmed ? 0 : mRoundedRectCornerRadius * state.scale; float clipHeight; if (previousNotificationIsSwiped) { // When the previous notification is swiped, we don't clip the content to the // bottom of it. float clipHeight = previousNotificationIsSwiped ? newHeight : newNotificationEnd - (previousNotificationEnd - clippingCorrection); clipHeight = newHeight; } else { clipHeight = newNotificationEnd - previousNotificationEnd; clipHeight = Math.max(0.0f, clipHeight); if (clipHeight != 0.0f) { // In the unlocked shade we have to clip a little bit higher because of the rounded // corners of the notifications, but only if we are not fully overlapped by // the top card. float clippingCorrection = state.dimmed ? 0 : mRoundedRectCornerRadius * state.scale; clipHeight += clippingCorrection; } } updateChildClippingAndBackground(state, newHeight, clipHeight, newHeight - (previousNotificationStart - newYTranslation)); Loading Loading @@ -669,7 +679,11 @@ public class StackScrollAlgorithm { StackScrollState.ViewState childViewState = resultState.getViewStateForView(child); if (i < algorithmState.itemsInTopStack) { float stackIndex = algorithmState.itemsInTopStack - i; stackIndex = Math.min(stackIndex, MAX_ITEMS_IN_TOP_STACK + 2); // Ensure that the topmost item is a little bit higher than the rest when fully // scrolled, to avoid drawing errors when swiping it out float max = MAX_ITEMS_IN_TOP_STACK + (i == 0 ? 2.5f : 2); stackIndex = Math.min(stackIndex, max); if (i == 0 && algorithmState.itemsInTopStack < 2.0f) { // We only have the top item and an additional item in the top stack, Loading packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollState.java +1 −3 Original line number Diff line number Diff line Loading @@ -119,10 +119,8 @@ public class StackScrollState { } // apply alpha if (!becomesInvisible) { child.setAlpha(newAlpha); } } // apply visibility int oldVisibility = child.getVisibility(); Loading packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java +1 −6 Original line number Diff line number Diff line Loading @@ -477,6 +477,7 @@ public class StackStateAnimator { if (newEndValue == 0 && !mWasCancelled) { child.setVisibility(View.INVISIBLE); } // remove the tag when the animation is finished child.setTag(TAG_ANIMATOR_ALPHA, null); child.setTag(TAG_START_ALPHA, null); child.setTag(TAG_END_ALPHA, null); Loading @@ -498,13 +499,7 @@ public class StackStateAnimator { animator.setStartDelay(delay); } animator.addListener(getGlobalAnimationFinishedListener()); // remove the tag when the animation is finished animator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { } }); startAnimator(animator); child.setTag(TAG_ANIMATOR_ALPHA, animator); child.setTag(TAG_START_ALPHA, child.getAlpha()); Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/NotificationBackgroundView.java +0 −2 Original line number Diff line number Diff line Loading @@ -23,9 +23,7 @@ import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import android.graphics.drawable.RippleDrawable; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; import com.android.systemui.R; /** * A view that can be used for both the dimmed and normal background of an notification. Loading
packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java +24 −10 Original line number Diff line number Diff line Loading @@ -200,15 +200,25 @@ public class StackScrollAlgorithm { // apply clipping and shadow float newNotificationEnd = newYTranslation + newHeight; // In the unlocked shade we have to clip a little bit higher because of the rounded // corners of the notifications. float clippingCorrection = state.dimmed ? 0 : mRoundedRectCornerRadius * state.scale; float clipHeight; if (previousNotificationIsSwiped) { // When the previous notification is swiped, we don't clip the content to the // bottom of it. float clipHeight = previousNotificationIsSwiped ? newHeight : newNotificationEnd - (previousNotificationEnd - clippingCorrection); clipHeight = newHeight; } else { clipHeight = newNotificationEnd - previousNotificationEnd; clipHeight = Math.max(0.0f, clipHeight); if (clipHeight != 0.0f) { // In the unlocked shade we have to clip a little bit higher because of the rounded // corners of the notifications, but only if we are not fully overlapped by // the top card. float clippingCorrection = state.dimmed ? 0 : mRoundedRectCornerRadius * state.scale; clipHeight += clippingCorrection; } } updateChildClippingAndBackground(state, newHeight, clipHeight, newHeight - (previousNotificationStart - newYTranslation)); Loading Loading @@ -669,7 +679,11 @@ public class StackScrollAlgorithm { StackScrollState.ViewState childViewState = resultState.getViewStateForView(child); if (i < algorithmState.itemsInTopStack) { float stackIndex = algorithmState.itemsInTopStack - i; stackIndex = Math.min(stackIndex, MAX_ITEMS_IN_TOP_STACK + 2); // Ensure that the topmost item is a little bit higher than the rest when fully // scrolled, to avoid drawing errors when swiping it out float max = MAX_ITEMS_IN_TOP_STACK + (i == 0 ? 2.5f : 2); stackIndex = Math.min(stackIndex, max); if (i == 0 && algorithmState.itemsInTopStack < 2.0f) { // We only have the top item and an additional item in the top stack, Loading
packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollState.java +1 −3 Original line number Diff line number Diff line Loading @@ -119,10 +119,8 @@ public class StackScrollState { } // apply alpha if (!becomesInvisible) { child.setAlpha(newAlpha); } } // apply visibility int oldVisibility = child.getVisibility(); Loading
packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java +1 −6 Original line number Diff line number Diff line Loading @@ -477,6 +477,7 @@ public class StackStateAnimator { if (newEndValue == 0 && !mWasCancelled) { child.setVisibility(View.INVISIBLE); } // remove the tag when the animation is finished child.setTag(TAG_ANIMATOR_ALPHA, null); child.setTag(TAG_START_ALPHA, null); child.setTag(TAG_END_ALPHA, null); Loading @@ -498,13 +499,7 @@ public class StackStateAnimator { animator.setStartDelay(delay); } animator.addListener(getGlobalAnimationFinishedListener()); // remove the tag when the animation is finished animator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { } }); startAnimator(animator); child.setTag(TAG_ANIMATOR_ALPHA, animator); child.setTag(TAG_START_ALPHA, child.getAlpha()); Loading