Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +63 −41 Original line number Diff line number Diff line Loading @@ -642,6 +642,9 @@ public class PhoneStatusBar extends BaseStatusBar { context.registerReceiver(mBroadcastReceiver, filter); mPowerWidget.setupWidget(); mVelocityTracker = VelocityTracker.obtain(); return mStatusBarView; } Loading Loading @@ -1550,8 +1553,7 @@ public class PhoneStatusBar extends BaseStatusBar { return; mTracking = false; setPileLayers(View.LAYER_TYPE_NONE); mVelocityTracker.recycle(); mVelocityTracker = null; mVelocityTracker.clear(); mCloseView.setPressed(false); } Loading Loading @@ -1645,7 +1647,7 @@ public class PhoneStatusBar extends BaseStatusBar { mTracking = true; setPileLayers(View.LAYER_TYPE_HARDWARE); mVelocityTracker = VelocityTracker.obtain(); mVelocityTracker.clear(); if (opening) { makeExpandedVisible(true); } else { Loading Loading @@ -1755,6 +1757,50 @@ public class PhoneStatusBar extends BaseStatusBar { } } private void brightnessControl(MotionEvent event) { if (mBrightnessControl) { final int action = event.getAction(); final int x = (int)event.getRawX(); final int y = (int)event.getRawY(); if (action == MotionEvent.ACTION_DOWN) { mLinger = 0; mInitialTouchX = x; mInitialTouchY = y; mHandler.removeCallbacks(mLongPressBrightnessChange); if ((y + mViewDelta) < mNotificationPanelMinHeight) { mHandler.postDelayed(mLongPressBrightnessChange, BRIGHTNESS_CONTROL_LONG_PRESS_TIMEOUT); } } else if (action == MotionEvent.ACTION_MOVE) { if ((y + mViewDelta) < mNotificationPanelMinHeight) { mVelocityTracker.computeCurrentVelocity(1000); float yVel = mVelocityTracker.getYVelocity(); yVel = Math.abs(yVel); if (yVel < 50.0f) { if (mLinger > BRIGHTNESS_CONTROL_LINGER_THRESHOLD) { adjustBrightness(x); } else { mLinger++; } } int touchSlop = ViewConfiguration.get(mContext).getScaledTouchSlop(); if (Math.abs(x - mInitialTouchX) > touchSlop || Math.abs(y - mInitialTouchY) > touchSlop) { mHandler.removeCallbacks(mLongPressBrightnessChange); } } else { mHandler.removeCallbacks(mLongPressBrightnessChange); } } else if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_CANCEL) { mHandler.removeCallbacks(mLongPressBrightnessChange); mLinger = 0; } } } boolean interceptTouchEvent(MotionEvent event) { if (SPEW) { Slog.d(TAG, "Touch: rawY=" + event.getRawY() + " event=" + event + " mDisabled=" Loading @@ -1768,23 +1814,13 @@ public class PhoneStatusBar extends BaseStatusBar { } } if ((mDisabled & StatusBarManager.DISABLE_EXPAND) != 0) { return false; } final int action = event.getAction(); final int statusBarSize = getStatusBarHeight(); final int hitSize = statusBarSize*2; final int x = (int)event.getRawX(); final int y = (int)event.getRawY(); if (action == MotionEvent.ACTION_DOWN) { if (!areLightsOn()) { setLightsOn(true); } mLinger = 0; mInitialTouchX = x; mInitialTouchY = y; if (action == MotionEvent.ACTION_DOWN) { if (!mExpanded) { mViewDelta = statusBarSize - y; } else { Loading @@ -1795,6 +1831,18 @@ public class PhoneStatusBar extends BaseStatusBar { + mNotificationPanelBackgroundPadding.bottom - y; } } brightnessControl(event); if ((mDisabled & StatusBarManager.DISABLE_EXPAND) != 0) { return false; } if (action == MotionEvent.ACTION_DOWN) { if (!areLightsOn()) { setLightsOn(true); } if ((!mExpanded && y < hitSize) || // @@ add taps outside the panel if it's not full-screen (mExpanded && y > (getExpandedViewMaxHeight()-hitSize))) { Loading @@ -1808,41 +1856,15 @@ public class PhoneStatusBar extends BaseStatusBar { trackMovement(event); } } if (mTracking && mBrightnessControl) { mHandler.removeCallbacks(mLongPressBrightnessChange); mHandler.postDelayed(mLongPressBrightnessChange, BRIGHTNESS_CONTROL_LONG_PRESS_TIMEOUT); } } else if (mTracking) { trackMovement(event); if (action == MotionEvent.ACTION_MOVE) { if (mAnimatingReveal && (y + mViewDelta) < mNotificationPanelMinHeight) { if (mBrightnessControl) { mVelocityTracker.computeCurrentVelocity(1000); float yVel = mVelocityTracker.getYVelocity(); yVel = Math.abs(yVel); if (yVel < 50.0f) { if (mLinger > BRIGHTNESS_CONTROL_LINGER_THRESHOLD) { adjustBrightness(x); } else { mLinger++; } } int touchSlop = ViewConfiguration.get(mContext).getScaledTouchSlop(); if (Math.abs(x - mInitialTouchX) > touchSlop || Math.abs(y - mInitialTouchY) > touchSlop) { mHandler.removeCallbacks(mLongPressBrightnessChange); } } } else { mHandler.removeCallbacks(mLongPressBrightnessChange); if (!mAnimatingReveal || (y + mViewDelta) >= mNotificationPanelMinHeight) { mAnimatingReveal = false; updateExpandedViewPos(y + mViewDelta); } } else if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_CANCEL) { mHandler.removeCallbacks(mLongPressBrightnessChange); mLinger = 0; mVelocityTracker.computeCurrentVelocity(1000); float yVel = mVelocityTracker.getYVelocity(); Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +63 −41 Original line number Diff line number Diff line Loading @@ -642,6 +642,9 @@ public class PhoneStatusBar extends BaseStatusBar { context.registerReceiver(mBroadcastReceiver, filter); mPowerWidget.setupWidget(); mVelocityTracker = VelocityTracker.obtain(); return mStatusBarView; } Loading Loading @@ -1550,8 +1553,7 @@ public class PhoneStatusBar extends BaseStatusBar { return; mTracking = false; setPileLayers(View.LAYER_TYPE_NONE); mVelocityTracker.recycle(); mVelocityTracker = null; mVelocityTracker.clear(); mCloseView.setPressed(false); } Loading Loading @@ -1645,7 +1647,7 @@ public class PhoneStatusBar extends BaseStatusBar { mTracking = true; setPileLayers(View.LAYER_TYPE_HARDWARE); mVelocityTracker = VelocityTracker.obtain(); mVelocityTracker.clear(); if (opening) { makeExpandedVisible(true); } else { Loading Loading @@ -1755,6 +1757,50 @@ public class PhoneStatusBar extends BaseStatusBar { } } private void brightnessControl(MotionEvent event) { if (mBrightnessControl) { final int action = event.getAction(); final int x = (int)event.getRawX(); final int y = (int)event.getRawY(); if (action == MotionEvent.ACTION_DOWN) { mLinger = 0; mInitialTouchX = x; mInitialTouchY = y; mHandler.removeCallbacks(mLongPressBrightnessChange); if ((y + mViewDelta) < mNotificationPanelMinHeight) { mHandler.postDelayed(mLongPressBrightnessChange, BRIGHTNESS_CONTROL_LONG_PRESS_TIMEOUT); } } else if (action == MotionEvent.ACTION_MOVE) { if ((y + mViewDelta) < mNotificationPanelMinHeight) { mVelocityTracker.computeCurrentVelocity(1000); float yVel = mVelocityTracker.getYVelocity(); yVel = Math.abs(yVel); if (yVel < 50.0f) { if (mLinger > BRIGHTNESS_CONTROL_LINGER_THRESHOLD) { adjustBrightness(x); } else { mLinger++; } } int touchSlop = ViewConfiguration.get(mContext).getScaledTouchSlop(); if (Math.abs(x - mInitialTouchX) > touchSlop || Math.abs(y - mInitialTouchY) > touchSlop) { mHandler.removeCallbacks(mLongPressBrightnessChange); } } else { mHandler.removeCallbacks(mLongPressBrightnessChange); } } else if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_CANCEL) { mHandler.removeCallbacks(mLongPressBrightnessChange); mLinger = 0; } } } boolean interceptTouchEvent(MotionEvent event) { if (SPEW) { Slog.d(TAG, "Touch: rawY=" + event.getRawY() + " event=" + event + " mDisabled=" Loading @@ -1768,23 +1814,13 @@ public class PhoneStatusBar extends BaseStatusBar { } } if ((mDisabled & StatusBarManager.DISABLE_EXPAND) != 0) { return false; } final int action = event.getAction(); final int statusBarSize = getStatusBarHeight(); final int hitSize = statusBarSize*2; final int x = (int)event.getRawX(); final int y = (int)event.getRawY(); if (action == MotionEvent.ACTION_DOWN) { if (!areLightsOn()) { setLightsOn(true); } mLinger = 0; mInitialTouchX = x; mInitialTouchY = y; if (action == MotionEvent.ACTION_DOWN) { if (!mExpanded) { mViewDelta = statusBarSize - y; } else { Loading @@ -1795,6 +1831,18 @@ public class PhoneStatusBar extends BaseStatusBar { + mNotificationPanelBackgroundPadding.bottom - y; } } brightnessControl(event); if ((mDisabled & StatusBarManager.DISABLE_EXPAND) != 0) { return false; } if (action == MotionEvent.ACTION_DOWN) { if (!areLightsOn()) { setLightsOn(true); } if ((!mExpanded && y < hitSize) || // @@ add taps outside the panel if it's not full-screen (mExpanded && y > (getExpandedViewMaxHeight()-hitSize))) { Loading @@ -1808,41 +1856,15 @@ public class PhoneStatusBar extends BaseStatusBar { trackMovement(event); } } if (mTracking && mBrightnessControl) { mHandler.removeCallbacks(mLongPressBrightnessChange); mHandler.postDelayed(mLongPressBrightnessChange, BRIGHTNESS_CONTROL_LONG_PRESS_TIMEOUT); } } else if (mTracking) { trackMovement(event); if (action == MotionEvent.ACTION_MOVE) { if (mAnimatingReveal && (y + mViewDelta) < mNotificationPanelMinHeight) { if (mBrightnessControl) { mVelocityTracker.computeCurrentVelocity(1000); float yVel = mVelocityTracker.getYVelocity(); yVel = Math.abs(yVel); if (yVel < 50.0f) { if (mLinger > BRIGHTNESS_CONTROL_LINGER_THRESHOLD) { adjustBrightness(x); } else { mLinger++; } } int touchSlop = ViewConfiguration.get(mContext).getScaledTouchSlop(); if (Math.abs(x - mInitialTouchX) > touchSlop || Math.abs(y - mInitialTouchY) > touchSlop) { mHandler.removeCallbacks(mLongPressBrightnessChange); } } } else { mHandler.removeCallbacks(mLongPressBrightnessChange); if (!mAnimatingReveal || (y + mViewDelta) >= mNotificationPanelMinHeight) { mAnimatingReveal = false; updateExpandedViewPos(y + mViewDelta); } } else if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_CANCEL) { mHandler.removeCallbacks(mLongPressBrightnessChange); mLinger = 0; mVelocityTracker.computeCurrentVelocity(1000); float yVel = mVelocityTracker.getYVelocity(); Loading