summaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
authorDaniel Sandler <dsandler@google.com>2010-10-25 15:53:25 -0400
committerDaniel Sandler <dsandler@google.com>2010-10-25 15:53:25 -0400
commit8304da460f95c0883eca0d97fcdc4eb42c10f7c2 (patch)
tree0ecb917c8692e05458df2b2af6eb86a61de58886 /packages
parenta8dc004aedb67eb394887a10e26d2c8f55ba18f3 (diff)
downloadframeworks_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.java32
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) {