diff options
-rw-r--r-- | core/java/com/android/internal/app/ChooserActivity.java | 12 | ||||
-rw-r--r-- | proto/src/metrics_constants/metrics_constants.proto | 7 |
2 files changed, 17 insertions, 2 deletions
diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java index a5a1dd993e0c..67e0446e19e5 100644 --- a/core/java/com/android/internal/app/ChooserActivity.java +++ b/core/java/com/android/internal/app/ChooserActivity.java @@ -1889,11 +1889,19 @@ public class ChooserActivity extends ResolverActivity { * Set to true to reveal all service targets at once. */ public void setShowServiceTargets(boolean show) { + // mShowServiceTargets is only flipped once to show direct share targets. But after the + // initial display the list can be re-sorted and the user will see the target list + // change. This will log the initial show and the subsequent shuffle to help us get + // accurate timing of the UX. + if (show) { + getMetricsLogger().write( + new LogMaker(MetricsEvent.ACTION_ACTIVITY_CHOOSER_SHOWN_DIRECT_TARGET) + .setSubtype(mShowServiceTargets ? MetricsEvent.PREVIOUSLY_VISIBLE + : MetricsEvent.PREVIOUSLY_HIDDEN)); + } if (show != mShowServiceTargets) { mShowServiceTargets = show; notifyDataSetChanged(); - getMetricsLogger().write( - new LogMaker(MetricsEvent.ACTION_ACTIVITY_CHOOSER_SHOWN_DIRECT_TARGET)); } } diff --git a/proto/src/metrics_constants/metrics_constants.proto b/proto/src/metrics_constants/metrics_constants.proto index 5a639b252f33..ab8ad0f45f9f 100644 --- a/proto/src/metrics_constants/metrics_constants.proto +++ b/proto/src/metrics_constants/metrics_constants.proto @@ -253,6 +253,13 @@ message MetricsEvent { MANAGED_PROFILE = 2; } + // Subtypes for showing direct sharing targets + enum DirectShareTargetPreviousState { + PREVIOUSLY_UNKNOWN = 0; + PREVIOUSLY_HIDDEN = 1; + PREVIOUSLY_VISIBLE = 2; + } + // Known visual elements: views or controls. enum View { // Unknown view |