diff options
| author | 2015-07-01 15:33:28 +0000 | |
|---|---|---|
| committer | 2015-07-01 15:33:32 +0000 | |
| commit | c58d1695307923c8074f5803a0e01cda1869d231 (patch) | |
| tree | 499f568e1d0b019a67d9c348151119b34cd1f065 | |
| parent | e51c46b0683114d0aa9010a45ec0443505a0b389 (diff) | |
| parent | afa6185a8134c329ddb459c6b1302f6696a621fd (diff) | |
Merge changes from topic 'tron' into mnc-dev
* changes:
remove double count of panel open
report notification load on panel reveal
9 files changed, 20 insertions, 11 deletions
diff --git a/core/java/com/android/internal/statusbar/IStatusBarService.aidl b/core/java/com/android/internal/statusbar/IStatusBarService.aidl index aea1585ae517..63bfbe5a6ca2 100644 --- a/core/java/com/android/internal/statusbar/IStatusBarService.aidl +++ b/core/java/com/android/internal/statusbar/IStatusBarService.aidl @@ -44,7 +44,7 @@ interface IStatusBarService // You need the STATUS_BAR_SERVICE permission void registerStatusBar(IStatusBar callbacks, out StatusBarIconList iconList, out int[] switches, out List<IBinder> binders); - void onPanelRevealed(boolean clearNotificationEffects); + void onPanelRevealed(boolean clearNotificationEffects, int numItems); void onPanelHidden(); // Mark current notifications as "seen" and stop ringing, vibrating, blinking. void clearNotificationEffects(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java index 3e66907419e3..6ad0ef9930c2 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java @@ -1623,7 +1623,13 @@ public abstract class BaseStatusBar extends SystemUI implements boolean clearNotificationEffects = !isPanelFullyCollapsed() && (mShowLockscreenNotifications || (mState == StatusBarState.SHADE || mState == StatusBarState.SHADE_LOCKED)); - mBarService.onPanelRevealed(clearNotificationEffects); + int notificationLoad = mNotificationData.getActiveNotifications().size(); + if (mHeadsUpManager.hasPinnedHeadsUp() && isPanelFullyCollapsed()) { + notificationLoad = 1; + } else { + MetricsLogger.histogram(mContext, "note_load", notificationLoad); + } + mBarService.onPanelRevealed(clearNotificationEffects, notificationLoad); } else { mBarService.onPanelHidden(); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java index c89a37d2c881..094b9b563f91 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java @@ -721,7 +721,6 @@ public class NotificationPanelView extends PanelView implements if (mListenForHeadsUp && !mHeadsUpTouchHelper.isTrackingHeadsUp() && mHeadsUpTouchHelper.onInterceptTouchEvent(event)) { mIsExpansionFromHeadsUp = true; - MetricsLogger.count(mContext, COUNTER_PANEL_OPEN, 1); MetricsLogger.count(mContext, COUNTER_PANEL_OPEN_PEEK, 1); } if ((!mIsExpanding || mHintAnimationRunning) 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 3678cf1f37b4..a637e24ba8bb 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -1180,6 +1180,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, notification.getKey()); notification.getNotification().fullScreenIntent.send(); shadeEntry.notifyFullScreenIntentLaunched(); + MetricsLogger.count(mContext, "note_fullscreen", 1); } catch (PendingIntent.CanceledException e) { } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java index 98bbe7cdd4e2..63f57116ea67 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java @@ -29,6 +29,7 @@ import android.view.View; import android.view.ViewTreeObserver; import android.view.accessibility.AccessibilityEvent; +import com.android.internal.logging.MetricsLogger; import com.android.systemui.R; import com.android.systemui.statusbar.ExpandableNotificationRow; import com.android.systemui.statusbar.NotificationData; @@ -82,6 +83,7 @@ public class HeadsUpManager implements ViewTreeObserver.OnComputeInternalInsetsL private final View mStatusBarWindowView; private final int mStatusBarHeight; private final int mNotificationsTopPadding; + private final Context mContext; private PhoneStatusBar mBar; private int mSnoozeLengthMs; private ContentObserver mSettingsObserver; @@ -101,7 +103,8 @@ public class HeadsUpManager implements ViewTreeObserver.OnComputeInternalInsetsL private boolean mIsObserving; public HeadsUpManager(final Context context, View statusBarWindowView) { - Resources resources = context.getResources(); + mContext = context; + Resources resources = mContext.getResources(); mTouchAcceptanceDelay = resources.getInteger(R.integer.touch_acceptance_delay); mSnoozedPackages = new ArrayMap<>(); mDefaultSnoozeLengthMs = resources.getInteger(R.integer.heads_up_default_snooze_length_ms); @@ -165,6 +168,7 @@ public class HeadsUpManager implements ViewTreeObserver.OnComputeInternalInsetsL */ public void showNotification(NotificationData.Entry headsUp) { if (DEBUG) Log.v(TAG, "showNotification"); + MetricsLogger.count(mContext, "note_peek", 1); addHeadsUpEntry(headsUp); updateNotification(headsUp, true); headsUp.setInterruption(); @@ -522,7 +526,6 @@ public class HeadsUpManager implements ViewTreeObserver.OnComputeInternalInsetsL }); } - /** * This represents a notification and how long it is in a heads up mode. It also manages its * lifecycle automatically when created. diff --git a/services/core/java/com/android/server/EventLogTags.logtags b/services/core/java/com/android/server/EventLogTags.logtags index 43b640b434ce..76afab3b677d 100644 --- a/services/core/java/com/android/server/EventLogTags.logtags +++ b/services/core/java/com/android/server/EventLogTags.logtags @@ -60,7 +60,7 @@ option java_package com.android.server 2752 notification_cancel_all (uid|1|5),(pid|1|5),(pkg|3),(userid|1|5),(required_flags|1),(forbidden_flags|1),(reason|1|5),(listener|3) # when the notification panel is shown # Note: New tag range starts here since 2753+ have been used below. -27500 notification_panel_revealed +27500 notification_panel_revealed (items|1) # when the notification panel is hidden 27501 notification_panel_hidden # when notifications are newly displayed on screen, or disappear from screen diff --git a/services/core/java/com/android/server/notification/NotificationDelegate.java b/services/core/java/com/android/server/notification/NotificationDelegate.java index 87b4f8cddc15..6a1401c2b5d8 100644 --- a/services/core/java/com/android/server/notification/NotificationDelegate.java +++ b/services/core/java/com/android/server/notification/NotificationDelegate.java @@ -28,7 +28,7 @@ public interface NotificationDelegate { void onNotificationError(int callingUid, int callingPid, String pkg, String tag, int id, int uid, int initialPid, String message, int userId); - void onPanelRevealed(boolean clearEffects); + void onPanelRevealed(boolean clearEffects, int numItems); void onPanelHidden(); void clearEffects(); void onNotificationVisibilityChanged( diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java index d6a7bf930004..87e9d4261979 100644 --- a/services/core/java/com/android/server/notification/NotificationManagerService.java +++ b/services/core/java/com/android/server/notification/NotificationManagerService.java @@ -567,8 +567,8 @@ public class NotificationManagerService extends SystemService { } @Override - public void onPanelRevealed(boolean clearEffects) { - EventLogTags.writeNotificationPanelRevealed(); + public void onPanelRevealed(boolean clearEffects, int items) { + EventLogTags.writeNotificationPanelRevealed(items); if (clearEffects) { clearEffects(); } diff --git a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java index 7640837f4e73..5ceb6ad85e3a 100644 --- a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java +++ b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java @@ -571,11 +571,11 @@ public class StatusBarManagerService extends IStatusBarService.Stub { * LED, vibration, and ringing */ @Override - public void onPanelRevealed(boolean clearNotificationEffects) { + public void onPanelRevealed(boolean clearNotificationEffects, int numItems) { enforceStatusBarService(); long identity = Binder.clearCallingIdentity(); try { - mNotificationDelegate.onPanelRevealed(clearNotificationEffects); + mNotificationDelegate.onPanelRevealed(clearNotificationEffects, numItems); } finally { Binder.restoreCallingIdentity(identity); } |