Merge "add metrics for notification and group expansion" into nyc-dev

This commit is contained in:
TreeHugger Robot
2016-05-26 16:35:28 +00:00
committed by Android (Google) Code Review
3 changed files with 27 additions and 6 deletions

View File

@@ -41,6 +41,9 @@ import android.view.accessibility.AccessibilityEvent;
import android.widget.Chronometer; import android.widget.Chronometer;
import android.widget.ImageView; import android.widget.ImageView;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.MetricsProto;
import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.internal.util.NotificationColorUtil; import com.android.internal.util.NotificationColorUtil;
import com.android.systemui.R; import com.android.systemui.R;
import com.android.systemui.classifier.FalsingManager; import com.android.systemui.classifier.FalsingManager;
@@ -138,11 +141,14 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
if (!mShowingPublic && mGroupManager.isSummaryOfGroup(mStatusBarNotification)) { if (!mShowingPublic && mGroupManager.isSummaryOfGroup(mStatusBarNotification)) {
mGroupManager.toggleGroupExpansion(mStatusBarNotification); final boolean wasExpanded = mGroupManager.isGroupExpanded(mStatusBarNotification);
mOnExpandClickListener.onExpandClicked(mEntry, boolean nowExpanded = mGroupManager.toggleGroupExpansion(mStatusBarNotification);
mGroupManager.isGroupExpanded(mStatusBarNotification)); mOnExpandClickListener.onExpandClicked(mEntry, nowExpanded);
mGroupExpansionChanging = true; mGroupExpansionChanging = true;
updateBackgroundForGroupState(); updateBackgroundForGroupState();
MetricsLogger.action(mContext, MetricsEvent.ACTION_NOTIFICATION_GROUP_EXPANDER,
nowExpanded);
logExpansionEvent(true /* userAction */, wasExpanded);
} else { } else {
boolean nowExpanded; boolean nowExpanded;
if (isPinned()) { if (isPinned()) {
@@ -154,6 +160,8 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
} }
notifyHeightChanged(true); notifyHeightChanged(true);
mOnExpandClickListener.onExpandClicked(mEntry, nowExpanded); mOnExpandClickListener.onExpandClicked(mEntry, nowExpanded);
MetricsLogger.action(mContext, MetricsEvent.ACTION_NOTIFICATION_EXPANDER,
nowExpanded);
} }
} }
}; };
@@ -1019,7 +1027,9 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
public void setUserExpanded(boolean userExpanded, boolean allowChildExpansion) { public void setUserExpanded(boolean userExpanded, boolean allowChildExpansion) {
mFalsingManager.setNotificationExpanded(); mFalsingManager.setNotificationExpanded();
if (mIsSummaryWithChildren && !mShowingPublic && allowChildExpansion) { if (mIsSummaryWithChildren && !mShowingPublic && allowChildExpansion) {
final boolean wasExpanded = mGroupManager.isGroupExpanded(mStatusBarNotification);
mGroupManager.setGroupExpanded(mStatusBarNotification, userExpanded); mGroupManager.setGroupExpanded(mStatusBarNotification, userExpanded);
logExpansionEvent(true /* userAction */, wasExpanded);
return; return;
} }
if (userExpanded && !mExpandable) return; if (userExpanded && !mExpandable) return;
@@ -1505,7 +1515,10 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
} }
private void logExpansionEvent(boolean userAction, boolean wasExpanded) { private void logExpansionEvent(boolean userAction, boolean wasExpanded) {
final boolean nowExpanded = isExpanded(); boolean nowExpanded = isExpanded();
if (mIsSummaryWithChildren) {
nowExpanded = mGroupManager.isGroupExpanded(mStatusBarNotification);
}
if (wasExpanded != nowExpanded && mLogger != null) { if (wasExpanded != nowExpanded && mLogger != null) {
mLogger.logNotificationExpansion(mLoggingKey, userAction, nowExpanded) ; mLogger.logNotificationExpansion(mLoggingKey, userAction, nowExpanded) ;
} }

View File

@@ -323,12 +323,14 @@ public class NotificationGroupManager implements HeadsUpManager.OnHeadsUpChanged
: group.summary.row; : group.summary.row;
} }
public void toggleGroupExpansion(StatusBarNotification sbn) { /** @return group expansion state after toggling. */
public boolean toggleGroupExpansion(StatusBarNotification sbn) {
NotificationGroup group = mGroupMap.get(getGroupKey(sbn)); NotificationGroup group = mGroupMap.get(getGroupKey(sbn));
if (group == null) { if (group == null) {
return; return false;
} }
setGroupExpanded(group, !group.expanded); setGroupExpanded(group, !group.expanded);
return group.expanded;
} }
private boolean isIsolated(StatusBarNotification sbn) { private boolean isIsolated(StatusBarNotification sbn) {

View File

@@ -2206,6 +2206,12 @@ message MetricsEvent {
// Settings launched from expanded quick settings. // Settings launched from expanded quick settings.
ACTION_QS_EXPANDED_SETTINGS_LAUNCH = 406; ACTION_QS_EXPANDED_SETTINGS_LAUNCH = 406;
// Notification expansion state toggled by the expand affordance.
ACTION_NOTIFICATION_EXPANDER = 407;
// Notification group expansion state toggled by the expand affordance.
ACTION_NOTIFICATION_GROUP_EXPANDER = 408;
// Add new aosp constants above this line. // Add new aosp constants above this line.
// END OF AOSP CONSTANTS // END OF AOSP CONSTANTS
} }