| Index: chrome/browser/chromeos/arc/arc_optin_uma.h
|
| diff --git a/chrome/browser/chromeos/arc/arc_optin_uma.h b/chrome/browser/chromeos/arc/arc_optin_uma.h
|
| index c0aee1e5e7de25c242d00cd86b0fa72abd636979..3362f757110f27dd8742d9790d7944723044a12f 100644
|
| --- a/chrome/browser/chromeos/arc/arc_optin_uma.h
|
| +++ b/chrome/browser/chromeos/arc/arc_optin_uma.h
|
| @@ -18,46 +18,83 @@ namespace arc {
|
| // These enums are used to define the buckets for an enumerated UMA histogram
|
| // and need to be synced with histograms.xml
|
| enum class OptInActionType : int {
|
| - OPTED_OUT = 0, // ARC was opted out by user.
|
| - OPTED_IN = 1, // ARC was opted in by user.
|
| - NOTIFICATION_ACCEPTED = 2, // ARC OptIn notification was accepted.
|
| - NOTIFICATION_DECLINED = 3, // ARC OptIn notification was declined.
|
| - NOTIFICATION_TIMED_OUT = 4, // ARC OptIn notification was timed out.
|
| - RETRY = 5, // User asked to retry OptIn.
|
| - SIZE, // The size of this enum; keep last.
|
| + // ARC was opted out by user.
|
| + OPTED_OUT = 0,
|
| +
|
| + // ARC was opted in by user.
|
| + OPTED_IN = 1,
|
| +
|
| + // ARC OptIn notification was accepted.
|
| + NOTIFICATION_ACCEPTED = 2,
|
| +
|
| + // ARC OptIn notification was declined.
|
| + NOTIFICATION_DECLINED = 3,
|
| +
|
| + // ARC OptIn notification was timed out.
|
| + NOTIFICATION_TIMED_OUT = 4,
|
| +
|
| + // User asked to retry OptIn.
|
| + RETRY = 5,
|
| +
|
| + // The size of this enum; keep last.
|
| + SIZE,
|
| };
|
|
|
| enum class OptInCancelReason {
|
| - USER_CANCEL = 0, // Canceled by user.
|
| - UNKNOWN_ERROR = 1, // Unclassified failure.
|
| - NETWORK_ERROR = 2, // Network failure.
|
| - SERVICE_UNAVAILABLE = 3, // GMS Services are not available.
|
| + // Canceled by user.
|
| + USER_CANCEL = 0,
|
| +
|
| + // Unclassified failure.
|
| + UNKNOWN_ERROR = 1,
|
| +
|
| + // Network failure.
|
| + NETWORK_ERROR = 2,
|
| +
|
| + DEPRECATED_SERVICE_UNAVAILABLE = 3,
|
| DEPRECATED_BAD_AUTHENTICATION = 4,
|
| DEPRECATED_GMS_CORE_NOT_AVAILABLE = 5,
|
| - CLOUD_PROVISION_FLOW_FAIL = 6, // Cloud provision flow failed.
|
| - ANDROID_MANAGEMENT_REQUIRED = 7, // Android management is required for user.
|
| - SIZE, // The size of this enum; keep last.
|
| +
|
| + // Cloud provision flow failed.
|
| + CLOUD_PROVISION_FLOW_FAIL = 6,
|
| +
|
| + // Android management is required for user.
|
| + ANDROID_MANAGEMENT_REQUIRED = 7,
|
| +
|
| + // Cannot start ARC because it is busy.
|
| + SESSION_BUSY = 8,
|
| +
|
| + // The size of this enum; keep last.
|
| + SIZE,
|
| };
|
|
|
| enum class OptInSilentAuthCode {
|
| // Silent auth code feature is disabled.
|
| DISABLED = 0,
|
| +
|
| // Silent auth code fetched normally.
|
| SUCCESS = 1,
|
| +
|
| // HTTP Context cannot be prepared.
|
| CONTEXT_NOT_READY = 2,
|
| +
|
| // No LST token is available.
|
| NO_LST_TOKEN = 3,
|
| +
|
| // Silent auth code failed due sever HTTP error 5XX.
|
| HTTP_SERVER_FAILURE = 4,
|
| +
|
| // Silent auth code failed due client HTTP error 4XX.
|
| HTTP_CLIENT_FAILURE = 5,
|
| +
|
| // Silent auth code failed due unknown HTTP error.
|
| HTTP_UNKNOWN_FAILURE = 6,
|
| +
|
| // Cannot parse HTTP response.
|
| RESPONSE_PARSE_FAILURE = 7,
|
| +
|
| // No Auth code in response.
|
| NO_AUTH_CODE_IN_RESPONSE = 8,
|
| +
|
| // The size of this enum, keep last.
|
| SIZE,
|
| };
|
| @@ -121,8 +158,29 @@ enum class ProvisioningResult : int {
|
| SIZE,
|
| };
|
|
|
| +enum class OptInFlowResult : int {
|
| + // OptIn has started.
|
| + STARTED = 0,
|
| +
|
| + // OptIn has been succeeded, this also includes succeeded with error cases.
|
| + SUCCEEDED = 1,
|
| +
|
| + // OptIn has been succeeded but with retry after an error.
|
| + SUCCEEDED_AFTER_RETRY = 2,
|
| +
|
| + // OptIn has been canceled, this also includes canceled after error cases.
|
| + CANCELED = 3,
|
| +
|
| + // OptIn has been canceled after an error was reported.
|
| + CANCELED_AFTER_ERROR = 4,
|
| +
|
| + // The size of this enum; keep last.
|
| + SIZE,
|
| +};
|
| +
|
| void UpdateOptInActionUMA(OptInActionType type);
|
| void UpdateOptInCancelUMA(OptInCancelReason reason);
|
| +void UpdateOptInFlowResultUMA(OptInFlowResult result);
|
| void UpdateEnabledStateUMA(bool enabled);
|
| void UpdateProvisioningResultUMA(ProvisioningResult result, bool managed);
|
| void UpdateProvisioningTiming(const base::TimeDelta& elapsed_time,
|
|
|