diff options
author | Daniel Sandler <dsandler@google.com> | 2010-10-25 15:53:25 -0400 |
---|---|---|
committer | Daniel Sandler <dsandler@google.com> | 2010-10-25 15:53:25 -0400 |
commit | 8304da460f95c0883eca0d97fcdc4eb42c10f7c2 (patch) | |
tree | 0ecb917c8692e05458df2b2af6eb86a61de58886 /packages | |
parent | a8dc004aedb67eb394887a10e26d2c8f55ba18f3 (diff) | |
download | frameworks_base-8304da460f95c0883eca0d97fcdc4eb42c10f7c2.zip frameworks_base-8304da460f95c0883eca0d97fcdc4eb42c10f7c2.tar.gz frameworks_base-8304da460f95c0883eca0d97fcdc4eb42c10f7c2.tar.bz2 |
Swipe up to open the settings panel. Tap anywhere to close.
This should help reduce false hits on the clock when typing
on an on-screen keyboard.
Change-Id: I3afab88c800873d1801b16ac79ffa3e7ddd42949
Diffstat (limited to 'packages')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBarService.java | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBarService.java b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBarService.java index d11aba6..9fb29ac 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBarService.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBarService.java @@ -39,6 +39,7 @@ import android.view.animation.AnimationUtils; import android.view.Gravity; import android.view.LayoutInflater; import android.view.MotionEvent; +import android.view.VelocityTracker; import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; @@ -181,8 +182,9 @@ public class TabletStatusBarService extends StatusBarService { mCurtains = sb.findViewById(R.id.lights_out); mSystemInfo = sb.findViewById(R.id.systemInfo); - mSystemInfo.setOnClickListener(mOnClickListener); +// mSystemInfo.setOnClickListener(mOnClickListener); mSystemInfo.setOnLongClickListener(new SetLightsOnListener(false)); + mSystemInfo.setOnTouchListener(new ClockTouchListener()); mRecentButton = sb.findViewById(R.id.recent); mRecentButton.setOnClickListener(mOnClickListener); @@ -594,6 +596,34 @@ public class TabletStatusBarService extends StatusBarService { } } + private class ClockTouchListener implements View.OnTouchListener { + VelocityTracker mVT; + public boolean onTouch (View v, MotionEvent event) { + switch (event.getAction()) { + case MotionEvent.ACTION_DOWN: + mVT = VelocityTracker.obtain(); + // fall through + case MotionEvent.ACTION_OUTSIDE: + case MotionEvent.ACTION_MOVE: + if (mVT == null) break; + mVT.addMovement(event); + mVT.computeCurrentVelocity(1000); + Slog.d("ClockTouchListener", "dy=" + mVT.getYVelocity()); + if (mVT.getYVelocity() < -200 && mSystemPanel.getVisibility() == View.GONE) { + mHandler.removeMessages(MSG_OPEN_SYSTEM_PANEL); + mHandler.sendEmptyMessage(MSG_OPEN_SYSTEM_PANEL); + } + return true; + case MotionEvent.ACTION_UP: + case MotionEvent.ACTION_CANCEL: + mVT.recycle(); + mVT = null; + return true; + } + return false; + } + } + private View.OnClickListener mOnClickListener = new View.OnClickListener() { public void onClick(View v) { if (v == mClearButton) { |