mirror of
https://github.com/kidfromjupiter/nearby.git
synced 2026-09-16 15:36:12 -04:00
Update max visibility expiration to 10m.
PiperOrigin-RevId: 686308358
This commit is contained in:
committed by
Copybara-Service
parent
722c8a3266
commit
54f2670211
@@ -63,7 +63,8 @@ ABSL_CONST_INIT const proto::DeviceVisibility kDefaultVisibility =
|
||||
proto::DeviceVisibility::DEVICE_VISIBILITY_HIDDEN;
|
||||
ABSL_CONST_INIT const proto::DeviceVisibility kDefaultFallbackVisibility =
|
||||
proto::DeviceVisibility::DEVICE_VISIBILITY_HIDDEN;
|
||||
ABSL_CONST_INIT const int kDefaultMaxVisibilityExpirationSeconds = 300;
|
||||
ABSL_CONST_INIT const int kDefaultMaxVisibilityExpirationSeconds =
|
||||
600; // 10 minutes
|
||||
|
||||
void RegisterNearbySharingPrefs(
|
||||
nearby::sharing::api::PreferenceManager& preference_manager,
|
||||
|
||||
@@ -149,7 +149,7 @@ void NearbyShareSettings::StartVisibilityTimer(
|
||||
proto::DeviceVisibility visibility;
|
||||
{
|
||||
absl::MutexLock lock(&mutex_);
|
||||
visibility = GetRawFallbackVisibility().visibility;
|
||||
visibility = fallback_visibility_;
|
||||
visibility_expiration_timer_.reset();
|
||||
}
|
||||
SetVisibility(visibility);
|
||||
@@ -257,6 +257,14 @@ void NearbyShareSettings::SetVisibility(DeviceVisibility visibility,
|
||||
visibility = DeviceVisibility::DEVICE_VISIBILITY_SELF_SHARE;
|
||||
}
|
||||
DeviceVisibility last_visibility = GetVisibility();
|
||||
absl::Duration max_expiration =
|
||||
absl::Seconds(kMaxVisibilityExpirationSeconds);
|
||||
if (expiration > max_expiration) {
|
||||
LOG(WARNING) << "Set visbility expiration is too long. visibility="
|
||||
<< static_cast<int>(visibility)
|
||||
<< ", expiration=" << expiration;
|
||||
expiration = max_expiration;
|
||||
}
|
||||
if (analytics_recorder_ != nullptr) {
|
||||
analytics_recorder_->NewSetVisibility(
|
||||
last_visibility, visibility, absl::ToInt64Milliseconds(expiration));
|
||||
|
||||
@@ -389,6 +389,23 @@ TEST_F(NearbyShareSettingsTest, TemporaryVisibilityIsCorrect) {
|
||||
absl::Seconds(1));
|
||||
}
|
||||
|
||||
TEST_F(NearbyShareSettingsTest, SetVisibilityWithExpirationTooLong) {
|
||||
// Set visibility with expiration longer than the max.
|
||||
settings()->SetVisibility(DeviceVisibility::DEVICE_VISIBILITY_SELF_SHARE,
|
||||
absl::Hours(1));
|
||||
// Expiration capped at 10minutes.
|
||||
absl::Time expected_fallback_time =
|
||||
context_.GetClock()->Now() + absl::Minutes(10);
|
||||
NearbyShareSettings::FallbackVisibilityInfo fallback_visibility =
|
||||
settings()->GetFallbackVisibility();
|
||||
// default visibility was hidden.
|
||||
EXPECT_EQ(fallback_visibility.visibility,
|
||||
DeviceVisibility::DEVICE_VISIBILITY_HIDDEN);
|
||||
absl::Duration time_diff = fallback_visibility.fallback_time -
|
||||
expected_fallback_time;
|
||||
EXPECT_LT(absl::AbsDuration(time_diff), absl::Seconds(1));
|
||||
}
|
||||
|
||||
TEST(NearbyShareVisibilityTest, RestoresFallbackVisibility_ExpiredTimer) {
|
||||
// Create Nearby Share settings dependencies.
|
||||
FakeContext context;
|
||||
|
||||
Reference in New Issue
Block a user