PiperOrigin-RevId: 897253283
This commit is contained in:
Francis Tsui
2026-04-09 12:48:32 -07:00
committed by Copybara-Service
parent db72ebcaa4
commit aaa458dd22
3 changed files with 48 additions and 0 deletions
+11
View File
@@ -48,6 +48,7 @@ using ::nearby::sharing::api::PreferenceManager;
using ::nearby::sharing::proto::DataUsage;
using ::nearby::sharing::proto::DeviceVisibility;
using ::nearby::sharing::proto::FastInitiationNotificationState;
using ::nearby::sharing::sync::SyncBindingPrefs;
constexpr absl::string_view kPreferencesObserverName =
"nearby-sharing-settings";
@@ -186,6 +187,16 @@ std::string NearbyShareSettings::GetCustomSavePath() const {
PrefNames::kCustomSavePath, device_info_.GetDownloadPath().ToString());
}
SyncBindingPrefs NearbyShareSettings::GetSyncBindingPrefs() const {
return preference_manager_.GetSyncBindingValue().value_or(
SyncBindingPrefs());
}
void NearbyShareSettings::SetSyncBindingPrefs(
const SyncBindingPrefs& prefs) {
preference_manager_.SetSyncBindingValue(prefs);
}
bool NearbyShareSettings::IsDisabledByPolicy() const { return false; }
void NearbyShareSettings::AddSettingsObserver(Observer* observer) {
+5
View File
@@ -22,6 +22,7 @@
#include <string>
#include <vector>
#include "location/nearby/sharing/lib/sync/sync_binding_prefs.pb.h"
#include "absl/base/thread_annotations.h"
#include "absl/strings/string_view.h"
#include "absl/synchronization/mutex.h"
@@ -161,6 +162,10 @@ class NearbyShareSettings
std::string GetCustomSavePath() const;
nearby::sharing::sync::SyncBindingPrefs GetSyncBindingPrefs() const;
void SetSyncBindingPrefs(
const nearby::sharing::sync::SyncBindingPrefs& prefs);
// Returns true if the feature is disabled by policy.
bool IsDisabledByPolicy() const;
+32
View File
@@ -19,6 +19,8 @@
#include <string>
#include <vector>
#include "gmock/gmock.h"
#include "protobuf-matchers/protocol-buffer-matchers.h"
#include "gtest/gtest.h"
#include "absl/base/thread_annotations.h"
#include "absl/strings/string_view.h"
@@ -43,6 +45,7 @@ namespace {
using ::nearby::sharing::proto::DataUsage;
using ::nearby::sharing::proto::DeviceVisibility;
using ::nearby::sharing::proto::FastInitiationNotificationState;
using ::protobuf_matchers::EqualsProto;
constexpr char kDefaultDeviceName[] = "Josh's Chromebook";
@@ -386,6 +389,35 @@ TEST_F(NearbyShareSettingsTest, SetVisibilityWithExpirationTooLong) {
EXPECT_LT(absl::AbsDuration(time_diff), absl::Seconds(1));
}
TEST_F(NearbyShareSettingsTest, GetSyncBindingPrefs_NoBindings) {
EXPECT_THAT(settings()->GetSyncBindingPrefs(),
EqualsProto(sync::SyncBindingPrefs::default_instance()));
}
TEST_F(NearbyShareSettingsTest, GetSyncBindingPerfs_Success) {
sync::SyncBindingPrefs sync_binding_prefs;
sync_binding_prefs.add_sync_bindings()->set_binding_id("binding_id");
sync_binding_prefs.add_sync_bindings()->set_source_name("source_name");
sync_binding_prefs.add_sync_bindings()->set_destination_directory(
"destination_name");
preference_manager_.SetSyncBindingValue(sync_binding_prefs);
EXPECT_THAT(settings()->GetSyncBindingPrefs(),
EqualsProto(sync_binding_prefs));
}
TEST_F(NearbyShareSettingsTest, SetSyncBindingPerfs_Success) {
sync::SyncBindingPrefs sync_binding_prefs;
sync_binding_prefs.add_sync_bindings()->set_binding_id("binding_id");
sync_binding_prefs.add_sync_bindings()->set_source_name("source_name");
sync_binding_prefs.add_sync_bindings()->set_destination_directory(
"destination_name");
settings()->SetSyncBindingPrefs(sync_binding_prefs);
auto sync_binding_value = preference_manager_.GetSyncBindingValue();
ASSERT_TRUE(sync_binding_value.has_value());
EXPECT_THAT(sync_binding_value.value(),
EqualsProto(sync_binding_prefs));
}
TEST(NearbyShareVisibilityTest, RestoresFallbackVisibility_ExpiredTimer) {
// Create Nearby Share settings dependencies.
FakeContext context;