Merge "Decouple logUIevent from Bubble class" into rvc-dev

This commit is contained in:
TreeHugger Robot
2020-06-18 08:41:09 +00:00
committed by Android (Google) Code Review

View File

@@ -51,6 +51,7 @@ import android.graphics.drawable.TransitionDrawable;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.provider.Settings; import android.provider.Settings;
import android.service.notification.StatusBarNotification;
import android.util.Log; import android.util.Log;
import android.view.Choreographer; import android.view.Choreographer;
import android.view.DisplayCutout; import android.view.DisplayCutout;
@@ -1065,10 +1066,8 @@ public class BubbleStackView extends FrameLayout
if (bubble != null && mBubbleData.hasBubbleInStackWithKey(bubble.getKey())) { if (bubble != null && mBubbleData.hasBubbleInStackWithKey(bubble.getKey())) {
final Intent intent = bubble.getSettingsIntent(mContext); final Intent intent = bubble.getSettingsIntent(mContext);
collapseStack(() -> { collapseStack(() -> {
mContext.startActivityAsUser(intent, bubble.getUser()); mContext.startActivityAsUser(intent, bubble.getUser());
logBubbleClickEvent( logBubbleEvent(bubble,
bubble,
SysUiStatsLog.BUBBLE_UICHANGED__ACTION__HEADER_GO_TO_SETTINGS); SysUiStatsLog.BUBBLE_UICHANGED__ACTION__HEADER_GO_TO_SETTINGS);
}); });
} }
@@ -2757,16 +2756,28 @@ public class BubbleStackView extends FrameLayout
/** /**
* Logs the bubble UI event. * Logs the bubble UI event.
* *
* @param bubble the bubble that is being interacted on. Null value indicates that * @param provider the bubble view provider that is being interacted on. Null value indicates
* the user interaction is not specific to one bubble. * that the user interaction is not specific to one bubble.
* @param action the user interaction enum. * @param action the user interaction enum.
*/ */
private void logBubbleEvent(@Nullable BubbleViewProvider bubble, int action) { private void logBubbleEvent(@Nullable BubbleViewProvider provider, int action) {
if (bubble == null) { if (provider == null || provider.getKey().equals(BubbleOverflow.KEY)) {
SysUiStatsLog.write(SysUiStatsLog.BUBBLE_UI_CHANGED,
mContext.getApplicationInfo().packageName,
provider == null ? null : BubbleOverflow.KEY /* notification channel */,
0 /* notification ID */,
0 /* bubble position */,
getBubbleCount(),
action,
getNormalizedXPosition(),
getNormalizedYPosition(),
false /* unread bubble */,
false /* on-going bubble */,
false /* isAppForeground (unused) */);
return; return;
} }
bubble.logUIEvent(getBubbleCount(), action, getNormalizedXPosition(), provider.logUIEvent(getBubbleCount(), action, getNormalizedXPosition(),
getNormalizedYPosition(), getBubbleIndex(bubble)); getNormalizedYPosition(), getBubbleIndex(provider));
} }
/** /**
@@ -2805,20 +2816,4 @@ public class BubbleStackView extends FrameLayout
} }
return bubbles; return bubbles;
} }
/**
* Logs bubble UI click event.
*
* @param bubble the bubble notification entry that user is interacting with.
* @param action the user interaction enum.
*/
private void logBubbleClickEvent(Bubble bubble, int action) {
bubble.logUIEvent(
getBubbleCount(),
action,
getNormalizedXPosition(),
getNormalizedYPosition(),
getBubbleIndex(getExpandedBubble())
);
}
} }