Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +3 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ public class NotificationPanelView extends PanelView { private int[] mTempChildLocation = new int[2]; private View mNotificationParent; private boolean mTrackingSettings; private float mExpandedHeight = -1; public NotificationPanelView(Context context, AttributeSet attrs) { super(context, attrs); Loading Loading @@ -173,6 +174,8 @@ public class NotificationPanelView extends PanelView { * @param expandedHeight the new expanded height */ private void updateNotificationStackHeight(float expandedHeight) { if (mExpandedHeight == expandedHeight) return; mExpandedHeight = expandedHeight; mNotificationStackScroller.setIsExpanded(expandedHeight > 0.0f); float childOffset = getRelativeTop(mNotificationStackScroller) - mNotificationParent.getTranslationY(); Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +18 −13 Original line number Diff line number Diff line Loading @@ -747,6 +747,11 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode { } public boolean onSettingsEvent(MotionEvent event) { userActivity(); if (mSettingsClosing && mFlipSettingsViewAnim != null && mFlipSettingsViewAnim.isRunning()) { return true; } if (mSettingsTracker != null) { mSettingsTracker.addMovement(event); } Loading Loading @@ -814,15 +819,15 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode { } private void positionSettings(float dy) { final int h = mFlipSettingsView.getMeasuredHeight(); final int ph = mNotificationPanel.getMeasuredHeight(); if (mSettingsClosing) { final int ph = mNotificationPanel.getMeasuredHeight(); dy = Math.min(Math.max(-ph, dy), 0); mFlipSettingsView.setTranslationY(dy); mStackScroller.setTranslationY(ph + dy); } else { dy = Math.min(Math.max(0, dy), ph); mFlipSettingsView.setTranslationY(-h + dy - mNotificationPadding * 2); final int h = mFlipSettingsView.getBottom(); dy = Math.min(Math.max(0, dy), h); mFlipSettingsView.setTranslationY(-h + dy); mStackScroller.setTranslationY(dy); } } Loading Loading @@ -1733,17 +1738,15 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode { mHeaderFlipper.cancel(); mKeyguardFlipper.cancel(); if (mClearButtonAnim != null) mClearButtonAnim.cancel(); mStackScroller.setVisibility(View.VISIBLE); final int h = mNotificationPanel.getMeasuredHeight(); final float settingsY = mSettingsTracker != null ? mFlipSettingsView.getTranslationY() : 0; final float scrollerY = mSettingsTracker != null ? mStackScroller.getTranslationY() : h; mScrollViewAnim = start( startDelay(0, interpolator(mDecelerateInterpolator, ObjectAnimator.ofFloat(mStackScroller, View.TRANSLATION_Y, scrollerY, 0) .setDuration(FLIP_DURATION) ))); )); mFlipSettingsViewAnim = start( setVisibilityWhenDone( interpolator(mDecelerateInterpolator, Loading Loading @@ -3058,25 +3061,27 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode { mSettingsButtonAnim = start( setVisibilityWhenDone( ObjectAnimator.ofFloat(mSettingsButton, View.ALPHA, 0f) .setDuration(FLIP_DURATION), .setDuration(FLIP_DURATION_OUT), mStackScroller, View.INVISIBLE)); mNotificationButton.setVisibility(View.VISIBLE); mNotificationButtonAnim = start( startDelay(FLIP_DURATION_OUT, ObjectAnimator.ofFloat(mNotificationButton, View.ALPHA, 1f) .setDuration(FLIP_DURATION)); .setDuration(FLIP_DURATION_IN))); } public void flipToNotifications() { mNotificationButtonAnim = start( setVisibilityWhenDone( ObjectAnimator.ofFloat(mNotificationButton, View.ALPHA, 0f) .setDuration(FLIP_DURATION), .setDuration(FLIP_DURATION_OUT), mNotificationButton, View.INVISIBLE)); mSettingsButton.setVisibility(View.VISIBLE); mSettingsButtonAnim = start( startDelay(FLIP_DURATION_OUT, ObjectAnimator.ofFloat(mSettingsButton, View.ALPHA, 1f) .setDuration(FLIP_DURATION)); .setDuration(FLIP_DURATION_IN))); } public void cancel() { Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsContainerView.java +11 −6 Original line number Diff line number Diff line Loading @@ -62,18 +62,19 @@ class QuickSettingsContainerView extends FrameLayout { @Override protected void onFinishInflate() { super.onFinishInflate(); if (sShowScrim) { mScrim = new ScrimView(mContext); addView(mScrim); mScrim.setAlpha(sShowScrim ? 1 : 0); } // TODO: Setup the layout transitions LayoutTransition transitions = getLayoutTransition(); } @Override public boolean onTouchEvent(MotionEvent event) { if (mScrim.getAlpha() == 1) { mScrim.animate().alpha(0).setDuration(1000).start(); if (mScrim != null) { sShowScrim = false; removeView(mScrim); } return super.onTouchEvent(event); } Loading Loading @@ -144,7 +145,9 @@ class QuickSettingsContainerView extends FrameLayout { @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { if (mScrim != null) { mScrim.bringToFront(); } final int N = getChildCount(); final boolean isLayoutRtl = isLayoutRtl(); final int width = getWidth(); Loading Loading @@ -206,6 +209,7 @@ class QuickSettingsContainerView extends FrameLayout { } private static final class ScrimView extends View { private static final int SCRIM = 0x4f000000; private static final int COLOR = 0xaf4285f4; private final Paint mLinePaint; Loading Loading @@ -240,6 +244,7 @@ class QuickSettingsContainerView extends FrameLayout { final int h = getMeasuredHeight(); final int f = mStrokeWidth * 3 / 4; canvas.drawColor(SCRIM); canvas.drawPath(line(f, h / 2, w - f, h / 2), mLinePaint); canvas.drawPath(line(w / 2, f, w / 2, h - f), mLinePaint); Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +3 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ public class NotificationPanelView extends PanelView { private int[] mTempChildLocation = new int[2]; private View mNotificationParent; private boolean mTrackingSettings; private float mExpandedHeight = -1; public NotificationPanelView(Context context, AttributeSet attrs) { super(context, attrs); Loading Loading @@ -173,6 +174,8 @@ public class NotificationPanelView extends PanelView { * @param expandedHeight the new expanded height */ private void updateNotificationStackHeight(float expandedHeight) { if (mExpandedHeight == expandedHeight) return; mExpandedHeight = expandedHeight; mNotificationStackScroller.setIsExpanded(expandedHeight > 0.0f); float childOffset = getRelativeTop(mNotificationStackScroller) - mNotificationParent.getTranslationY(); Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +18 −13 Original line number Diff line number Diff line Loading @@ -747,6 +747,11 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode { } public boolean onSettingsEvent(MotionEvent event) { userActivity(); if (mSettingsClosing && mFlipSettingsViewAnim != null && mFlipSettingsViewAnim.isRunning()) { return true; } if (mSettingsTracker != null) { mSettingsTracker.addMovement(event); } Loading Loading @@ -814,15 +819,15 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode { } private void positionSettings(float dy) { final int h = mFlipSettingsView.getMeasuredHeight(); final int ph = mNotificationPanel.getMeasuredHeight(); if (mSettingsClosing) { final int ph = mNotificationPanel.getMeasuredHeight(); dy = Math.min(Math.max(-ph, dy), 0); mFlipSettingsView.setTranslationY(dy); mStackScroller.setTranslationY(ph + dy); } else { dy = Math.min(Math.max(0, dy), ph); mFlipSettingsView.setTranslationY(-h + dy - mNotificationPadding * 2); final int h = mFlipSettingsView.getBottom(); dy = Math.min(Math.max(0, dy), h); mFlipSettingsView.setTranslationY(-h + dy); mStackScroller.setTranslationY(dy); } } Loading Loading @@ -1733,17 +1738,15 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode { mHeaderFlipper.cancel(); mKeyguardFlipper.cancel(); if (mClearButtonAnim != null) mClearButtonAnim.cancel(); mStackScroller.setVisibility(View.VISIBLE); final int h = mNotificationPanel.getMeasuredHeight(); final float settingsY = mSettingsTracker != null ? mFlipSettingsView.getTranslationY() : 0; final float scrollerY = mSettingsTracker != null ? mStackScroller.getTranslationY() : h; mScrollViewAnim = start( startDelay(0, interpolator(mDecelerateInterpolator, ObjectAnimator.ofFloat(mStackScroller, View.TRANSLATION_Y, scrollerY, 0) .setDuration(FLIP_DURATION) ))); )); mFlipSettingsViewAnim = start( setVisibilityWhenDone( interpolator(mDecelerateInterpolator, Loading Loading @@ -3058,25 +3061,27 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode { mSettingsButtonAnim = start( setVisibilityWhenDone( ObjectAnimator.ofFloat(mSettingsButton, View.ALPHA, 0f) .setDuration(FLIP_DURATION), .setDuration(FLIP_DURATION_OUT), mStackScroller, View.INVISIBLE)); mNotificationButton.setVisibility(View.VISIBLE); mNotificationButtonAnim = start( startDelay(FLIP_DURATION_OUT, ObjectAnimator.ofFloat(mNotificationButton, View.ALPHA, 1f) .setDuration(FLIP_DURATION)); .setDuration(FLIP_DURATION_IN))); } public void flipToNotifications() { mNotificationButtonAnim = start( setVisibilityWhenDone( ObjectAnimator.ofFloat(mNotificationButton, View.ALPHA, 0f) .setDuration(FLIP_DURATION), .setDuration(FLIP_DURATION_OUT), mNotificationButton, View.INVISIBLE)); mSettingsButton.setVisibility(View.VISIBLE); mSettingsButtonAnim = start( startDelay(FLIP_DURATION_OUT, ObjectAnimator.ofFloat(mSettingsButton, View.ALPHA, 1f) .setDuration(FLIP_DURATION)); .setDuration(FLIP_DURATION_IN))); } public void cancel() { Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsContainerView.java +11 −6 Original line number Diff line number Diff line Loading @@ -62,18 +62,19 @@ class QuickSettingsContainerView extends FrameLayout { @Override protected void onFinishInflate() { super.onFinishInflate(); if (sShowScrim) { mScrim = new ScrimView(mContext); addView(mScrim); mScrim.setAlpha(sShowScrim ? 1 : 0); } // TODO: Setup the layout transitions LayoutTransition transitions = getLayoutTransition(); } @Override public boolean onTouchEvent(MotionEvent event) { if (mScrim.getAlpha() == 1) { mScrim.animate().alpha(0).setDuration(1000).start(); if (mScrim != null) { sShowScrim = false; removeView(mScrim); } return super.onTouchEvent(event); } Loading Loading @@ -144,7 +145,9 @@ class QuickSettingsContainerView extends FrameLayout { @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { if (mScrim != null) { mScrim.bringToFront(); } final int N = getChildCount(); final boolean isLayoutRtl = isLayoutRtl(); final int width = getWidth(); Loading Loading @@ -206,6 +209,7 @@ class QuickSettingsContainerView extends FrameLayout { } private static final class ScrimView extends View { private static final int SCRIM = 0x4f000000; private static final int COLOR = 0xaf4285f4; private final Paint mLinePaint; Loading Loading @@ -240,6 +244,7 @@ class QuickSettingsContainerView extends FrameLayout { final int h = getMeasuredHeight(); final int f = mStrokeWidth * 3 / 4; canvas.drawColor(SCRIM); canvas.drawPath(line(f, h / 2, w - f, h / 2), mLinePaint); canvas.drawPath(line(w / 2, f, w / 2, h - f), mLinePaint); Loading