From cf8d435f811f78c1729b959df376c16ba37c842c Mon Sep 17 00:00:00 2001 From: Suet-Fei Li Date: Fri, 1 Nov 2024 12:55:50 -0700 Subject: [PATCH] Remove NearbyShareLocalDeviceDataManagerImpl::DownloadDeviceData. PiperOrigin-RevId: 692265844 --- .../nearby_share_certificate_manager_impl.cc | 22 ++- ...rby_share_certificate_manager_impl_test.cc | 11 +- sharing/common/nearby_share_prefs.cc | 8 - sharing/common/nearby_share_prefs.h | 3 - ..._nearby_share_local_device_data_manager.cc | 8 - ...e_nearby_share_local_device_data_manager.h | 8 - .../nearby_share_local_device_data_manager.cc | 2 - .../nearby_share_local_device_data_manager.h | 11 +- ...by_share_local_device_data_manager_impl.cc | 108 ------------ ...rby_share_local_device_data_manager_impl.h | 10 -- ...are_local_device_data_manager_impl_test.cc | 159 ------------------ sharing/nearby_sharing_service_impl.cc | 14 +- 12 files changed, 30 insertions(+), 334 deletions(-) diff --git a/sharing/certificates/nearby_share_certificate_manager_impl.cc b/sharing/certificates/nearby_share_certificate_manager_impl.cc index ecb68d21..e31e3805 100644 --- a/sharing/certificates/nearby_share_certificate_manager_impl.cc +++ b/sharing/certificates/nearby_share_certificate_manager_impl.cc @@ -634,10 +634,24 @@ void NearbyShareCertificateManagerImpl::FinishPrivateCertificateRefresh() { ? account->email : static_cast>(std::nullopt); - std::optional metadata = BuildMetadata( - local_device_data_manager_->GetDeviceName(), - local_device_data_manager_->GetFullName(), - local_device_data_manager_->GetIconUrl(), email, context_); + std::optional icon_url = + account.has_value() + ? (account->picture_url.empty() + ? static_cast>(std::nullopt) + : account->picture_url) + : static_cast>(std::nullopt); + + std::optional full_name = + account.has_value() + ? (account->display_name.empty() + ? static_cast>(std::nullopt) + : account->display_name) + : static_cast>(std::nullopt); + + std::optional metadata = + BuildMetadata(local_device_data_manager_->GetDeviceName(), full_name, + icon_url, email, context_); + if (!metadata.has_value()) { NL_LOG(WARNING) << __func__ diff --git a/sharing/certificates/nearby_share_certificate_manager_impl_test.cc b/sharing/certificates/nearby_share_certificate_manager_impl_test.cc index da269b03..840b5340 100644 --- a/sharing/certificates/nearby_share_certificate_manager_impl_test.cc +++ b/sharing/certificates/nearby_share_certificate_manager_impl_test.cc @@ -112,6 +112,8 @@ class NearbyShareCertificateManagerImplTest contact_manager_ = std::make_unique(); AccountManager::Account account{ + .display_name = GetNearbyShareTestMetadata().full_name(), + .picture_url = GetNearbyShareTestMetadata().icon_url(), .email = kTestMetadataAccountName, }; @@ -815,9 +817,12 @@ TEST_F(NearbyShareCertificateManagerImplTest, RefreshPrivateCertificates_MissingFullNameAndIconUrl) { cert_store_->ReplacePrivateCertificates({}); - // Full name and icon URL are missing in the local device data manager. - local_device_data_manager_->SetFullName(std::nullopt); - local_device_data_manager_->SetIconUrl(std::nullopt); + // Full name and icon URL are missing in the account. + AccountManager::Account account{ + .email = kTestMetadataAccountName, + }; + + fake_account_manager_.SetAccount(account); cert_manager_->Start(); HandlePrivateCertificateRefresh(/*expect_private_cert_refresh=*/true, diff --git a/sharing/common/nearby_share_prefs.cc b/sharing/common/nearby_share_prefs.cc index 81392a12..bdd40124 100644 --- a/sharing/common/nearby_share_prefs.cc +++ b/sharing/common/nearby_share_prefs.cc @@ -60,8 +60,6 @@ ABSL_CONST_INIT const char kNearbySharingFullNameName[] = "nearby_sharing.full_name"; ABSL_CONST_INIT const char kNearbySharingIconUrlName[] = "nearby_sharing.icon_url"; -ABSL_CONST_INIT const char kNearbySharingIconTokenName[] = - "nearby_sharing.icon_token"; ABSL_CONST_INIT const char kNearbySharingPublicCertificateExpirationDictName[] = "nearbyshare.public_certificate_expiration_dict"; ABSL_CONST_INIT const char kNearbySharingPrivateCertificateListName[] = @@ -69,8 +67,6 @@ ABSL_CONST_INIT const char kNearbySharingPrivateCertificateListName[] = ABSL_CONST_INIT const char kNearbySharingSchedulerContactDownloadAndUploadName[] = "nearby_sharing.scheduler.contact_download_and_upload"; -ABSL_CONST_INIT const char kNearbySharingSchedulerDownloadDeviceDataName[] = - "nearby_sharing.scheduler.download_device_data"; ABSL_CONST_INIT const char kNearbySharingSchedulerDownloadPublicCertificatesName[] = "nearby_sharing.scheduler.download_public_certificates"; @@ -131,13 +127,10 @@ void RegisterNearbySharingPrefs(PreferenceManager& preference_manager, preference_manager.SetString(kNearbySharingIconUrlName, std::string()); - preference_manager.SetString(kNearbySharingIconTokenName, std::string()); - preference_manager.Remove(kNearbySharingPublicCertificateExpirationDictName); preference_manager.Remove(kNearbySharingPrivateCertificateListName); preference_manager.Remove( kNearbySharingSchedulerContactDownloadAndUploadName); - preference_manager.Remove(kNearbySharingSchedulerDownloadDeviceDataName); preference_manager.Remove( kNearbySharingSchedulerDownloadPublicCertificatesName); preference_manager.Remove( @@ -155,7 +148,6 @@ void RegisterNearbySharingPrefs(PreferenceManager& preference_manager, void ResetSchedulers(PreferenceManager& preference_manager) { preference_manager.Remove( kNearbySharingSchedulerContactDownloadAndUploadName); - preference_manager.Remove(kNearbySharingSchedulerDownloadDeviceDataName); preference_manager.Remove( kNearbySharingSchedulerDownloadPublicCertificatesName); preference_manager.Remove( diff --git a/sharing/common/nearby_share_prefs.h b/sharing/common/nearby_share_prefs.h index 0d061965..2f146aff 100644 --- a/sharing/common/nearby_share_prefs.h +++ b/sharing/common/nearby_share_prefs.h @@ -38,14 +38,11 @@ ABSL_CONST_INIT extern const char kNearbySharingFastInitiationNotificationStateName[]; ABSL_CONST_INIT extern const char kNearbySharingFullNameName[]; ABSL_CONST_INIT extern const char kNearbySharingIconUrlName[]; -ABSL_CONST_INIT extern const char kNearbySharingIconTokenName[]; ABSL_CONST_INIT extern const char kNearbySharingPrivateCertificateListName[]; ABSL_CONST_INIT extern const char kNearbySharingPublicCertificateExpirationDictName[]; ABSL_CONST_INIT extern const char kNearbySharingSchedulerContactDownloadAndUploadName[]; -ABSL_CONST_INIT extern const char - kNearbySharingSchedulerDownloadDeviceDataName[]; ABSL_CONST_INIT extern const char kNearbySharingSchedulerDownloadPublicCertificatesName[]; ABSL_CONST_INIT extern const char diff --git a/sharing/local_device_data/fake_nearby_share_local_device_data_manager.cc b/sharing/local_device_data/fake_nearby_share_local_device_data_manager.cc index cd623735..906f4417 100644 --- a/sharing/local_device_data/fake_nearby_share_local_device_data_manager.cc +++ b/sharing/local_device_data/fake_nearby_share_local_device_data_manager.cc @@ -125,10 +125,6 @@ DeviceNameValidationResult FakeNearbyShareLocalDeviceDataManager::SetDeviceName( return DeviceNameValidationResult::kValid; } -void FakeNearbyShareLocalDeviceDataManager::DownloadDeviceData() { - ++num_download_device_data_calls_; -} - void FakeNearbyShareLocalDeviceDataManager::UploadContacts( std::vector contacts, UploadCompleteCallback callback) { @@ -168,9 +164,5 @@ void FakeNearbyShareLocalDeviceDataManager::SetIconUrl( /*did_icon_change=*/true); } -void FakeNearbyShareLocalDeviceDataManager::OnStart() {} - -void FakeNearbyShareLocalDeviceDataManager::OnStop() {} - } // namespace sharing } // namespace nearby diff --git a/sharing/local_device_data/fake_nearby_share_local_device_data_manager.h b/sharing/local_device_data/fake_nearby_share_local_device_data_manager.h index f7ba4bb2..5d0597ef 100644 --- a/sharing/local_device_data/fake_nearby_share_local_device_data_manager.h +++ b/sharing/local_device_data/fake_nearby_share_local_device_data_manager.h @@ -102,7 +102,6 @@ class FakeNearbyShareLocalDeviceDataManager DeviceNameValidationResult ValidateDeviceName( absl::string_view name) override; DeviceNameValidationResult SetDeviceName(absl::string_view name) override; - void DownloadDeviceData() override; void UploadContacts(std::vector contacts, UploadCompleteCallback callback) override; void UploadCertificates( @@ -117,10 +116,6 @@ class FakeNearbyShareLocalDeviceDataManager void SetFullName(const std::optional& full_name); void SetIconUrl(const std::optional& icon_url); - size_t num_download_device_data_calls() const { - return num_download_device_data_calls_; - } - std::vector& upload_contacts_calls() { return upload_contacts_calls_; } @@ -146,14 +141,11 @@ class FakeNearbyShareLocalDeviceDataManager private: // NearbyShareLocalDeviceDataManager: - void OnStart() override; - void OnStop() override; std::string id_; std::string device_name_; std::optional full_name_; std::optional icon_url_; - size_t num_download_device_data_calls_ = 0; std::vector upload_contacts_calls_; std::vector upload_certificates_calls_; DeviceNameValidationResult next_validation_result_ = diff --git a/sharing/local_device_data/nearby_share_local_device_data_manager.cc b/sharing/local_device_data/nearby_share_local_device_data_manager.cc index b5358369..34cf22ae 100644 --- a/sharing/local_device_data/nearby_share_local_device_data_manager.cc +++ b/sharing/local_device_data/nearby_share_local_device_data_manager.cc @@ -47,14 +47,12 @@ void NearbyShareLocalDeviceDataManager::Start() { if (is_running_) return; is_running_ = true; - OnStart(); } void NearbyShareLocalDeviceDataManager::Stop() { if (!is_running_) return; is_running_ = false; - OnStop(); } void NearbyShareLocalDeviceDataManager::NotifyLocalDeviceDataChanged( diff --git a/sharing/local_device_data/nearby_share_local_device_data_manager.h b/sharing/local_device_data/nearby_share_local_device_data_manager.h index ef4f9fc2..dd929a36 100644 --- a/sharing/local_device_data/nearby_share_local_device_data_manager.h +++ b/sharing/local_device_data/nearby_share_local_device_data_manager.h @@ -71,6 +71,8 @@ class NearbyShareLocalDeviceDataManager { // This can be modified by SetDeviceName(). virtual std::string GetDeviceName() const = 0; + // TODO(b/690916264): NearbyShareLocalDeviceDataManager FullName & IconUrl + // are no longer used, delete them. // Returns the user's full name, for example, "Barack Obama". Returns // absl::nullopt if the name has not yet been set from an UpdateDevice RPC // response. @@ -92,12 +94,6 @@ class NearbyShareLocalDeviceDataManager { // are notified via OnLocalDeviceDataChanged() if the device name changes. virtual DeviceNameValidationResult SetDeviceName(absl::string_view name) = 0; - // Makes an UpdateDevice RPC call to the Nearby Share server to retrieve all - // available device data, which includes the full name and icon URL for now. - // This action is also scheduled periodically. Observers are notified via - // OnLocalDeviceDataChanged() if any device data changes. - virtual void DownloadDeviceData() = 0; - // Uses the UpdateDevice RPC to send the local device's contact list to the // Nearby Share server, including which contacts are allowed for // selected-contacts visibility mode. This should only be invoked by the @@ -116,9 +112,6 @@ class NearbyShareLocalDeviceDataManager { UploadCompleteCallback callback) = 0; protected: - virtual void OnStart() = 0; - virtual void OnStop() = 0; - void NotifyLocalDeviceDataChanged(bool did_device_name_change, bool did_full_name_change, bool did_icon_change); diff --git a/sharing/local_device_data/nearby_share_local_device_data_manager_impl.cc b/sharing/local_device_data/nearby_share_local_device_data_manager_impl.cc index d17ae98a..ccdea318 100644 --- a/sharing/local_device_data/nearby_share_local_device_data_manager_impl.cc +++ b/sharing/local_device_data/nearby_share_local_device_data_manager_impl.cc @@ -75,8 +75,6 @@ constexpr absl::string_view kDeviceIdPrefix = "users/me/devices/"; constexpr absl::string_view kContactsFieldMaskPath = "contacts"; constexpr absl::string_view kCertificatesFieldMaskPath = "public_certificates"; -constexpr absl::Duration kDeviceDataDownloadPeriod = absl::Hours(12); - constexpr absl::string_view kDefaultDeviceName = "$0\'s $1"; // Returns a truncated version of |name| that is |max_length| characters long. @@ -134,13 +132,6 @@ NearbyShareLocalDeviceDataManagerImpl::NearbyShareLocalDeviceDataManagerImpl( device_info_(device_info), nearby_share_client_(rpc_client_factory->CreateInstance()), device_id_(GetId()), - download_device_data_scheduler_( - NearbyShareSchedulerFactory::CreatePeriodicScheduler( - context, preference_manager_, kDeviceDataDownloadPeriod, - /*retry_failures=*/true, - /*require_connectivity=*/true, - prefs::kNearbySharingSchedulerDownloadDeviceDataName, - [&]() { DownloadDeviceData(); })), executor_(context->CreateSequencedTaskRunner()) {} NearbyShareLocalDeviceDataManagerImpl:: @@ -179,11 +170,6 @@ std::optional NearbyShareLocalDeviceDataManagerImpl::GetIconUrl() std::string()); } -std::optional NearbyShareLocalDeviceDataManagerImpl::GetIconToken() - const { - return preference_manager_.GetString(prefs::kNearbySharingIconTokenName, - std::string()); -} DeviceNameValidationResult NearbyShareLocalDeviceDataManagerImpl::ValidateDeviceName( @@ -215,51 +201,6 @@ DeviceNameValidationResult NearbyShareLocalDeviceDataManagerImpl::SetDeviceName( return DeviceNameValidationResult::kValid; } -void NearbyShareLocalDeviceDataManagerImpl::DownloadDeviceData() { - executor_->PostTask([&]() { - LOG(INFO) << __func__ << ": started"; - if (!is_running()) { - LOG(WARNING) << "DownloadDeviceData: skip to download device data due " - "to manager is stopped."; - return; - } - - if (!account_manager_.GetCurrentAccount().has_value()) { - LOG(WARNING) << __func__ - << ": skip to download device data due " - "to no login account."; - download_device_data_scheduler_->HandleResult(/*success=*/true); - return; - } - - UpdateDeviceRequest request; - request.mutable_device()->set_name( - absl::StrCat(kDeviceIdPrefix, device_id_)); - nearby_share_client_->UpdateDevice( - request, [this](const absl::StatusOr& response) { - // check whether the manager is running again - if (!is_running()) { - LOG(WARNING) - << "DownloadDeviceData: skip to download device data due " - "to manager is stopped."; - return; - } - - if (response.ok()) { - LOG(WARNING) << "DownloadDeviceData: Got response from backend."; - HandleUpdateDeviceResponse(*response); - } else { - LOG(WARNING) - << "DownloadDeviceData: Failed to get response from backend: " - << response.status(); - } - - download_device_data_scheduler_->HandleResult( - /*success=*/response.ok()); - }); - }); -} - void NearbyShareLocalDeviceDataManagerImpl::UploadContacts( std::vector contacts, UploadCompleteCallback callback) { @@ -351,16 +292,6 @@ void NearbyShareLocalDeviceDataManagerImpl::UploadCertificates( }); } -void NearbyShareLocalDeviceDataManagerImpl::OnStart() { - // This schedules an immediate download of the full name and icon URL from the - // server if that has never happened before. - download_device_data_scheduler_->Start(); -} - -void NearbyShareLocalDeviceDataManagerImpl::OnStop() { - download_device_data_scheduler_->Stop(); -} - std::string NearbyShareLocalDeviceDataManagerImpl::GetDefaultDeviceName() const { std::optional account = @@ -390,44 +321,5 @@ std::string NearbyShareLocalDeviceDataManagerImpl::GetDefaultDeviceName() return absl::Substitute(kDefaultDeviceName, truncated_name, device_type); } -void NearbyShareLocalDeviceDataManagerImpl::HandleUpdateDeviceResponse( - const std::optional& - response) { - if (!response) return; - - bool did_full_name_change = response->person_name() != GetFullName(); - if (did_full_name_change) { - preference_manager_.SetString(prefs::kNearbySharingFullNameName, - response->person_name()); - } - - // NOTE(http://crbug.com/1211189): An icon URL can change without the - // underlying image changing. For example, icon URLs for some child accounts - // can rotate on every UpdateDevice RPC call; a timestamp is included in the - // URL. The icon token is used to detect changes in the underlying image. If a - // new URL is sent and the token doesn't change, the old URL may still be - // valid for a couple of weeks, for example. So, private certificates do not - // necessarily need to update the icon URL whenever it changes. Also, we don't - // expect the token to change without the URL changing; regardless, we don't - // consider the icon changed unless the URL changes. That way, private - // certificates will not be unnecessarily regenerated. - bool did_icon_url_change = response->image_url() != GetIconUrl(); - bool did_icon_token_change = response->image_token() != GetIconToken(); - bool did_icon_change = did_icon_url_change && did_icon_token_change; - if (did_icon_url_change) { - preference_manager_.SetString(prefs::kNearbySharingIconUrlName, - response->image_url()); - } - if (did_icon_token_change) { - preference_manager_.SetString(prefs::kNearbySharingIconTokenName, - response->image_token()); - } - - if (!did_full_name_change && !did_icon_change) return; - - NotifyLocalDeviceDataChanged(/*did_device_name_change=*/false, - did_full_name_change, did_icon_change); -} - } // namespace sharing } // namespace nearby diff --git a/sharing/local_device_data/nearby_share_local_device_data_manager_impl.h b/sharing/local_device_data/nearby_share_local_device_data_manager_impl.h index 4ae626d7..f9567f15 100644 --- a/sharing/local_device_data/nearby_share_local_device_data_manager_impl.h +++ b/sharing/local_device_data/nearby_share_local_device_data_manager_impl.h @@ -81,16 +81,11 @@ class NearbyShareLocalDeviceDataManagerImpl DeviceNameValidationResult ValidateDeviceName( absl::string_view name) override; DeviceNameValidationResult SetDeviceName(absl::string_view name) override; - void DownloadDeviceData() override; void UploadContacts(std::vector contacts, UploadCompleteCallback callback) override; void UploadCertificates( std::vector certificates, UploadCompleteCallback callback) override; - void OnStart() override; - void OnStop() override; - - std::optional GetIconToken() const; // Creates a default device name of the form "'s ." // For example, "Josh's Chromebook." If a given name cannot be found, returns @@ -98,16 +93,11 @@ class NearbyShareLocalDeviceDataManagerImpl // will be truncated, for example "Mi...'s Chromebook." std::string GetDefaultDeviceName() const; - void HandleUpdateDeviceResponse( - const std::optional& - response); - nearby::sharing::api::PreferenceManager& preference_manager_; AccountManager& account_manager_; nearby::DeviceInfo& device_info_; std::unique_ptr nearby_share_client_; const std::string device_id_; - std::unique_ptr download_device_data_scheduler_; std::unique_ptr executor_; }; diff --git a/sharing/local_device_data/nearby_share_local_device_data_manager_impl_test.cc b/sharing/local_device_data/nearby_share_local_device_data_manager_impl_test.cc index 5a90b1c3..5fae252c 100644 --- a/sharing/local_device_data/nearby_share_local_device_data_manager_impl_test.cc +++ b/sharing/local_device_data/nearby_share_local_device_data_manager_impl_test.cc @@ -156,7 +156,6 @@ class NearbyShareLocalDeviceDataManagerImplTest manager_->AddObserver(this); ++num_manager_creations_; num_download_device_data_ = 0; - VerifyInitialization(); manager_->Start(); } @@ -165,33 +164,6 @@ class NearbyShareLocalDeviceDataManagerImplTest manager_.reset(); } - void DownloadDeviceData( - const absl::StatusOr& response) { - // The scheduler requests a download of device data from the server. - EXPECT_EQ(client()->update_device_requests().size(), - num_download_device_data_); - device_data_scheduler()->InvokeRequestCallback(); - Sync(); - EXPECT_EQ(client()->update_device_requests().size(), - num_download_device_data_ + 1); - num_download_device_data_++; - EXPECT_TRUE(client()->list_contact_people_requests().empty()); - EXPECT_TRUE(client()->list_public_certificates_requests().empty()); - - size_t num_handled_results = - device_data_scheduler()->handled_results().size(); - - client()->SetUpdateDeviceResponse(response); - manager_->DownloadDeviceData(); - Sync(); - EXPECT_EQ(client()->update_device_requests().size(), - num_download_device_data_ + 1); - num_download_device_data_++; - EXPECT_EQ(num_handled_results + 1, - device_data_scheduler()->handled_results().size()); - EXPECT_EQ(response.ok(), device_data_scheduler()->handled_results().back()); - } - void UploadContacts(const absl::StatusOr& response) { std::optional returned_success; @@ -252,12 +224,6 @@ class NearbyShareLocalDeviceDataManagerImplTest return notifications_; } - FakeNearbyShareScheduler* device_data_scheduler() { - return scheduler_factory_.pref_name_to_periodic_instance() - .at(prefs::kNearbySharingSchedulerDownloadDeviceDataName) - .fake_scheduler; - } - std::string GetDeviceName() const { return fake_device_info_.GetOsDeviceName(); } @@ -276,18 +242,6 @@ class NearbyShareLocalDeviceDataManagerImplTest } private: - void VerifyInitialization() { - // Verify device data scheduler input parameters. - const FakeNearbyShareSchedulerFactory::PeriodicInstance& - device_data_scheduler_instance = - scheduler_factory_.pref_name_to_periodic_instance().at( - prefs::kNearbySharingSchedulerDownloadDeviceDataName); - EXPECT_TRUE(device_data_scheduler_instance.fake_scheduler); - EXPECT_EQ(absl::Hours(12), device_data_scheduler_instance.request_period); - EXPECT_TRUE(device_data_scheduler_instance.retry_failures); - EXPECT_TRUE(device_data_scheduler_instance.require_connectivity); - } - nearby::FakePreferenceManager preference_manager_; nearby::FakeAccountManager fake_account_manager_; nearby::FakeDeviceInfo fake_device_info_; @@ -389,119 +343,6 @@ TEST_F(NearbyShareLocalDeviceDataManagerImplTest, SetDeviceName) { EXPECT_EQ(manager()->GetDeviceName(), kFakeDeviceName); } -TEST_F(NearbyShareLocalDeviceDataManagerImplTest, DownloadDeviceData_Success) { - CreateManager(); - EXPECT_TRUE(notifications().empty()); - - DownloadDeviceData( - CreateResponse(kFakeFullName, kFakeIconUrl, kFakeIconToken)); - EXPECT_EQ(manager()->GetFullName(), kFakeFullName); - EXPECT_EQ(manager()->GetIconUrl(), kFakeIconUrl); - EXPECT_EQ(notifications().size(), 1u); - EXPECT_EQ(ObserverNotification(/*did_device_name_change=*/false, - /*did_full_name_change=*/true, - /*did_icon_change=*/true), - notifications()[0]); - - // Verify that the data is persisted. - DestroyManager(); - CreateManager(); - EXPECT_EQ(manager()->GetFullName(), kFakeFullName); - EXPECT_EQ(manager()->GetIconUrl(), kFakeIconUrl); -} - -TEST_F(NearbyShareLocalDeviceDataManagerImplTest, - DownloadDeviceData_EmptyData) { - CreateManager(); - EXPECT_TRUE(notifications().empty()); - - // The server returns empty strings for the full name and icon URL/token. - // GetFullName() and GetIconUrl() should return non-nullopt values even though - // they are trivial values. - DownloadDeviceData(CreateResponse("", "", "")); - EXPECT_EQ(manager()->GetFullName(), ""); - EXPECT_EQ(manager()->GetIconUrl(), ""); - EXPECT_EQ(notifications().size(), 0u); - - // Return empty strings again. Ensure that the trivial full name and icon - // URL/token values are not considered changed and no notification is sent. - DownloadDeviceData(CreateResponse("", "", "")); - EXPECT_EQ(manager()->GetFullName(), ""); - EXPECT_EQ(manager()->GetIconUrl(), ""); - EXPECT_EQ(notifications().size(), 0u); - - // Verify that the data is persisted. - DestroyManager(); - CreateManager(); - EXPECT_EQ(manager()->GetFullName(), ""); - EXPECT_EQ(manager()->GetIconUrl(), ""); -} - -TEST_F(NearbyShareLocalDeviceDataManagerImplTest, - DownloadDeviceData_IconToken) { - CreateManager(); - EXPECT_TRUE(notifications().empty()); - - DownloadDeviceData( - CreateResponse(kFakeFullName, kFakeIconUrl, kFakeIconToken)); - EXPECT_EQ(manager()->GetFullName(), kFakeFullName); - EXPECT_EQ(manager()->GetIconUrl(), kFakeIconUrl); - EXPECT_EQ(notifications().size(), 1u); - EXPECT_EQ(ObserverNotification(/*did_device_name_change=*/false, - /*did_full_name_change=*/true, - /*did_icon_change=*/true), - notifications()[0]); - - // Destroy and recreate to ensure name, URL, and token are all persisted. - DestroyManager(); - CreateManager(); - - // The icon URL changes but the token does not; no notification sent. - DownloadDeviceData( - CreateResponse(kFakeFullName, kFakeIconUrl2, kFakeIconToken)); - EXPECT_EQ(manager()->GetFullName(), kFakeFullName); - EXPECT_EQ(manager()->GetIconUrl(), kFakeIconUrl2); - EXPECT_EQ(notifications().size(), 1u); - - // The icon token changes but the URL does not; no notification sent. - DestroyManager(); - CreateManager(); - DownloadDeviceData( - CreateResponse(kFakeFullName, kFakeIconUrl2, kFakeIconToken2)); - EXPECT_EQ(manager()->GetFullName(), kFakeFullName); - EXPECT_EQ(manager()->GetIconUrl(), kFakeIconUrl2); - EXPECT_EQ(notifications().size(), 1u); - - // The icon URL and token change; notification sent. - DestroyManager(); - CreateManager(); - DownloadDeviceData( - CreateResponse(kFakeFullName, kFakeIconUrl, kFakeIconToken)); - EXPECT_EQ(manager()->GetFullName(), kFakeFullName); - EXPECT_EQ(manager()->GetIconUrl(), kFakeIconUrl); - EXPECT_EQ(notifications().size(), 2u); - EXPECT_EQ(ObserverNotification(/*did_device_name_change=*/false, - /*did_full_name_change=*/false, - /*did_icon_change=*/true), - notifications()[1]); - - // Verify that the data is persisted. - DestroyManager(); - CreateManager(); - EXPECT_EQ(manager()->GetFullName(), kFakeFullName); - EXPECT_EQ(manager()->GetIconUrl(), kFakeIconUrl); -} - -TEST_F(NearbyShareLocalDeviceDataManagerImplTest, DownloadDeviceData_Failure) { - CreateManager(); - DownloadDeviceData(/*response=*/absl::InternalError("")); - - // No full name or icon URL set because the response was null. - EXPECT_EQ(manager()->GetFullName(), std::string()); - EXPECT_EQ(manager()->GetIconUrl(), std::string()); - EXPECT_TRUE(notifications().empty()); -} - TEST_F(NearbyShareLocalDeviceDataManagerImplTest, UploadContacts_Success) { CreateManager(); UploadContacts(CreateResponse(kFakeFullName, kFakeIconUrl, kFakeIconToken)); diff --git a/sharing/nearby_sharing_service_impl.cc b/sharing/nearby_sharing_service_impl.cc index 225be246..344b8d68 100644 --- a/sharing/nearby_sharing_service_impl.cc +++ b/sharing/nearby_sharing_service_impl.cc @@ -496,11 +496,8 @@ void NearbySharingServiceImpl::RegisterSendSurface( // user to be blocked for hours waiting for a periodic sync. if (state == SendSurfaceState::kForeground && !last_outgoing_metadata_) { - VLOG(1) << __func__ - << ": Downloading local device data, contacts, and " - "certificates from " + VLOG(1) << __func__ << ": Downloading contacts & certificates from " << "Nearby server at start of sending flow."; - local_device_data_manager_->DownloadDeviceData(); contact_manager_->DownloadContacts(); certificate_manager_->DownloadPublicCertificates(); } @@ -1028,10 +1025,8 @@ void NearbySharingServiceImpl::OnIncomingConnection( // need to wait for these calls to finish. The periodic server requests will // typically be sufficient, but we don't want the user to be blocked for // hours waiting for a periodic sync. - VLOG(1) << __func__ - << ": Downloading local device data, contacts, and certificates from " + VLOG(1) << __func__ << ": Downloading contacts, and certificates from " << "Nearby server at start of receiving flow."; - local_device_data_manager_->DownloadDeviceData(); contact_manager_->DownloadContacts(); certificate_manager_->DownloadPublicCertificates(); @@ -1205,11 +1200,6 @@ std::string NearbySharingServiceImpl::Dump() const { preference_manager_, prefs::kNearbySharingSchedulerContactDownloadAndUploadName) << std::endl; - sstream << " Download device data: " - << ConvertToReadableSchedule( - preference_manager_, - prefs::kNearbySharingSchedulerDownloadDeviceDataName) - << std::endl; sstream << " Download public certificates: " << ConvertToReadableSchedule( preference_manager_,