Commit 3a9c9506 authored by sczs's avatar sczs Committed by Commit Bot

[ios] Creates User Actions for Infobar Messages

These will be used for a simple sequencing analysis.

Bug: 976066
Change-Id: I93df27f382e2ed5c630294742e473a1390c0e220
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1663013
Commit-Queue: Sergio Collazos <sczs@chromium.org>
Reviewed-by: default avatarIlya Sherman <isherman@chromium.org>
Reviewed-by: default avatarStepan Khapugin <stkhapugin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#670134}
parent ebc8f7fc
......@@ -4,6 +4,8 @@
#import "ios/chrome/browser/ui/infobars/banners/infobar_banner_view_controller.h"
#include "base/metrics/user_metrics.h"
#include "base/metrics/user_metrics_action.h"
#include "ios/chrome/browser/infobars/infobar_metrics_recorder.h"
#import "ios/chrome/browser/ui/infobars/banners/infobar_banner_constants.h"
#import "ios/chrome/browser/ui/infobars/banners/infobar_banner_delegate.h"
......@@ -283,6 +285,8 @@ const CGFloat kLongPressTimeDurationInSeconds = 0.4;
(self.view.center.y - self.originalCenter.y >
kChangeInPositionForTransition);
if (dragDownExceededThreshold) {
base::RecordAction(
base::UserMetricsAction("MobileMessagesBannerDraggedDown"));
[self.metricsRecorder
recordBannerDismissType:MobileMessagesBannerDismissType::
ExpandedToModal];
......@@ -386,6 +390,7 @@ const CGFloat kLongPressTimeDurationInSeconds = 0.4;
}
- (void)presentInfobarModalAfterTap {
base::RecordAction(base::UserMetricsAction("MobileMessagesBannerTapped"));
[self.metricsRecorder
recordBannerDismissType:MobileMessagesBannerDismissType::TappedToModal];
[self.delegate presentInfobarModalFromBanner];
......
......@@ -6,6 +6,8 @@
#include "base/logging.h"
#include "base/mac/foundation_util.h"
#include "base/metrics/user_metrics.h"
#include "base/metrics/user_metrics_action.h"
#include "ios/chrome/browser/infobars/infobar_metrics_recorder.h"
#import "ios/chrome/browser/passwords/ios_chrome_password_infobar_metrics_recorder.h"
#import "ios/chrome/browser/ui/infobars/modals/infobar_modal_constants.h"
......@@ -300,6 +302,8 @@ typedef NS_ENUM(NSInteger, ItemType) {
}
- (void)dismissInfobarModal:(UIButton*)sender {
base::RecordAction(
base::UserMetricsAction("MobileMessagesModalCancelledTapped"));
[self.metricsRecorder recordModalEvent:MobileMessagesModalEvent::Canceled];
[self.infobarModalDelegate dismissInfobarModal:sender
animated:YES
......@@ -307,6 +311,8 @@ typedef NS_ENUM(NSInteger, ItemType) {
}
- (void)saveCredentialsButtonWasPressed:(UIButton*)sender {
base::RecordAction(
base::UserMetricsAction("MobileMessagesModalAcceptedTapped"));
[self.metricsRecorder recordModalEvent:MobileMessagesModalEvent::Accepted];
if ([self.saveCredentialsItem.buttonText
isEqualToString:l10n_util::GetNSString(
......@@ -325,12 +331,14 @@ typedef NS_ENUM(NSInteger, ItemType) {
}
- (void)presentPasswordSettings {
base::RecordAction(base::UserMetricsAction("MobileMessagesModalSettings"));
[self.metricsRecorder
recordModalEvent:MobileMessagesModalEvent::SettingsOpened];
[self.infobarModalDelegate presentPasswordSettings];
}
- (void)neverSaveCredentialsForCurrentSite {
base::RecordAction(base::UserMetricsAction("MobileMessagesModalNever"));
[self.passwordMetricsRecorder
recordModalDismiss:MobileMessagesPasswordsModalDismiss::
TappedNeverForThisSite];
......
......@@ -474,9 +474,16 @@ typedef NS_ENUM(int, TrailingButtonState) {
}
- (void)displayModalInfobar {
MobileMessagesBadgeState state = self.activeBadge
? MobileMessagesBadgeState::Active
: MobileMessagesBadgeState::Inactive;
MobileMessagesBadgeState state;
if (self.activeBadge) {
state = MobileMessagesBadgeState::Active;
base::RecordAction(
base::UserMetricsAction("MobileMessagesBadgeAcceptedTapped"));
} else {
state = MobileMessagesBadgeState::Inactive;
base::RecordAction(
base::UserMetricsAction("MobileMessagesBadgeNonAcceptedTapped"));
}
[self.infobarMetricsRecorder recordBadgeTappedInState:state];
[self.dispatcher displayModalInfobar];
}
......
......@@ -11866,6 +11866,69 @@ should be able to be added at any place in this file.
<description>User pressed 'Voice Search' in the app menu.</description>
</action>
<action name="MobileMessagesBadgeAcceptedTapped">
<owner>sczs@chromium.org</owner>
<owner>thegreenfrog@chromium.org</owner>
<description>
User tapped on an accepted Infobar Message badge which displayed the Modal.
</description>
</action>
<action name="MobileMessagesBadgeNonAcceptedTapped">
<owner>sczs@chromium.org</owner>
<owner>thegreenfrog@chromium.org</owner>
<description>
User tapped on a non-accepted Infobar Message badge which displayed the
Modal.
</description>
</action>
<action name="MobileMessagesBannerDraggedDown">
<owner>sczs@chromium.org</owner>
<owner>thegreenfrog@chromium.org</owner>
<description>
User dragged down the Infobar Message Banner which expanded it into a Modal.
</description>
</action>
<action name="MobileMessagesBannerTapped">
<owner>sczs@chromium.org</owner>
<owner>thegreenfrog@chromium.org</owner>
<description>
User tapped the Infobar Message Banner which expanded it into a Modal.
</description>
</action>
<action name="MobileMessagesModalAcceptedTapped">
<owner>sczs@chromium.org</owner>
<owner>thegreenfrog@chromium.org</owner>
<description>User accepted the Infobar Modal main action.</description>
</action>
<action name="MobileMessagesModalCancelledTapped">
<owner>sczs@chromium.org</owner>
<owner>thegreenfrog@chromium.org</owner>
<description>
User dismissed the Infobar Modal without any action.
</description>
</action>
<action name="MobileMessagesModalNever">
<owner>sczs@chromium.org</owner>
<owner>thegreenfrog@chromium.org</owner>
<description>
User dismissed both the Infobar Modal and the InfobarBadge.
</description>
</action>
<action name="MobileMessagesModalSettings">
<owner>sczs@chromium.org</owner>
<owner>thegreenfrog@chromium.org</owner>
<description>
User dismissed the Infobar Modal by opening the Infobar Settings.
</description>
</action>
<action name="MobileMWSession">
<owner>Please list the metric's owners. Add more owner tags as needed.</owner>
<description>Please enter the description of this user action.</description>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment