Commit b3f7b842 authored by Claude van der Merwe's avatar Claude van der Merwe Committed by Commit Bot

Add enum values for Wifi Sync V2 host/client

This includes:
(1) Adding Proto values for Wifi Sync.
(2) Adding Mojo values in multidevice_types.mojom.
(3) Integrating these types with existing DeviceSync code.
(4) Enrolling with WIFI_SYNC_CLIENT when the flag is enabled.
(5) Add IsWifiSyncAndroidEnabled() function as a simple way
to verify whether WifiSyncAndroid flag is enabled.

Bug: 1117619
Change-Id: I842bcb028d1e311905d60a111cd8bf9524fc72f2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2366660Reviewed-by: default avatarKyle Horimoto <khorimoto@chromium.org>
Reviewed-by: default avatarTom Sepez <tsepez@chromium.org>
Reviewed-by: default avatarJon Mann <jonmann@chromium.org>
Commit-Queue: Claude van der Merwe <cvandermerwe@google.com>
Cr-Commit-Position: refs/heads/master@{#801522}
parent ca3ad237
...@@ -73,6 +73,14 @@ const cryptauthv2::FeatureMetadata& GenerateFeatureMetadata() { ...@@ -73,6 +73,14 @@ const cryptauthv2::FeatureMetadata& GenerateFeatureMetadata() {
BetterTogetherFeatureMetadata_FeatureName_PHONE_HUB_CLIENT); BetterTogetherFeatureMetadata_FeatureName_PHONE_HUB_CLIENT);
} }
// Wifi Sync Android is only supported if the associated flag is
// enabled.
if (features::IsWifiSyncAndroidEnabled()) {
inner_metadata.add_supported_features(
cryptauthv2::
BetterTogetherFeatureMetadata_FeatureName_WIFI_SYNC_CLIENT);
}
// Note: |inner_metadata|'s enabled_features field is deprecated and // Note: |inner_metadata|'s enabled_features field is deprecated and
// left unset here (the server ignores this value when processing the // left unset here (the server ignores this value when processing the
// received proto). // received proto).
......
...@@ -95,6 +95,12 @@ const cryptauth::GcmDeviceInfo& GcmDeviceInfoProviderImpl::GetGcmDeviceInfo() ...@@ -95,6 +95,12 @@ const cryptauth::GcmDeviceInfo& GcmDeviceInfoProviderImpl::GetGcmDeviceInfo()
cryptauth::SoftwareFeature::PHONE_HUB_CLIENT); cryptauth::SoftwareFeature::PHONE_HUB_CLIENT);
} }
// Wifi Sync Android is only supported if the associated flag is enabled.
if (features::IsWifiSyncAndroidEnabled()) {
gcm_device_info.add_supported_software_features(
cryptauth::SoftwareFeature::WIFI_SYNC_CLIENT);
}
return gcm_device_info; return gcm_device_info;
}()); }());
......
...@@ -194,6 +194,10 @@ EnumTraits<chromeos::multidevice::mojom::SoftwareFeature, ...@@ -194,6 +194,10 @@ EnumTraits<chromeos::multidevice::mojom::SoftwareFeature,
return chromeos::multidevice::mojom::SoftwareFeature::PHONE_HUB_HOST; return chromeos::multidevice::mojom::SoftwareFeature::PHONE_HUB_HOST;
case chromeos::multidevice::SoftwareFeature::kPhoneHubClient: case chromeos::multidevice::SoftwareFeature::kPhoneHubClient:
return chromeos::multidevice::mojom::SoftwareFeature::PHONE_HUB_CLIENT; return chromeos::multidevice::mojom::SoftwareFeature::PHONE_HUB_CLIENT;
case chromeos::multidevice::SoftwareFeature::kWifiSyncHost:
return chromeos::multidevice::mojom::SoftwareFeature::WIFI_SYNC_HOST;
case chromeos::multidevice::SoftwareFeature::kWifiSyncClient:
return chromeos::multidevice::mojom::SoftwareFeature::WIFI_SYNC_CLIENT;
} }
NOTREACHED(); NOTREACHED();
...@@ -235,6 +239,12 @@ bool EnumTraits<chromeos::multidevice::mojom::SoftwareFeature, ...@@ -235,6 +239,12 @@ bool EnumTraits<chromeos::multidevice::mojom::SoftwareFeature,
case chromeos::multidevice::mojom::SoftwareFeature::PHONE_HUB_CLIENT: case chromeos::multidevice::mojom::SoftwareFeature::PHONE_HUB_CLIENT:
*out = chromeos::multidevice::SoftwareFeature::kPhoneHubClient; *out = chromeos::multidevice::SoftwareFeature::kPhoneHubClient;
return true; return true;
case chromeos::multidevice::mojom::SoftwareFeature::WIFI_SYNC_HOST:
*out = chromeos::multidevice::SoftwareFeature::kWifiSyncHost;
return true;
case chromeos::multidevice::mojom::SoftwareFeature::WIFI_SYNC_CLIENT:
*out = chromeos::multidevice::SoftwareFeature::kWifiSyncClient;
return true;
} }
NOTREACHED(); NOTREACHED();
......
...@@ -97,7 +97,9 @@ TEST(DeviceSyncMojomEnumTraitsTest, SoftwareFeature) { ...@@ -97,7 +97,9 @@ TEST(DeviceSyncMojomEnumTraitsTest, SoftwareFeature) {
chromeos::multidevice::SoftwareFeature::kMessagesForWebHost, chromeos::multidevice::SoftwareFeature::kMessagesForWebHost,
chromeos::multidevice::SoftwareFeature::kMessagesForWebClient, chromeos::multidevice::SoftwareFeature::kMessagesForWebClient,
chromeos::multidevice::SoftwareFeature::kPhoneHubHost, chromeos::multidevice::SoftwareFeature::kPhoneHubHost,
chromeos::multidevice::SoftwareFeature::kPhoneHubClient}; chromeos::multidevice::SoftwareFeature::kPhoneHubClient,
chromeos::multidevice::SoftwareFeature::kWifiSyncHost,
chromeos::multidevice::SoftwareFeature::kWifiSyncClient};
for (auto feature_in : kTestSoftwareFeatures) { for (auto feature_in : kTestSoftwareFeatures) {
chromeos::multidevice::SoftwareFeature feature_out; chromeos::multidevice::SoftwareFeature feature_out;
......
...@@ -37,7 +37,12 @@ enum SoftwareFeature { ...@@ -37,7 +37,12 @@ enum SoftwareFeature {
// Phone Hub allows users to view phone metadata and send commands to their // Phone Hub allows users to view phone metadata and send commands to their
// phone directly from the Chrome OS UI. // phone directly from the Chrome OS UI.
PHONE_HUB_HOST = 9, PHONE_HUB_HOST = 9,
PHONE_HUB_CLIENT = 10 PHONE_HUB_CLIENT = 10,
// Wifi Sync with Android allows users to sync wifi network configurations
// between Chrome OS devices and a connected Android phone
WIFI_SYNC_HOST = 11,
WIFI_SYNC_CLIENT = 12
}; };
// Enumeration of what value a SoftwareFeature can be. // Enumeration of what value a SoftwareFeature can be.
......
...@@ -33,6 +33,10 @@ SoftwareFeature FromCryptAuthFeature( ...@@ -33,6 +33,10 @@ SoftwareFeature FromCryptAuthFeature(
return SoftwareFeature::kPhoneHubHost; return SoftwareFeature::kPhoneHubHost;
case cryptauth::SoftwareFeature::PHONE_HUB_CLIENT: case cryptauth::SoftwareFeature::PHONE_HUB_CLIENT:
return SoftwareFeature::kPhoneHubClient; return SoftwareFeature::kPhoneHubClient;
case cryptauth::SoftwareFeature::WIFI_SYNC_HOST:
return SoftwareFeature::kWifiSyncHost;
case cryptauth::SoftwareFeature::WIFI_SYNC_CLIENT:
return SoftwareFeature::kWifiSyncClient;
case cryptauth::SoftwareFeature::UNKNOWN_FEATURE: case cryptauth::SoftwareFeature::UNKNOWN_FEATURE:
NOTREACHED(); NOTREACHED();
} }
...@@ -65,6 +69,10 @@ cryptauth::SoftwareFeature ToCryptAuthFeature( ...@@ -65,6 +69,10 @@ cryptauth::SoftwareFeature ToCryptAuthFeature(
return cryptauth::SoftwareFeature::PHONE_HUB_HOST; return cryptauth::SoftwareFeature::PHONE_HUB_HOST;
case SoftwareFeature::kPhoneHubClient: case SoftwareFeature::kPhoneHubClient:
return cryptauth::SoftwareFeature::PHONE_HUB_CLIENT; return cryptauth::SoftwareFeature::PHONE_HUB_CLIENT;
case SoftwareFeature::kWifiSyncHost:
return cryptauth::SoftwareFeature::WIFI_SYNC_HOST;
case SoftwareFeature::kWifiSyncClient:
return cryptauth::SoftwareFeature::WIFI_SYNC_CLIENT;
} }
NOTREACHED(); NOTREACHED();
...@@ -103,6 +111,12 @@ std::ostream& operator<<(std::ostream& stream, const SoftwareFeature& feature) { ...@@ -103,6 +111,12 @@ std::ostream& operator<<(std::ostream& stream, const SoftwareFeature& feature) {
case SoftwareFeature::kPhoneHubClient: case SoftwareFeature::kPhoneHubClient:
stream << "[Phone Hub client]"; stream << "[Phone Hub client]";
break; break;
case SoftwareFeature::kWifiSyncHost:
stream << "[Wifi Sync host]";
break;
case SoftwareFeature::kWifiSyncClient:
stream << "[Wifi Sync client]";
break;
} }
return stream; return stream;
} }
......
...@@ -47,7 +47,12 @@ enum class SoftwareFeature { ...@@ -47,7 +47,12 @@ enum class SoftwareFeature {
// Phone Hub, which allows users to view phone metadata and send commands to // Phone Hub, which allows users to view phone metadata and send commands to
// their phone directly from the Chrome OS UI. // their phone directly from the Chrome OS UI.
kPhoneHubHost = 9, kPhoneHubHost = 9,
kPhoneHubClient = 10 kPhoneHubClient = 10,
// Wifi Sync with Android, which allows users to sync wifi network
// configurations between Chrome OS devices and a connected Android phone
kWifiSyncHost = 11,
kWifiSyncClient = 12
}; };
SoftwareFeature FromCryptAuthFeature( SoftwareFeature FromCryptAuthFeature(
......
...@@ -636,6 +636,10 @@ bool IsViewBasedMultiprofileLoginEnabled() { ...@@ -636,6 +636,10 @@ bool IsViewBasedMultiprofileLoginEnabled() {
return base::FeatureList::IsEnabled(kViewBasedMultiprofileLogin); return base::FeatureList::IsEnabled(kViewBasedMultiprofileLogin);
} }
bool IsWifiSyncAndroidEnabled() {
return base::FeatureList::IsEnabled(kWifiSyncAndroid);
}
bool ShouldShowPlayStoreInDemoMode() { bool ShouldShowPlayStoreInDemoMode() {
return base::FeatureList::IsEnabled(kShowPlayInDemoMode); return base::FeatureList::IsEnabled(kShowPlayInDemoMode);
} }
......
...@@ -263,6 +263,7 @@ bool IsQuickAnswersTextAnnotatorEnabled(); ...@@ -263,6 +263,7 @@ bool IsQuickAnswersTextAnnotatorEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsQuickAnswersTranslationEnabled(); COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsQuickAnswersTranslationEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsSplitSettingsSyncEnabled(); COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsSplitSettingsSyncEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsViewBasedMultiprofileLoginEnabled(); COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsViewBasedMultiprofileLoginEnabled();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsWifiSyncAndroidEnabled();
// TODO(michaelpg): Remove after M71 branch to re-enable Play Store by default. // TODO(michaelpg): Remove after M71 branch to re-enable Play Store by default.
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool ShouldShowPlayStoreInDemoMode(); COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool ShouldShowPlayStoreInDemoMode();
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool ShouldUseBrowserSyncConsent(); COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool ShouldUseBrowserSyncConsent();
......
...@@ -32,7 +32,7 @@ namespace { ...@@ -32,7 +32,7 @@ namespace {
constexpr base::TimeDelta kWaitingForBatchGetFeatureStatusesResponseTimeout = constexpr base::TimeDelta kWaitingForBatchGetFeatureStatusesResponseTimeout =
kMaxAsyncExecutionTime; kMaxAsyncExecutionTime;
constexpr std::array<multidevice::SoftwareFeature, 10> kAllSoftwareFeatures = { constexpr std::array<multidevice::SoftwareFeature, 12> kAllSoftwareFeatures = {
multidevice::SoftwareFeature::kBetterTogetherHost, multidevice::SoftwareFeature::kBetterTogetherHost,
multidevice::SoftwareFeature::kBetterTogetherClient, multidevice::SoftwareFeature::kBetterTogetherClient,
multidevice::SoftwareFeature::kSmartLockHost, multidevice::SoftwareFeature::kSmartLockHost,
...@@ -42,7 +42,9 @@ constexpr std::array<multidevice::SoftwareFeature, 10> kAllSoftwareFeatures = { ...@@ -42,7 +42,9 @@ constexpr std::array<multidevice::SoftwareFeature, 10> kAllSoftwareFeatures = {
multidevice::SoftwareFeature::kMessagesForWebHost, multidevice::SoftwareFeature::kMessagesForWebHost,
multidevice::SoftwareFeature::kMessagesForWebClient, multidevice::SoftwareFeature::kMessagesForWebClient,
multidevice::SoftwareFeature::kPhoneHubHost, multidevice::SoftwareFeature::kPhoneHubHost,
multidevice::SoftwareFeature::kPhoneHubClient}; multidevice::SoftwareFeature::kPhoneHubClient,
multidevice::SoftwareFeature::kWifiSyncHost,
multidevice::SoftwareFeature::kWifiSyncClient};
CryptAuthDeviceSyncResult::ResultCode CryptAuthDeviceSyncResult::ResultCode
BatchGetFeatureStatusesNetworkRequestErrorToResultCode( BatchGetFeatureStatusesNetworkRequestErrorToResultCode(
......
...@@ -30,6 +30,8 @@ const char kSmsConnectHostSupportedString[] = "SMS_CONNECT_HOST_SUPPORTED"; ...@@ -30,6 +30,8 @@ const char kSmsConnectHostSupportedString[] = "SMS_CONNECT_HOST_SUPPORTED";
const char kSmsConnectClientSupportedString[] = "SMS_CONNECT_CLIENT_SUPPORTED"; const char kSmsConnectClientSupportedString[] = "SMS_CONNECT_CLIENT_SUPPORTED";
const char kPhoneHubHostSupportedString[] = "PHONE_HUB_HOST_SUPPORTED"; const char kPhoneHubHostSupportedString[] = "PHONE_HUB_HOST_SUPPORTED";
const char kPhoneHubClientSupportedString[] = "PHONE_HUB_CLIENT_SUPPORTED"; const char kPhoneHubClientSupportedString[] = "PHONE_HUB_CLIENT_SUPPORTED";
const char kWifiSyncHostSupportedString[] = "WIFI_SYNC_HOST_SUPPORTED";
const char kWifiSyncClientSupportedString[] = "WIFI_SYNC_CLIENT_SUPPORTED";
const char kBetterTogetherHostEnabledString[] = "BETTER_TOGETHER_HOST"; const char kBetterTogetherHostEnabledString[] = "BETTER_TOGETHER_HOST";
const char kBetterTogetherClientEnabledString[] = "BETTER_TOGETHER_CLIENT"; const char kBetterTogetherClientEnabledString[] = "BETTER_TOGETHER_CLIENT";
...@@ -41,6 +43,8 @@ const char kSmsConnectHostEnabledString[] = "SMS_CONNECT_HOST"; ...@@ -41,6 +43,8 @@ const char kSmsConnectHostEnabledString[] = "SMS_CONNECT_HOST";
const char kSmsConnectClientEnabledString[] = "SMS_CONNECT_CLIENT"; const char kSmsConnectClientEnabledString[] = "SMS_CONNECT_CLIENT";
const char kPhoneHubHostEnabledString[] = "PHONE_HUB_HOST"; const char kPhoneHubHostEnabledString[] = "PHONE_HUB_HOST";
const char kPhoneHubClientEnabledString[] = "PHONE_HUB_CLIENT"; const char kPhoneHubClientEnabledString[] = "PHONE_HUB_CLIENT";
const char kWifiSyncHostEnabledString[] = "WIFI_SYNC_HOST";
const char kWifiSyncClientEnabledString[] = "WIFI_SYNC_CLIENT";
} // namespace } // namespace
...@@ -70,6 +74,12 @@ const base::flat_set<CryptAuthFeatureType>& GetAllCryptAuthFeatureTypes() { ...@@ -70,6 +74,12 @@ const base::flat_set<CryptAuthFeatureType>& GetAllCryptAuthFeatureTypes() {
feature_set.insert(CryptAuthFeatureType::kPhoneHubHostSupported); feature_set.insert(CryptAuthFeatureType::kPhoneHubHostSupported);
feature_set.insert(CryptAuthFeatureType::kPhoneHubHostEnabled); feature_set.insert(CryptAuthFeatureType::kPhoneHubHostEnabled);
} }
if (features::IsWifiSyncAndroidEnabled()) {
feature_set.insert(CryptAuthFeatureType::kWifiSyncClientSupported);
feature_set.insert(CryptAuthFeatureType::kWifiSyncClientEnabled);
feature_set.insert(CryptAuthFeatureType::kWifiSyncHostSupported);
feature_set.insert(CryptAuthFeatureType::kWifiSyncHostEnabled);
}
return feature_set; return feature_set;
}()); }());
...@@ -93,6 +103,10 @@ GetSupportedCryptAuthFeatureTypes() { ...@@ -93,6 +103,10 @@ GetSupportedCryptAuthFeatureTypes() {
supported_set.insert(CryptAuthFeatureType::kPhoneHubHostSupported); supported_set.insert(CryptAuthFeatureType::kPhoneHubHostSupported);
supported_set.insert(CryptAuthFeatureType::kPhoneHubClientSupported); supported_set.insert(CryptAuthFeatureType::kPhoneHubClientSupported);
} }
if (features::IsWifiSyncAndroidEnabled()) {
supported_set.insert(CryptAuthFeatureType::kWifiSyncHostSupported);
supported_set.insert(CryptAuthFeatureType::kWifiSyncClientSupported);
}
return supported_set; return supported_set;
}()); }());
...@@ -115,6 +129,10 @@ const base::flat_set<CryptAuthFeatureType>& GetEnabledCryptAuthFeatureTypes() { ...@@ -115,6 +129,10 @@ const base::flat_set<CryptAuthFeatureType>& GetEnabledCryptAuthFeatureTypes() {
enabled_set.insert(CryptAuthFeatureType::kPhoneHubHostEnabled); enabled_set.insert(CryptAuthFeatureType::kPhoneHubHostEnabled);
enabled_set.insert(CryptAuthFeatureType::kPhoneHubClientEnabled); enabled_set.insert(CryptAuthFeatureType::kPhoneHubClientEnabled);
} }
if (features::IsWifiSyncAndroidEnabled()) {
enabled_set.insert(CryptAuthFeatureType::kWifiSyncHostEnabled);
enabled_set.insert(CryptAuthFeatureType::kWifiSyncClientEnabled);
}
return enabled_set; return enabled_set;
}()); }());
...@@ -175,6 +193,14 @@ const char* CryptAuthFeatureTypeToString(CryptAuthFeatureType feature_type) { ...@@ -175,6 +193,14 @@ const char* CryptAuthFeatureTypeToString(CryptAuthFeatureType feature_type) {
return kPhoneHubClientSupportedString; return kPhoneHubClientSupportedString;
case CryptAuthFeatureType::kPhoneHubClientEnabled: case CryptAuthFeatureType::kPhoneHubClientEnabled:
return kPhoneHubClientEnabledString; return kPhoneHubClientEnabledString;
case CryptAuthFeatureType::kWifiSyncHostSupported:
return kWifiSyncHostSupportedString;
case CryptAuthFeatureType::kWifiSyncHostEnabled:
return kWifiSyncHostEnabledString;
case CryptAuthFeatureType::kWifiSyncClientSupported:
return kWifiSyncClientSupportedString;
case CryptAuthFeatureType::kWifiSyncClientEnabled:
return kWifiSyncClientEnabledString;
} }
} }
...@@ -220,6 +246,14 @@ base::Optional<CryptAuthFeatureType> CryptAuthFeatureTypeFromString( ...@@ -220,6 +246,14 @@ base::Optional<CryptAuthFeatureType> CryptAuthFeatureTypeFromString(
return CryptAuthFeatureType::kPhoneHubClientSupported; return CryptAuthFeatureType::kPhoneHubClientSupported;
if (feature_type_string == kPhoneHubClientEnabledString) if (feature_type_string == kPhoneHubClientEnabledString)
return CryptAuthFeatureType::kPhoneHubClientEnabled; return CryptAuthFeatureType::kPhoneHubClientEnabled;
if (feature_type_string == kWifiSyncHostSupportedString)
return CryptAuthFeatureType::kWifiSyncHostSupported;
if (feature_type_string == kWifiSyncHostEnabledString)
return CryptAuthFeatureType::kWifiSyncHostEnabled;
if (feature_type_string == kWifiSyncClientSupportedString)
return CryptAuthFeatureType::kWifiSyncClientSupported;
if (feature_type_string == kWifiSyncClientEnabledString)
return CryptAuthFeatureType::kWifiSyncClientEnabled;
return base::nullopt; return base::nullopt;
} }
...@@ -315,6 +349,16 @@ multidevice::SoftwareFeature CryptAuthFeatureTypeToSoftwareFeature( ...@@ -315,6 +349,16 @@ multidevice::SoftwareFeature CryptAuthFeatureTypeToSoftwareFeature(
FALLTHROUGH; FALLTHROUGH;
case CryptAuthFeatureType::kPhoneHubClientEnabled: case CryptAuthFeatureType::kPhoneHubClientEnabled:
return multidevice::SoftwareFeature::kPhoneHubClient; return multidevice::SoftwareFeature::kPhoneHubClient;
case CryptAuthFeatureType::kWifiSyncHostSupported:
FALLTHROUGH;
case CryptAuthFeatureType::kWifiSyncHostEnabled:
return multidevice::SoftwareFeature::kWifiSyncHost;
case CryptAuthFeatureType::kWifiSyncClientSupported:
FALLTHROUGH;
case CryptAuthFeatureType::kWifiSyncClientEnabled:
return multidevice::SoftwareFeature::kWifiSyncClient;
} }
} }
...@@ -341,6 +385,10 @@ CryptAuthFeatureType CryptAuthFeatureTypeFromSoftwareFeature( ...@@ -341,6 +385,10 @@ CryptAuthFeatureType CryptAuthFeatureTypeFromSoftwareFeature(
return CryptAuthFeatureType::kPhoneHubHostEnabled; return CryptAuthFeatureType::kPhoneHubHostEnabled;
case multidevice::SoftwareFeature::kPhoneHubClient: case multidevice::SoftwareFeature::kPhoneHubClient:
return CryptAuthFeatureType::kPhoneHubClientEnabled; return CryptAuthFeatureType::kPhoneHubClientEnabled;
case multidevice::SoftwareFeature::kWifiSyncHost:
return CryptAuthFeatureType::kWifiSyncHostEnabled;
case multidevice::SoftwareFeature::kWifiSyncClient:
return CryptAuthFeatureType::kWifiSyncClientEnabled;
} }
} }
......
...@@ -74,8 +74,15 @@ enum class CryptAuthFeatureType { ...@@ -74,8 +74,15 @@ enum class CryptAuthFeatureType {
kPhoneHubClientSupported = 18, kPhoneHubClientSupported = 18,
kPhoneHubClientEnabled = 19, kPhoneHubClientEnabled = 19,
// Wifi Sync with Android, which allows users to sync wifi network
// configurations between Chrome OS devices and a connected Android phone
kWifiSyncHostSupported = 20,
kWifiSyncHostEnabled = 21,
kWifiSyncClientSupported = 22,
kWifiSyncClientEnabled = 23,
// Used for UMA logs. // Used for UMA logs.
kMaxValue = kPhoneHubClientEnabled kMaxValue = kWifiSyncClientEnabled
}; };
const base::flat_set<CryptAuthFeatureType>& GetAllCryptAuthFeatureTypes(); const base::flat_set<CryptAuthFeatureType>& GetAllCryptAuthFeatureTypes();
......
...@@ -63,6 +63,10 @@ const CryptAuthDevice& GetLocalDeviceForTest() { ...@@ -63,6 +63,10 @@ const CryptAuthDevice& GetLocalDeviceForTest() {
multidevice::SoftwareFeatureState::kNotSupported}, multidevice::SoftwareFeatureState::kNotSupported},
{multidevice::SoftwareFeature::kPhoneHubClient, {multidevice::SoftwareFeature::kPhoneHubClient,
multidevice::SoftwareFeatureState::kNotSupported}, multidevice::SoftwareFeatureState::kNotSupported},
{multidevice::SoftwareFeature::kWifiSyncHost,
multidevice::SoftwareFeatureState::kNotSupported},
{multidevice::SoftwareFeature::kWifiSyncClient,
multidevice::SoftwareFeatureState::kNotSupported},
}); });
}()); }());
return *device; return *device;
...@@ -113,6 +117,10 @@ const CryptAuthDevice& GetRemoteDeviceNeedsGroupPrivateKeyForTest() { ...@@ -113,6 +117,10 @@ const CryptAuthDevice& GetRemoteDeviceNeedsGroupPrivateKeyForTest() {
multidevice::SoftwareFeatureState::kNotSupported}, multidevice::SoftwareFeatureState::kNotSupported},
{multidevice::SoftwareFeature::kPhoneHubClient, {multidevice::SoftwareFeature::kPhoneHubClient,
multidevice::SoftwareFeatureState::kNotSupported}, multidevice::SoftwareFeatureState::kNotSupported},
{multidevice::SoftwareFeature::kWifiSyncHost,
multidevice::SoftwareFeatureState::kNotSupported},
{multidevice::SoftwareFeature::kWifiSyncClient,
multidevice::SoftwareFeatureState::kNotSupported},
}); });
}()); }());
return *device; return *device;
...@@ -163,6 +171,10 @@ const CryptAuthDevice& GetRemoteDeviceHasGroupPrivateKeyForTest() { ...@@ -163,6 +171,10 @@ const CryptAuthDevice& GetRemoteDeviceHasGroupPrivateKeyForTest() {
multidevice::SoftwareFeatureState::kNotSupported}, multidevice::SoftwareFeatureState::kNotSupported},
{multidevice::SoftwareFeature::kPhoneHubClient, {multidevice::SoftwareFeature::kPhoneHubClient,
multidevice::SoftwareFeatureState::kNotSupported}, multidevice::SoftwareFeatureState::kNotSupported},
{multidevice::SoftwareFeature::kWifiSyncHost,
multidevice::SoftwareFeatureState::kNotSupported},
{multidevice::SoftwareFeature::kWifiSyncClient,
multidevice::SoftwareFeatureState::kNotSupported},
}); });
}()); }());
return *device; return *device;
......
...@@ -55,6 +55,8 @@ enum SoftwareFeature { ...@@ -55,6 +55,8 @@ enum SoftwareFeature {
SMS_CONNECT_CLIENT = 8; SMS_CONNECT_CLIENT = 8;
PHONE_HUB_HOST = 9; PHONE_HUB_HOST = 9;
PHONE_HUB_CLIENT = 10; PHONE_HUB_CLIENT = 10;
WIFI_SYNC_HOST = 11;
WIFI_SYNC_CLIENT = 12;
} }
// A seed used to feed an EID BLE advertisement for some time period. This // A seed used to feed an EID BLE advertisement for some time period. This
......
...@@ -24,6 +24,8 @@ message BetterTogetherFeatureMetadata { ...@@ -24,6 +24,8 @@ message BetterTogetherFeatureMetadata {
SMS_CONNECT_CLIENT = 8; SMS_CONNECT_CLIENT = 8;
PHONE_HUB_HOST = 9; PHONE_HUB_HOST = 9;
PHONE_HUB_CLIENT = 10; PHONE_HUB_CLIENT = 10;
WIFI_SYNC_HOST = 11;
WIFI_SYNC_CLIENT = 12;
} }
repeated FeatureName supported_features = 1; repeated FeatureName supported_features = 1;
......
...@@ -91,6 +91,12 @@ std::ostream& operator<<(std::ostream& stream, ...@@ -91,6 +91,12 @@ std::ostream& operator<<(std::ostream& stream,
case cryptauth::SoftwareFeature::PHONE_HUB_CLIENT: case cryptauth::SoftwareFeature::PHONE_HUB_CLIENT:
stream << "[Phone Hub client]"; stream << "[Phone Hub client]";
break; break;
case cryptauth::SoftwareFeature::WIFI_SYNC_HOST:
stream << "[Wifi Sync host]";
break;
case cryptauth::SoftwareFeature::WIFI_SYNC_CLIENT:
stream << "[Wifi Sync client]";
break;
default: default:
stream << "[unknown software feature]"; stream << "[unknown software feature]";
break; break;
...@@ -120,6 +126,10 @@ cryptauth::SoftwareFeature SoftwareFeatureStringToEnum( ...@@ -120,6 +126,10 @@ cryptauth::SoftwareFeature SoftwareFeatureStringToEnum(
return cryptauth::SoftwareFeature::PHONE_HUB_HOST; return cryptauth::SoftwareFeature::PHONE_HUB_HOST;
if (software_feature_as_string == "phoneHubClient") if (software_feature_as_string == "phoneHubClient")
return cryptauth::SoftwareFeature::PHONE_HUB_CLIENT; return cryptauth::SoftwareFeature::PHONE_HUB_CLIENT;
if (software_feature_as_string == "wifiSyncHost")
return cryptauth::SoftwareFeature::WIFI_SYNC_HOST;
if (software_feature_as_string == "wifiSyncClient")
return cryptauth::SoftwareFeature::WIFI_SYNC_CLIENT;
return cryptauth::SoftwareFeature::UNKNOWN_FEATURE; return cryptauth::SoftwareFeature::UNKNOWN_FEATURE;
} }
...@@ -147,6 +157,10 @@ std::string SoftwareFeatureEnumToString( ...@@ -147,6 +157,10 @@ std::string SoftwareFeatureEnumToString(
return "phoneHubHost"; return "phoneHubHost";
case cryptauth::SoftwareFeature::PHONE_HUB_CLIENT: case cryptauth::SoftwareFeature::PHONE_HUB_CLIENT:
return "phoneHubClient"; return "phoneHubClient";
case cryptauth::SoftwareFeature::WIFI_SYNC_HOST:
return "wifiSyncHost";
case cryptauth::SoftwareFeature::WIFI_SYNC_CLIENT:
return "wifiSyncClient";
default: default:
return "unknownFeature"; return "unknownFeature";
} }
...@@ -175,6 +189,10 @@ std::string SoftwareFeatureEnumToStringAllCaps( ...@@ -175,6 +189,10 @@ std::string SoftwareFeatureEnumToStringAllCaps(
return "PHONE_HUB_HOST"; return "PHONE_HUB_HOST";
case cryptauth::SoftwareFeature::PHONE_HUB_CLIENT: case cryptauth::SoftwareFeature::PHONE_HUB_CLIENT:
return "PHONE_HUB_CLIENT"; return "PHONE_HUB_CLIENT";
case cryptauth::SoftwareFeature::WIFI_SYNC_HOST:
return "WIFI_SYNC_HOST";
case cryptauth::SoftwareFeature::WIFI_SYNC_CLIENT:
return "WIFI_SYNC_CLIENT";
default: default:
return "UNKNOWN_FEATURE"; return "UNKNOWN_FEATURE";
} }
......
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