diff options
Diffstat (limited to 'packages/SystemUI/src')
8 files changed, 35 insertions, 17 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java index 907a13f..f7e0c83 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java @@ -857,6 +857,10 @@ public abstract class BaseStatusBar extends SystemUI implements // Assume we are a status_bar_notification_row final NotificationGuts guts = (NotificationGuts) v.findViewById( R.id.notification_guts); + if (guts == null) { + // This view has no guts. Examples are the more card or the dismiss all view + return false; + } // Already showing? if (guts.getVisibility() == View.VISIBLE) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java index 2ad6859..9196dc8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java @@ -406,7 +406,6 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { target.animate().cancel(); source.animate() .alpha(0f) - .withLayer() .setStartDelay(delay) .setDuration(duration) .withEndAction(new Runnable() { @@ -417,7 +416,6 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { }); target.animate() .alpha(1f) - .withLayer() .setStartDelay(delay) .setDuration(duration); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java index e31eb7c..502490f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java @@ -243,6 +243,14 @@ public class NotificationContentView extends FrameLayout { } } + @Override + public boolean hasOverlappingRendering() { + + // This is not really true, but good enough when fading from the contracted to the expanded + // layout, and saves us some layers. + return false; + } + private static Paint createInvertPaint() { final Paint p = new Paint(); final float[] invert = { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java index fc737be..70b6952 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java @@ -17,14 +17,10 @@ package com.android.systemui.statusbar.phone; import android.content.Context; -import android.os.SystemClock; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.view.animation.AnimationUtils; -import android.view.animation.Interpolator; -import android.view.animation.LinearInterpolator; import com.android.internal.widget.LockPatternUtils; import com.android.keyguard.KeyguardViewBase; @@ -33,7 +29,7 @@ import com.android.keyguard.ViewMediatorCallback; import com.android.systemui.keyguard.KeyguardViewMediator; import static com.android.keyguard.KeyguardHostView.OnDismissAction; -import static com.android.keyguard.KeyguardSecurityModel.*; +import static com.android.keyguard.KeyguardSecurityModel.SecurityMode; /** * A class which manages the bouncer on the lockscreen. @@ -62,6 +58,10 @@ public class KeyguardBouncer { public void show() { ensureView(); if (mRoot.getVisibility() == View.VISIBLE) { + + // show() updates the current security method. This is needed in case we are already + // showing and the current security method changed. + mKeyguardView.show(); return; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java index 902123d..c04ca83 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java @@ -276,6 +276,7 @@ public class NotificationPanelView extends PanelView implements // Calculate quick setting heights. mQsMinExpansionHeight = mKeyguardShowing ? 0 : mHeader.getCollapsedHeight() + mQsPeekHeight; mQsMaxExpansionHeight = mHeader.getExpandedHeight() + mQsContainer.getHeight(); + positionClockAndNotifications(); if (mQsExpanded) { if (mQsFullyExpanded) { mQsExpansionHeight = mQsMaxExpansionHeight; @@ -283,7 +284,6 @@ public class NotificationPanelView extends PanelView implements } } else { setQsExpansion(mQsMinExpansionHeight + mLastOverscroll); - positionClockAndNotifications(); mNotificationStackScroller.setStackHeight(getExpandedHeight()); updateHeader(); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java index 2f21781..006e480 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java @@ -691,18 +691,20 @@ public abstract class PanelView extends FrameLayout { mClosing = true; notifyExpandingStarted(); if (delayed) { - postDelayed(new Runnable() { - @Override - public void run() { - fling(0, false /* expand */); - } - }, 120); + postDelayed(mFlingCollapseRunnable, 120); } else { fling(0, false /* expand */); } } } + private final Runnable mFlingCollapseRunnable = new Runnable() { + @Override + public void run() { + fling(0, false /* expand */); + } + }; + public void expand() { if (DEBUG) logf("expand: " + this); if (isFullyCollapsed()) { @@ -728,7 +730,9 @@ public abstract class PanelView extends FrameLayout { public void instantExpand() { mInstantExpanding = true; + mUpdateFlingOnLayout = false; abortAnimations(); + cancelPeek(); if (mTracking) { onTrackingStopped(true /* expands */); // The panel is expanded after this call. } @@ -761,6 +765,8 @@ public abstract class PanelView extends FrameLayout { if (mHeightAnimator != null) { mHeightAnimator.cancel(); } + removeCallbacks(mPostCollapseRunnable); + removeCallbacks(mFlingCollapseRunnable); } protected void startUnlockHintAnimation() { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java index 5088089..4d248c2 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java @@ -337,7 +337,9 @@ public class NetworkControllerImpl extends BroadcastReceiver @Override public DataUsageInfo getDataUsageInfo() { final DataUsageInfo info = mMobileDataController.getDataUsageInfo(); - info.carrier = mNetworkName; + if (info != null) { + info.carrier = mNetworkName; + } return info; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java index ece82a1..a69390e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java @@ -166,7 +166,7 @@ public class StackStateAnimator { boolean hasDelays = mAnimationFilter.hasDelays; boolean isDelayRelevant = yTranslationChanging || zTranslationChanging || scaleChanging || alphaChanging || heightChanging || topInsetChanging; - boolean noAnimation = wasAdded && !mAnimationFilter.hasGoToFullShadeEvent; + boolean noAnimation = wasAdded; long delay = 0; long duration = mCurrentLength; if (hasDelays && isDelayRelevant || wasAdded) { @@ -184,7 +184,7 @@ public class StackStateAnimator { // start translationY animation if (yTranslationChanging) { - if (noAnimation) { + if (noAnimation && !mAnimationFilter.hasGoToFullShadeEvent) { child.setTranslationY(viewState.yTranslation); } else { startYTranslationAnimation(child, viewState, duration, delay); |
