Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_BROWSER_CHROMEOS_ARC_ARC_OPTIN_UMA_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_ARC_ARC_OPTIN_UMA_H_ |
| 6 #define CHROME_BROWSER_CHROMEOS_ARC_ARC_OPTIN_UMA_H_ | 6 #define CHROME_BROWSER_CHROMEOS_ARC_ARC_OPTIN_UMA_H_ |
| 7 | 7 |
| 8 namespace base { | 8 namespace base { |
| 9 class TimeDelta; | 9 class TimeDelta; |
| 10 } | 10 } |
| 11 | 11 |
| 12 namespace arc { | 12 namespace arc { |
| 13 | 13 |
| 14 // These enums are used to define the buckets for an enumerated UMA histogram | 14 // These enums are used to define the buckets for an enumerated UMA histogram |
| 15 // and need to be synced with histograms.xml | 15 // and need to be synced with histograms.xml |
| 16 enum class OptInActionType : int { | 16 enum class OptInActionType : int { |
| 17 OPTED_OUT = 0, // Arc was opted out by user. | 17 OPTED_OUT = 0, // Arc was opted out by user. |
| 18 OPTED_IN = 1, // Arc was opted in by user. | 18 OPTED_IN = 1, // Arc was opted in by user. |
| 19 NOTIFICATION_ACCEPTED = 2, // Arc OptIn notification was accepted. | 19 NOTIFICATION_ACCEPTED = 2, // Arc OptIn notification was accepted. |
| 20 NOTIFICATION_DECLINED = 3, // Arc OptIn notification was declined. | 20 NOTIFICATION_DECLINED = 3, // Arc OptIn notification was declined. |
| 21 NOTIFICATION_TIMED_OUT = 4, // Arc OptIn notification was timed out. | 21 NOTIFICATION_TIMED_OUT = 4, // Arc OptIn notification was timed out. |
| 22 RETRY = 5, // User asked to retry OptIn. | 22 RETRY = 5, // User asked to retry OptIn. |
| 23 SIZE, // The size of this enum; keep last. | 23 SIZE, // The size of this enum; keep last. |
| 24 }; | 24 }; |
| 25 | 25 |
| 26 enum class OptInCancelReason { | 26 enum class OptInCancelReason { |
| 27 USER_CANCEL = 0, // Canceled by user. | 27 USER_CANCEL = 0, // Canceled by user. |
| 28 UNKNOWN_ERROR = 1, // Unclassified failure. | 28 UNKNOWN_ERROR = 1, // Unclassified failure. |
| 29 NETWORK_ERROR = 2, // Network failure. | 29 NETWORK_ERROR = 2, // Network failure. |
| 30 SERVICE_UNAVAILABLE = 3, // GMS Services are not available. | 30 SERVICE_UNAVAILABLE = 3, // GMS Services are not available. |
| 31 BAD_AUTHENTICATION = 4, // Bad authentication returned by server. | 31 DEPRECATED_BAD_AUTHENTICATION = 4, |
| 32 GMS_CORE_NOT_AVAILABLE = 5, // GMS Core is not available. | 32 DEPRECATED_GMS_CORE_NOT_AVAILABLE = 5, |
| 33 CLOUD_PROVISION_FLOW_FAIL = 6, // Cloud provision flow failed. | 33 CLOUD_PROVISION_FLOW_FAIL = 6, // Cloud provision flow failed. |
| 34 ANDROID_MANAGEMENT_REQUIRED = 7, // Android management is required for user. | 34 ANDROID_MANAGEMENT_REQUIRED = 7, // Android management is required for user. |
| 35 SIZE, // The size of this enum; keep last. | 35 SIZE, // The size of this enum; keep last. |
| 36 }; | 36 }; |
| 37 | 37 |
| 38 enum class ProvisioningResult { | 38 enum class ProvisioningResult : int { |
| 39 SUCCESS = 0, // Provisioning was successful. | 39 // Provisioning was successful. |
| 40 UNKNOWN_ERROR = 1, // Unclassified failure. | 40 SUCCESS = 0, |
| 41 NETWORK_ERROR = 2, // Network failure. | 41 |
| 42 SERVICE_UNAVAILABLE = 3, // GMS Services are not available. | 42 // Unclassified failure. |
| 43 BAD_AUTHENTICATION = 4, // Bad authentication returned by server. | 43 UNKNOWN_ERROR = 1, |
| 44 GMS_CORE_NOT_AVAILABLE = 5, // GMS Core is not available. | 44 |
| 45 CLOUD_PROVISION_FLOW_FAIL = 6, // Cloud provision flow failed. | 45 // Network failure in GMS sign in. |
| 46 SIZE, // The size of this enum; keep last. | 46 GMS_NETWORK_ERROR = 2, |
| 47 | |
| 48 // GMS Services are not available. | |
| 49 GMS_SERVICE_UNAVAILABLE = 3, | |
| 50 | |
| 51 // Bad authentication returned by server. | |
| 52 GMS_BAD_AUTHENTICATION = 4, | |
| 53 | |
| 54 // Failed to Check in on the device. | |
|
victorhsieh
2016/07/25 20:30:41
nit: checkin
hidehiko
2016/07/26 13:02:58
Done.
| |
| 55 DEVICE_CHECK_IN_FAILED = 5, | |
| 56 | |
| 57 // Cloud provision flow failed. | |
| 58 CLOUD_PROVISION_FLOW_FAILED = 6, | |
| 59 | |
| 60 // ArcAuthHost API version mismatch. | |
| 61 MOJO_VERSION_MISMATCH = 7, | |
| 62 | |
| 63 // Invocation of ArcAuthHost API is timed out. | |
| 64 MOJO_CALL_TIMEOUT = 8, | |
| 65 | |
| 66 // Failed to sign-in on GMS. No detailed info. | |
| 67 GMS_SIGN_IN_FAILED = 9, | |
| 68 | |
| 69 // GMS sign-in is timed out. | |
| 70 GMS_SIGN_IN_TIMEOUT = 10, | |
| 71 | |
| 72 // Empty consumer package when getting token. | |
| 73 GMS_EMPTY_CONSUMER_PKG_OR_SIG = 11, | |
| 74 | |
| 75 // 2-Factor errors. | |
| 76 GMS_NEEDS_2F = 12, | |
| 77 GMS_NEEDS_POST_SIGN_IN_FLOW = 13, | |
| 78 GMS_NEEDS_BROWSER = 14, | |
| 79 | |
| 80 // Cloud provision flow is timed out. | |
| 81 CLOUD_PROVISION_FLOW_TIMEOUT = 15, | |
|
victorhsieh
2016/07/25 20:30:42
nit/optional: put this next to CLOUD_PROVISION_FLO
hidehiko
2016/07/26 13:02:58
Can I keep this as is?
1 - 6 are in the order for
victorhsieh
2016/07/26 18:22:11
Not sure I understand this. Aren't their value ex
hidehiko
2016/07/26 18:50:48
Sorry for my poor explanation.
This is an enum des
victorhsieh
2016/07/26 19:52:42
The style is probably subjective, especially this
hidehiko
2016/07/27 17:36:12
Looks technical stuff, because "putting SIZE at la
victorhsieh
2016/07/27 18:03:05
I thought SIZE's value is derived from the previou
| |
| 82 | |
| 83 // ARC instance is stopped during the sign in procedure. | |
| 84 ARC_STOPPED = 16, | |
| 85 | |
| 86 // The size of this enum; keep last. | |
| 87 SIZE, | |
| 47 }; | 88 }; |
| 48 | 89 |
| 49 void UpdateOptInActionUMA(OptInActionType type); | 90 void UpdateOptInActionUMA(OptInActionType type); |
| 50 void UpdateOptInCancelUMA(OptInCancelReason reason); | 91 void UpdateOptInCancelUMA(OptInCancelReason reason); |
| 51 void UpdateEnabledStateUMA(bool enabled); | 92 void UpdateEnabledStateUMA(bool enabled); |
| 52 void UpdateProvisioningResultUMA(ProvisioningResult result); | 93 void UpdateProvisioningResultUMA(ProvisioningResult result); |
| 53 void UpdateProvisioningTiming(const base::TimeDelta& elapsed_time, | 94 void UpdateProvisioningTiming(const base::TimeDelta& elapsed_time, |
| 54 bool success, | 95 bool success, |
| 55 bool managed); | 96 bool managed); |
| 56 | 97 |
| 57 } // namespace arc | 98 } // namespace arc |
| 58 | 99 |
| 59 #endif // CHROME_BROWSER_CHROMEOS_ARC_ARC_OPTIN_UMA_H_ | 100 #endif // CHROME_BROWSER_CHROMEOS_ARC_ARC_OPTIN_UMA_H_ |
| OLD | NEW |