diff options
5 files changed, 32 insertions, 9 deletions
diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml index b18b6acb6a35..30408143e30d 100644 --- a/packages/SystemUI/res/values/colors.xml +++ b/packages/SystemUI/res/values/colors.xml @@ -75,6 +75,9 @@ <!-- The color of the material notification background when dimmed --> <color name="notification_material_background_dimmed_color">#ccffffff</color> + <!-- The color of the material notification background when dark --> + <color name="notification_material_background_dark_color">#ff333333</color> + <!-- The color of the material notification background when low priority --> <color name="notification_material_background_low_priority_color">#fff5f5f5</color> diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java b/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java index b5358bfb6f6e..b9ed72522bdb 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java @@ -463,6 +463,7 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView } mDark = dark; updateBackground(); + updateBackgroundTint(fade); if (!dark && fade && !shouldHideBackground()) { fadeInFromDark(delay); } @@ -700,8 +701,8 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView protected void updateBackground() { cancelFadeAnimations(); if (shouldHideBackground()) { - mBackgroundDimmed.setVisibility(View.INVISIBLE); - mBackgroundNormal.setVisibility(View.INVISIBLE); + mBackgroundDimmed.setVisibility(INVISIBLE); + mBackgroundNormal.setVisibility(mActivated ? VISIBLE : INVISIBLE); } else if (mDimmed) { // When groups are animating to the expanded state from the lockscreen, show the // normal background instead of the dimmed background @@ -940,6 +941,9 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView * @return the calculated background color */ private int calculateBgColor(boolean withTint, boolean withOverRide) { + if (mDark) { + return getContext().getColor(R.color.notification_material_background_dark_color); + } if (withOverRide && mOverrideTint != NO_COLOR) { int defaultTint = calculateBgColor(withTint, false); return NotificationUtils.interpolateColors(defaultTint, mOverrideTint, mOverrideAmount); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java index 49d2462f13f6..d9298ed6be27 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java @@ -42,6 +42,7 @@ import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.UserInfo; import android.content.res.Configuration; import android.database.ContentObserver; +import android.graphics.PointF; import android.graphics.Rect; import android.os.AsyncTask; import android.os.Build; @@ -52,6 +53,7 @@ import android.os.Message; import android.os.PowerManager; import android.os.RemoteException; import android.os.ServiceManager; +import android.os.SystemClock; import android.os.SystemProperties; import android.os.UserHandle; import android.os.UserManager; @@ -317,9 +319,16 @@ public abstract class BaseStatusBar extends SystemUI implements }; private RemoteViews.OnClickHandler mOnClickHandler = new RemoteViews.OnClickHandler() { + private final int[] mTmpInt2 = new int[2]; + @Override public boolean onClickHandler( final View view, final PendingIntent pendingIntent, final Intent fillInIntent) { + view.getLocationInWindow(mTmpInt2); + wakeUpIfDozing(SystemClock.uptimeMillis(), new PointF( + mTmpInt2[0] + view.getWidth() / 2, mTmpInt2[1] + view.getHeight() / 2)); + + if (handleRemoteInput(view, pendingIntent, fillInIntent)) { return true; } @@ -1787,13 +1796,22 @@ public abstract class BaseStatusBar extends SystemUI implements return false; } + public void wakeUpIfDozing(long time, PointF where) { + } + private final class NotificationClicker implements View.OnClickListener { + private final int[] mTmpInt2 = new int[2]; + public void onClick(final View v) { if (!(v instanceof ExpandableNotificationRow)) { Log.e(TAG, "NotificationClicker called on a view that is not a notification row."); return; } + v.getLocationInWindow(mTmpInt2); + wakeUpIfDozing(SystemClock.uptimeMillis(), + new PointF(mTmpInt2[0] + v.getWidth() / 2, mTmpInt2[1] + v.getHeight() / 2)); + final ExpandableNotificationRow row = (ExpandableNotificationRow) v; final StatusBarNotification sbn = row.getStatusBarNotification(); if (sbn == null) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index 9612db038f1c..21c7ccdc0ec9 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -4604,12 +4604,13 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, return !mNotificationData.getActiveNotifications().isEmpty(); } - public void wakeUpIfDozing(long time, MotionEvent event) { + @Override + public void wakeUpIfDozing(long time, PointF where) { if (mDozing && mDozeScrimController.isPulsing()) { PowerManager pm = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE); pm.wakeUp(time, "com.android.systemui:NODOZE"); mWakeUpComingFromTouch = true; - mWakeUpTouchLocation = new PointF(event.getX(), event.getY()); + mWakeUpTouchLocation = where; mNotificationPanel.setTouchDisabled(false); mStatusBarKeyguardViewManager.notifyDeviceWakeUpRequested(); mFalsingManager.onScreenOnFromTouch(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java index 1b73a3f53997..aa29e43be467 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java @@ -263,12 +263,9 @@ public class StatusBarWindowView extends FrameLayout { if (mNotificationPanel.isFullyExpanded() && mStackScrollLayout.getVisibility() == View.VISIBLE && mService.getBarState() == StatusBarState.KEYGUARD - && !mService.isBouncerShowing()) { + && !mService.isBouncerShowing() + && !mService.isDozing()) { intercept = mDragDownHelper.onInterceptTouchEvent(ev); - // wake up on a touch down event, if dozing - if (ev.getActionMasked() == MotionEvent.ACTION_DOWN) { - mService.wakeUpIfDozing(ev.getEventTime(), ev); - } } if (!intercept) { super.onInterceptTouchEvent(ev); |