mirror of
https://github.com/kidfromjupiter/nearby.git
synced 2026-09-14 14:46:12 -04:00
Add preferences for tracking backup times.
PiperOrigin-RevId: 941726119
This commit is contained in:
committed by
Copybara-Service
parent
0fb3683e55
commit
41a921d58d
@@ -67,6 +67,7 @@ void RegisterNearbySharingPrefs(PreferenceManager& preference_manager,
|
||||
preference_manager.Remove(PrefNames::kUsers);
|
||||
preference_manager.SetBoolean(PrefNames::kAdvancedProtectionEnabled, false);
|
||||
|
||||
preference_manager.RemoveAllSyncConfigs();
|
||||
preference_manager.RemoveAllBindingConfigs();
|
||||
}
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@ cc_library(
|
||||
"//internal/platform/implementation:types",
|
||||
"//location/nearby/sharing/lib/account:account_manager",
|
||||
"//location/nearby/sharing/lib/sync:sync_binding_prefs_cc_proto",
|
||||
"//location/nearby/sharing/lib/sync:sync_config_prefs_cc_proto",
|
||||
"//sharing/proto:share_cc_proto",
|
||||
"@com_google_absl//absl/functional:any_invocable",
|
||||
"@com_google_absl//absl/strings:string_view",
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include <vector>
|
||||
|
||||
#include "location/nearby/sharing/lib/sync/sync_binding_prefs.pb.h"
|
||||
#include "location/nearby/sharing/lib/sync/sync_config_prefs.pb.h"
|
||||
#include "absl/strings/string_view.h"
|
||||
#include "absl/time/time.h"
|
||||
#include "absl/types/span.h"
|
||||
@@ -80,6 +81,10 @@ class PreferenceManager {
|
||||
virtual void RemoveDictionaryItem(absl::string_view key,
|
||||
absl::string_view dictionary_item) = 0;
|
||||
|
||||
virtual void SetSyncConfigValue(
|
||||
absl::string_view binding_id,
|
||||
const nearby::sharing::sync::SyncConfigPrefs& value) = 0;
|
||||
|
||||
virtual void SetSyncBindingValue(
|
||||
const nearby::sharing::sync::SyncBindingPrefs& value) = 0;
|
||||
|
||||
@@ -122,12 +127,19 @@ class PreferenceManager {
|
||||
virtual std::optional<std::string> GetDictionaryStringValue(
|
||||
absl::string_view key, absl::string_view dictionary_item) const = 0;
|
||||
|
||||
virtual std::optional<nearby::sharing::sync::SyncConfigPrefs>
|
||||
GetSyncConfigValue(absl::string_view binding_id) const = 0;
|
||||
|
||||
virtual void RemoveSyncConfigPref(absl::string_view binding_id) = 0;
|
||||
|
||||
virtual std::optional<nearby::sharing::sync::SyncBindingPrefs>
|
||||
GetSyncBindingValue() const = 0;
|
||||
|
||||
// Removes preferences
|
||||
virtual void Remove(absl::string_view key) = 0;
|
||||
// Removes all binding configs.
|
||||
// Removes all sync configs.
|
||||
// Observers are not notified for each removed config.
|
||||
virtual void RemoveAllSyncConfigs() = 0; // Removes all binding configs.
|
||||
// Observers are not notified for each removed config.
|
||||
virtual void RemoveAllBindingConfigs() = 0;
|
||||
|
||||
|
||||
@@ -58,10 +58,18 @@ class PrefNames {
|
||||
// Binding configs preferences are stored in pref keys:
|
||||
// kBindingConfigPrefix + <service_name>
|
||||
// Example: "nearby_sharing.binding_config.FileSync"
|
||||
// TODO: b/485304482 - define data format for binding configs.
|
||||
// For FileSync service, data stored in binding config prefs is a
|
||||
// nearby::sharing::sync::SyncBindingPrefs proto.
|
||||
static constexpr absl::string_view kBindingConfigPrefix =
|
||||
"nearby_sharing.binding_config.";
|
||||
};
|
||||
|
||||
// Sync configs preferences are stored in pref keys:
|
||||
// kSyncConfigPrefix + <binding ID>
|
||||
// Example: "nearby_sharing.sync_config.01243347-2343-4324-3423-432432432432"
|
||||
// Data stored in sync config prefs is a
|
||||
// nearby::sharing::sync::SyncConfigPrefs proto.
|
||||
static constexpr absl::string_view kSyncConfigPrefix =
|
||||
"nearby_sharing.sync_config.";};
|
||||
|
||||
} // namespace nearby::sharing
|
||||
|
||||
|
||||
@@ -41,6 +41,7 @@ cc_library(
|
||||
"//internal/platform:types",
|
||||
"//internal/test",
|
||||
"//location/nearby/sharing/lib/sync:sync_binding_prefs_cc_proto",
|
||||
"//location/nearby/sharing/lib/sync:sync_config_prefs_cc_proto",
|
||||
"//sharing/internal/api:platform",
|
||||
"//sharing/internal/public:pref_names",
|
||||
"//sharing/internal/public:types",
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include <vector>
|
||||
|
||||
#include "location/nearby/sharing/lib/sync/sync_binding_prefs.pb.h"
|
||||
#include "location/nearby/sharing/lib/sync/sync_config_prefs.pb.h"
|
||||
#include "absl/container/flat_hash_map.h"
|
||||
#include "absl/strings/str_cat.h"
|
||||
#include "absl/strings/string_view.h"
|
||||
@@ -36,6 +37,7 @@ namespace nearby {
|
||||
using ::nearby::sharing::PrefNames;
|
||||
using ::nearby::sharing::api::PrivateCertificateData;
|
||||
using ::nearby::sharing::sync::SyncBindingPrefs;
|
||||
using ::nearby::sharing::sync::SyncConfigPrefs;
|
||||
|
||||
// Preference suffix for the sync binding information.
|
||||
constexpr absl::string_view kFileSyncBindingName = "FileSync";
|
||||
@@ -243,6 +245,16 @@ void FakePreferenceManager::RemoveDictionaryItem(
|
||||
NotifyPreferenceChanged(key);
|
||||
}
|
||||
|
||||
void FakePreferenceManager::SetSyncConfigValue(absl::string_view binding_id,
|
||||
const SyncConfigPrefs& value) {
|
||||
SetValue(absl::StrCat(PrefNames::kSyncConfigPrefix, binding_id),
|
||||
value.SerializeAsString());
|
||||
}
|
||||
|
||||
void FakePreferenceManager::RemoveSyncConfigPref(absl::string_view binding_id) {
|
||||
Remove(absl::StrCat(PrefNames::kSyncConfigPrefix, binding_id));
|
||||
}
|
||||
|
||||
void FakePreferenceManager::SetSyncBindingValue(
|
||||
const SyncBindingPrefs& value) {
|
||||
SetValue(absl::StrCat(PrefNames::kBindingConfigPrefix, kFileSyncBindingName),
|
||||
@@ -333,6 +345,21 @@ std::optional<std::string> FakePreferenceManager::GetDictionaryStringValue(
|
||||
return GetDictionaryValue<std::string>(key, dictionary_item);
|
||||
}
|
||||
|
||||
std::optional<SyncConfigPrefs> FakePreferenceManager::GetSyncConfigValue(
|
||||
absl::string_view binding_id) const {
|
||||
std::string serialized_sync_config;
|
||||
serialized_sync_config =
|
||||
GetString(absl::StrCat(PrefNames::kSyncConfigPrefix, binding_id), "");
|
||||
if (serialized_sync_config.empty()) {
|
||||
return std::nullopt;
|
||||
}
|
||||
SyncConfigPrefs sync_config;
|
||||
if (!sync_config.ParseFromString(serialized_sync_config)) {
|
||||
return std::nullopt;
|
||||
}
|
||||
return sync_config;
|
||||
}
|
||||
|
||||
std::optional<SyncBindingPrefs> FakePreferenceManager::GetSyncBindingValue()
|
||||
const {
|
||||
std::string serialized_sync_binding;
|
||||
@@ -358,6 +385,13 @@ void FakePreferenceManager::Remove(absl::string_view key) {
|
||||
NotifyPreferenceChanged(key);
|
||||
}
|
||||
|
||||
void FakePreferenceManager::RemoveAllSyncConfigs() {
|
||||
absl::MutexLock lock(mutex_);
|
||||
absl::erase_if(values_, [](const auto& item) {
|
||||
return item.first.starts_with(PrefNames::kSyncConfigPrefix);
|
||||
});
|
||||
}
|
||||
|
||||
void FakePreferenceManager::RemoveAllBindingConfigs() {
|
||||
absl::MutexLock lock(mutex_);
|
||||
absl::erase_if(values_, [](const auto& item) {
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
#include <vector>
|
||||
|
||||
#include "location/nearby/sharing/lib/sync/sync_binding_prefs.pb.h"
|
||||
#include "location/nearby/sharing/lib/sync/sync_config_prefs.pb.h"
|
||||
#include "absl/base/thread_annotations.h"
|
||||
#include "absl/container/flat_hash_map.h"
|
||||
#include "absl/strings/string_view.h"
|
||||
@@ -75,6 +76,9 @@ class FakePreferenceManager : public nearby::sharing::api::PreferenceManager {
|
||||
void RemoveDictionaryItem(absl::string_view key,
|
||||
absl::string_view dictionary_item) override;
|
||||
|
||||
void SetSyncConfigValue(
|
||||
absl::string_view binding_id,
|
||||
const nearby::sharing::sync::SyncConfigPrefs& value) override;
|
||||
void SetSyncBindingValue(
|
||||
const nearby::sharing::sync::SyncBindingPrefs& value) override;
|
||||
|
||||
@@ -111,10 +115,14 @@ class FakePreferenceManager : public nearby::sharing::api::PreferenceManager {
|
||||
absl::string_view key, absl::string_view dictionary_item) const override;
|
||||
std::optional<std::string> GetDictionaryStringValue(
|
||||
absl::string_view key, absl::string_view dictionary_item) const override;
|
||||
std::optional<nearby::sharing::sync::SyncConfigPrefs>
|
||||
GetSyncConfigValue(absl::string_view binding_id) const override;
|
||||
void RemoveSyncConfigPref(absl::string_view binding_id) override;
|
||||
std::optional<nearby::sharing::sync::SyncBindingPrefs>
|
||||
GetSyncBindingValue() const override;
|
||||
|
||||
void Remove(absl::string_view key) override;
|
||||
void RemoveAllSyncConfigs() override;
|
||||
void RemoveAllBindingConfigs() override;
|
||||
|
||||
void AddObserver(
|
||||
|
||||
Reference in New Issue
Block a user