Commit abf84916 authored by Michael Hansen's avatar Michael Hansen Committed by Chromium LUCI CQ

[Nearby] Fix default device name format.

In certain cases the default device name can be generated without the
user's given name, e.g. just "Chromebook". This occurs when adding a
second user account to a device, where the default device name is
generated immediately on completing login but before user details have
been downloaded.

This updated logic caches the default device name in the
NearbyShareLocalDeviceDataManagerImpl rather than storing it in prefs.

Fixed: 1151667
Change-Id: Ica79907506624647f630a798f08d9201ea381a6d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2622592Reviewed-by: default avatarJosh Nohle <nohle@chromium.org>
Commit-Queue: Michael Hansen <hansenmichael@google.com>
Cr-Commit-Position: refs/heads/master@{#842087}
parent be96ccdf
......@@ -85,10 +85,9 @@ NearbyShareLocalDeviceDataManagerImpl::NearbyShareLocalDeviceDataManagerImpl(
pref_service_,
base::BindRepeating(&NearbyShareLocalDeviceDataManagerImpl::
OnDownloadDeviceDataRequested,
base::Unretained(this)))) {
DCHECK(!default_device_name.empty());
if (GetDeviceName().empty())
SetDeviceName(default_device_name);
base::Unretained(this)))),
default_device_name_(default_device_name) {
DCHECK(!default_device_name_.empty());
}
NearbyShareLocalDeviceDataManagerImpl::
......@@ -109,7 +108,9 @@ std::string NearbyShareLocalDeviceDataManagerImpl::GetId() {
}
std::string NearbyShareLocalDeviceDataManagerImpl::GetDeviceName() const {
return pref_service_->GetString(prefs::kNearbySharingDeviceNamePrefName);
std::string device_name =
pref_service_->GetString(prefs::kNearbySharingDeviceNamePrefName);
return device_name.empty() ? default_device_name_ : device_name;
}
base::Optional<std::string> NearbyShareLocalDeviceDataManagerImpl::GetFullName()
......
......@@ -89,6 +89,7 @@ class NearbyShareLocalDeviceDataManagerImpl
PrefService* pref_service_ = nullptr;
std::unique_ptr<NearbyShareDeviceDataUpdater> device_data_updater_;
std::unique_ptr<NearbyShareScheduler> download_device_data_scheduler_;
std::string default_device_name_;
};
#endif // CHROME_BROWSER_NEARBY_SHARING_LOCAL_DEVICE_DATA_NEARBY_SHARE_LOCAL_DEVICE_DATA_MANAGER_IMPL_H_
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