From 1cfe75301724d324c4f2e216dfef09ca2a474025 Mon Sep 17 00:00:00 2001 From: Daniel Sandler Date: Tue, 8 Feb 2011 16:33:07 -0500 Subject: [PATCH] Bringing back the pocket. Bug: 3203179 Change-Id: Ic1513ae9cbc502e328bcf484f83198f2c12102a2 --- .../res/drawable-mdpi/pocket_drag_pattern.png | Bin 0 -> 324 bytes .../SystemUI/res/drawable/pocket_drag_bg.xml | 21 ++ .../SystemUI/res/layout-xlarge/status_bar.xml | 9 + .../status_bar_notification_area.xml | 9 + .../statusbar/tablet/ShirtPocket.java | 226 ++++++++++-------- .../statusbar/tablet/TabletStatusBar.java | 5 + 6 files changed, 176 insertions(+), 94 deletions(-) create mode 100644 packages/SystemUI/res/drawable-mdpi/pocket_drag_pattern.png create mode 100644 packages/SystemUI/res/drawable/pocket_drag_bg.xml diff --git a/packages/SystemUI/res/drawable-mdpi/pocket_drag_pattern.png b/packages/SystemUI/res/drawable-mdpi/pocket_drag_pattern.png new file mode 100644 index 0000000000000000000000000000000000000000..abde010d4c8c063a96c030b801f5509f9aa62334 GIT binary patch literal 324 zcmV-K0lWT*P)8CK zZ%YC}5XPT9*EC7QBoWKhQY1nGzpdZNHxbbr`(u!ZpdyJWsMF5w9^;B1pcf4sH}kuh zdG6Wc6aX?;5K&P1;vXKI${#!s9r>5q?SMGf%E0XgNN91OOiIZU0i5a7X$aOo1}g6L zv04J@jDbxj#$-3OAD=g-Ovz&}rp=>^0;5%~#>0mUUknChI8x!(HWz@Z+>4{)>xs7D*?Pl7q3Gw{$!!OPdEA?lxjvOb~Jn?lyBXX_5Rf-TsCA4XH;nk zutL?l5DZ=pgx;SC^?U2c{cvwjz)hQneP{m>Xgn}*VTGEVxO8{j?S+7=JwNjBDEtM> W@j3|>is + + + diff --git a/packages/SystemUI/res/layout-xlarge/status_bar.xml b/packages/SystemUI/res/layout-xlarge/status_bar.xml index 6c173c932b3d0..b97b9ca13dd6c 100644 --- a/packages/SystemUI/res/layout-xlarge/status_bar.xml +++ b/packages/SystemUI/res/layout-xlarge/status_bar.xml @@ -91,6 +91,15 @@ + + + + + 0) { // TODO: figure out how to visualize every kind of ClipData! - mAltText.setText(mClipping.getItemAt(0).coerceToText(getContext())); + //mAltText.setText(mClipping.getItemAt(0).coerceToText(getContext())); } } + } else { + setVisibility(View.GONE); } } + @Override + public boolean onTouchEvent(MotionEvent ev) { + final int action = ev.getAction(); + if (action == MotionEvent.ACTION_DOWN) { + final ClipData clip = mClipping; + if (clip != null) { + final Bitmap icon = clip.getIcon(); + DragShadowBuilder shadow; + if (icon != null) { + shadow = new DragShadowBuilder(this) { + public void onProvideShadowMetrics(Point shadowSize, Point shadowTouchPoint) { + shadowSize.set(icon.getWidth(), icon.getHeight()); + shadowTouchPoint.set(shadowSize.x / 2, shadowSize.y / 2); + } + public void onDrawShadow(Canvas canvas) { + canvas.drawBitmap(icon, 0, 0, new Paint()); + } + }; + } else { + // uhhh, what now? + shadow = new DragShadowBuilder(this); + } + + startDrag(clip, shadow, null, 0); + + // TODO: only discard the clipping if it was accepted + stash(null); + + return true; + } + } + return false; + } + + /* private boolean isInViewContentArea(View v, int x, int y) { final int l = v.getPaddingLeft(); final int r = v.getWidth() - v.getPaddingRight(); @@ -167,38 +231,12 @@ public class ShirtPocket extends ImageView { // TODO: only discard the clipping if it was accepted stash(null); - hideWindowInJustASec(); // will refresh the icon - return true; } } return false; } }; - - public boolean onDragEvent(DragEvent event) { - if (DEBUG) Slog.d(TAG, "onDragEvent: " + event); - switch (event.getAction()) { - // We want to appear whenever a potential drag takes off from anywhere in the UI. - case DragEvent.ACTION_DRAG_STARTED: - // XXX: TODO - break; - case DragEvent.ACTION_DRAG_ENTERED: - if (DEBUG) Slog.d(TAG, "entered!"); - // XXX: TODO - break; - case DragEvent.ACTION_DRAG_EXITED: - if (DEBUG) Slog.d(TAG, "exited!"); - setVisibility(mClipping == null ? View.GONE : View.VISIBLE); - break; - case DragEvent.ACTION_DROP: - if (DEBUG) Slog.d(TAG, "dropped!"); - stash(event.getClipData()); - break; - case DragEvent.ACTION_DRAG_ENDED: - break; - } - return true; // we want everything, thank you - } + */ } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java index 7a13fded41b97..bb0d3e117bf3e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java @@ -392,6 +392,11 @@ public class TabletStatusBar extends StatusBar implements // for redirecting errant bar taps to the IME mFakeSpaceBar = sb.findViewById(R.id.fake_space_bar); + // drag and drop pocket + ShirtPocket p = (ShirtPocket) sb.findViewById(R.id.shirt_pocket); + ShirtPocket.DropZone z = (ShirtPocket.DropZone) sb.findViewById(R.id.drop_target); + z.setPocket(p); + // "shadows" of the status bar features, for lights-out mode mShadow = sb.findViewById(R.id.bar_shadow); mShadow.setOnTouchListener(