Merge "add metrics for notification and group expansion" into nyc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
0f97b8fcbd
@@ -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) ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user