diff --git a/core/res/res/drawable-hdpi/stat_sys_adb.png b/core/res/res/drawable-hdpi/stat_sys_adb.png
index 58c17468f7cda..af713e87a41fa 100755
Binary files a/core/res/res/drawable-hdpi/stat_sys_adb.png and b/core/res/res/drawable-hdpi/stat_sys_adb.png differ
diff --git a/core/res/res/drawable-ldpi/stat_sys_adb.png b/core/res/res/drawable-ldpi/stat_sys_adb.png
index cdead240aab54..86b945b5f16b0 100644
Binary files a/core/res/res/drawable-ldpi/stat_sys_adb.png and b/core/res/res/drawable-ldpi/stat_sys_adb.png differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_adb.png b/core/res/res/drawable-mdpi/stat_sys_adb.png
index 255ce949ff028..2c4d2b575df36 100644
Binary files a/core/res/res/drawable-mdpi/stat_sys_adb.png and b/core/res/res/drawable-mdpi/stat_sys_adb.png differ
diff --git a/packages/SystemUI/res/drawable-mdpi/notify_panel_clock_bg.9.png b/packages/SystemUI/res/drawable-mdpi/notify_panel_clock_bg.9.png
deleted file mode 100644
index 85d9795d90d37..0000000000000
Binary files a/packages/SystemUI/res/drawable-mdpi/notify_panel_clock_bg.9.png and /dev/null differ
diff --git a/packages/SystemUI/res/drawable-mdpi/notify_panel_clock_bg_normal.9.png b/packages/SystemUI/res/drawable-mdpi/notify_panel_clock_bg_normal.9.png
new file mode 100644
index 0000000000000..2266d15c2b5b5
Binary files /dev/null and b/packages/SystemUI/res/drawable-mdpi/notify_panel_clock_bg_normal.9.png differ
diff --git a/packages/SystemUI/res/drawable-mdpi/notify_panel_clock_bg_pressed.9.png b/packages/SystemUI/res/drawable-mdpi/notify_panel_clock_bg_pressed.9.png
new file mode 100644
index 0000000000000..4fc6b46a767d1
Binary files /dev/null and b/packages/SystemUI/res/drawable-mdpi/notify_panel_clock_bg_pressed.9.png differ
diff --git a/packages/SystemUI/res/drawable-mdpi/status_bar_veto_pressed.png b/packages/SystemUI/res/drawable-mdpi/status_bar_veto_pressed.png
index 3b7c9c7c9da56..653acbbe0c13d 100644
Binary files a/packages/SystemUI/res/drawable-mdpi/status_bar_veto_pressed.png and b/packages/SystemUI/res/drawable-mdpi/status_bar_veto_pressed.png differ
diff --git a/packages/SystemUI/res/drawable/notify_panel_clock_bg.xml b/packages/SystemUI/res/drawable/notify_panel_clock_bg.xml
new file mode 100644
index 0000000000000..c83d8783786c2
--- /dev/null
+++ b/packages/SystemUI/res/drawable/notify_panel_clock_bg.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
diff --git a/packages/SystemUI/res/layout-xlarge/status_bar_notification_panel_title.xml b/packages/SystemUI/res/layout-xlarge/status_bar_notification_panel_title.xml
index 0cf28a79da577..1afb2e3f1254b 100644
--- a/packages/SystemUI/res/layout-xlarge/status_bar_notification_panel_title.xml
+++ b/packages/SystemUI/res/layout-xlarge/status_bar_notification_panel_title.xml
@@ -22,6 +22,7 @@
android:layout_height="0dp"
android:orientation="vertical"
android:background="@drawable/notify_panel_clock_bg"
+ android:clickable="true"
>
-
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanel.java b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanel.java
index 8a88792a38e77..64a4f160830f8 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanel.java
@@ -28,7 +28,10 @@ import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.util.Slog;
+import android.view.accessibility.AccessibilityEvent;
import android.view.LayoutInflater;
+import android.view.MotionEvent;
+import android.view.SoundEffectConstants;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.AccelerateInterpolator;
@@ -51,7 +54,7 @@ public class NotificationPanel extends RelativeLayout implements StatusBarPanel,
boolean mShowing;
int mNotificationCount = 0;
View mTitleArea;
- View mModeToggle;
+ ModeToggle mModeToggle;
View mSettingsButton;
View mNotificationButton;
View mNotificationScroller;
@@ -65,6 +68,48 @@ public class NotificationPanel extends RelativeLayout implements StatusBarPanel,
Choreographer mChoreo = new Choreographer();
+ static class ModeToggle extends View {
+ NotificationPanel mPanel;
+ View mTitle;
+ public ModeToggle(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+ public void setPanel(NotificationPanel p) {
+ mPanel = p;
+ }
+ public void setTitleArea(View v) {
+ mTitle = v;
+ }
+ @Override
+ public boolean onTouchEvent(MotionEvent e) {
+ final int x = (int)e.getX();
+ final int y = (int)e.getY();
+ switch (e.getAction()) {
+ case MotionEvent.ACTION_DOWN:
+ mTitle.setPressed(true);
+ break;
+ case MotionEvent.ACTION_MOVE:
+ mTitle.setPressed(x >= 0
+ && x < getWidth()
+ && y >= 0
+ && y < getHeight());
+ break;
+ case MotionEvent.ACTION_CANCEL:
+ mTitle.setPressed(false);
+ break;
+ case MotionEvent.ACTION_UP:
+ if (mTitle.isPressed()) {
+ sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED);
+ playSoundEffect(SoundEffectConstants.CLICK);
+ mPanel.swapPanels();
+ mTitle.setPressed(false);
+ }
+ break;
+ }
+ return true;
+ }
+ }
+
public NotificationPanel(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
@@ -82,8 +127,10 @@ public class NotificationPanel extends RelativeLayout implements StatusBarPanel,
mContentParent = (ViewGroup)findViewById(R.id.content_parent);
mContentParent.bringToFront();
mTitleArea = findViewById(R.id.title_area);
- mModeToggle = findViewById(R.id.mode_toggle);
+ mModeToggle = (ModeToggle) findViewById(R.id.mode_toggle);
mModeToggle.setOnClickListener(this);
+ mModeToggle.setPanel(this);
+ mModeToggle.setTitleArea(mTitleArea);
mSettingsButton = (ImageView)findViewById(R.id.settings_button);
mNotificationButton = (ImageView)findViewById(R.id.notification_button);