diff options
author | Chris Wren <cwren@android.com> | 2015-06-25 17:12:27 -0400 |
---|---|---|
committer | Chris Wren <cwren@android.com> | 2015-06-30 15:30:22 -0400 |
commit | b659c4f44a839e6ad7ef6834cc0d35954e04460a (patch) | |
tree | 96545477fdc436bf0f918fca7a58dfbbd219ca15 /packages | |
parent | 4572cbc917b62aeece4afcd73713eeabed2a5d92 (diff) | |
download | frameworks_base-b659c4f44a839e6ad7ef6834cc0d35954e04460a.zip frameworks_base-b659c4f44a839e6ad7ef6834cc0d35954e04460a.tar.gz frameworks_base-b659c4f44a839e6ad7ef6834cc0d35954e04460a.tar.bz2 |
report notification load on panel reveal
Counts may differ from user perception. For example, if notifications arrive
after the shade is open (even if it is only peeking) there will not be another
panel_reveal before the user sees the shade. User perception is more accurately
measured by visibility events.
Peek events will report the notificaiton load as 1.
Bug: 20088581
Change-Id: I10221d4b66a18c223aae21e616615f087c65b1e1
Diffstat (limited to 'packages')
3 files changed, 13 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java index 3e66907..6ad0ef9 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/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index 3678cf1..a637e24 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 98bbe7c..63f5711 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. |