diff options
| author | Daniel Sandler <dsandler@google.com> | 2010-10-25 13:52:42 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-10-25 13:52:42 -0700 |
| commit | cbab0413a22e4454ffbf7c7d829b587afc827ed8 (patch) | |
| tree | f5078be24a8f86a9d5672952ff5f5146f0f411d8 /packages | |
| parent | 67ef3179db7ca3c2bc10607465f2edcc0135794f (diff) | |
| parent | 8304da460f95c0883eca0d97fcdc4eb42c10f7c2 (diff) | |
| download | frameworks_base-cbab0413a22e4454ffbf7c7d829b587afc827ed8.zip frameworks_base-cbab0413a22e4454ffbf7c7d829b587afc827ed8.tar.gz frameworks_base-cbab0413a22e4454ffbf7c7d829b587afc827ed8.tar.bz2 | |
Merge "Swipe up to open the settings panel. Tap anywhere to close."
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) { |
