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 @@ ...@@ -4,6 +4,8 @@
#import "ios/chrome/browser/ui/infobars/banners/infobar_banner_view_controller.h" #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" #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_constants.h"
#import "ios/chrome/browser/ui/infobars/banners/infobar_banner_delegate.h" #import "ios/chrome/browser/ui/infobars/banners/infobar_banner_delegate.h"
...@@ -283,6 +285,8 @@ const CGFloat kLongPressTimeDurationInSeconds = 0.4; ...@@ -283,6 +285,8 @@ const CGFloat kLongPressTimeDurationInSeconds = 0.4;
(self.view.center.y - self.originalCenter.y > (self.view.center.y - self.originalCenter.y >
kChangeInPositionForTransition); kChangeInPositionForTransition);
if (dragDownExceededThreshold) { if (dragDownExceededThreshold) {
base::RecordAction(
base::UserMetricsAction("MobileMessagesBannerDraggedDown"));
[self.metricsRecorder [self.metricsRecorder
recordBannerDismissType:MobileMessagesBannerDismissType:: recordBannerDismissType:MobileMessagesBannerDismissType::
ExpandedToModal]; ExpandedToModal];
...@@ -386,6 +390,7 @@ const CGFloat kLongPressTimeDurationInSeconds = 0.4; ...@@ -386,6 +390,7 @@ const CGFloat kLongPressTimeDurationInSeconds = 0.4;
} }
- (void)presentInfobarModalAfterTap { - (void)presentInfobarModalAfterTap {
base::RecordAction(base::UserMetricsAction("MobileMessagesBannerTapped"));
[self.metricsRecorder [self.metricsRecorder
recordBannerDismissType:MobileMessagesBannerDismissType::TappedToModal]; recordBannerDismissType:MobileMessagesBannerDismissType::TappedToModal];
[self.delegate presentInfobarModalFromBanner]; [self.delegate presentInfobarModalFromBanner];
......
...@@ -6,6 +6,8 @@ ...@@ -6,6 +6,8 @@
#include "base/logging.h" #include "base/logging.h"
#include "base/mac/foundation_util.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" #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/passwords/ios_chrome_password_infobar_metrics_recorder.h"
#import "ios/chrome/browser/ui/infobars/modals/infobar_modal_constants.h" #import "ios/chrome/browser/ui/infobars/modals/infobar_modal_constants.h"
...@@ -300,6 +302,8 @@ typedef NS_ENUM(NSInteger, ItemType) { ...@@ -300,6 +302,8 @@ typedef NS_ENUM(NSInteger, ItemType) {
} }
- (void)dismissInfobarModal:(UIButton*)sender { - (void)dismissInfobarModal:(UIButton*)sender {
base::RecordAction(
base::UserMetricsAction("MobileMessagesModalCancelledTapped"));
[self.metricsRecorder recordModalEvent:MobileMessagesModalEvent::Canceled]; [self.metricsRecorder recordModalEvent:MobileMessagesModalEvent::Canceled];
[self.infobarModalDelegate dismissInfobarModal:sender [self.infobarModalDelegate dismissInfobarModal:sender
animated:YES animated:YES
...@@ -307,6 +311,8 @@ typedef NS_ENUM(NSInteger, ItemType) { ...@@ -307,6 +311,8 @@ typedef NS_ENUM(NSInteger, ItemType) {
} }
- (void)saveCredentialsButtonWasPressed:(UIButton*)sender { - (void)saveCredentialsButtonWasPressed:(UIButton*)sender {
base::RecordAction(
base::UserMetricsAction("MobileMessagesModalAcceptedTapped"));
[self.metricsRecorder recordModalEvent:MobileMessagesModalEvent::Accepted]; [self.metricsRecorder recordModalEvent:MobileMessagesModalEvent::Accepted];
if ([self.saveCredentialsItem.buttonText if ([self.saveCredentialsItem.buttonText
isEqualToString:l10n_util::GetNSString( isEqualToString:l10n_util::GetNSString(
...@@ -325,12 +331,14 @@ typedef NS_ENUM(NSInteger, ItemType) { ...@@ -325,12 +331,14 @@ typedef NS_ENUM(NSInteger, ItemType) {
} }
- (void)presentPasswordSettings { - (void)presentPasswordSettings {
base::RecordAction(base::UserMetricsAction("MobileMessagesModalSettings"));
[self.metricsRecorder [self.metricsRecorder
recordModalEvent:MobileMessagesModalEvent::SettingsOpened]; recordModalEvent:MobileMessagesModalEvent::SettingsOpened];
[self.infobarModalDelegate presentPasswordSettings]; [self.infobarModalDelegate presentPasswordSettings];
} }
- (void)neverSaveCredentialsForCurrentSite { - (void)neverSaveCredentialsForCurrentSite {
base::RecordAction(base::UserMetricsAction("MobileMessagesModalNever"));
[self.passwordMetricsRecorder [self.passwordMetricsRecorder
recordModalDismiss:MobileMessagesPasswordsModalDismiss:: recordModalDismiss:MobileMessagesPasswordsModalDismiss::
TappedNeverForThisSite]; TappedNeverForThisSite];
......
...@@ -474,9 +474,16 @@ typedef NS_ENUM(int, TrailingButtonState) { ...@@ -474,9 +474,16 @@ typedef NS_ENUM(int, TrailingButtonState) {
} }
- (void)displayModalInfobar { - (void)displayModalInfobar {
MobileMessagesBadgeState state = self.activeBadge MobileMessagesBadgeState state;
? MobileMessagesBadgeState::Active if (self.activeBadge) {
: MobileMessagesBadgeState::Inactive; state = MobileMessagesBadgeState::Active;
base::RecordAction(
base::UserMetricsAction("MobileMessagesBadgeAcceptedTapped"));
} else {
state = MobileMessagesBadgeState::Inactive;
base::RecordAction(
base::UserMetricsAction("MobileMessagesBadgeNonAcceptedTapped"));
}
[self.infobarMetricsRecorder recordBadgeTappedInState:state]; [self.infobarMetricsRecorder recordBadgeTappedInState:state];
[self.dispatcher displayModalInfobar]; [self.dispatcher displayModalInfobar];
} }
......
...@@ -11866,6 +11866,69 @@ should be able to be added at any place in this file. ...@@ -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> <description>User pressed 'Voice Search' in the app menu.</description>
</action> </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"> <action name="MobileMWSession">
<owner>Please list the metric's owners. Add more owner tags as needed.</owner> <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
<description>Please enter the description of this user action.</description> <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