예제 #1
0
        private void onFetchSucceeded()
        {
            var ratingViewConfiguration        = fetchRemoteConfigService.ExtractRatingViewConfigurationFromRemoteConfig();
            var pushNotificationsConfiguration = fetchRemoteConfigService.ExtractPushNotificationsConfigurationFromRemoteConfig();

            keyValueStorage.SetInt(RatingViewDelayParameter, ratingViewConfiguration.DayCount);
            keyValueStorage.SetString(RatingViewTriggerParameter, ratingViewConfiguration.Criterion.ToString());
            keyValueStorage.SetBool(RegisterPushNotificationsTokenWithServerParameter, pushNotificationsConfiguration.RegisterPushNotificationsTokenWithServer);
            keyValueStorage.SetBool(HandlePushNotificationsParameter, pushNotificationsConfiguration.HandlePushNotifications);

            lock (updateLock)
            {
                keyValueStorage.SetDateTimeOffset(LastFetchAtKey, timeService.CurrentDateTime);
                remoteConfigUpdatedSubject.OnNext(Unit.Default);
                isRunning = false;
            }
        }
예제 #2
0
 public void SetNoWorkspaceStateReached(bool hasNoWorkspace)
 {
     keyValueStorage.SetBool(noWorkspaceKey, hasNoWorkspace);
 }
예제 #3
0
 public void SetUserSignedUp()
 {
     userSignedUpUsingTheAppSubject.OnNext(true);
     keyValueStorage.SetBool(userSignedUpUsingTheAppKey, true);
 }
예제 #4
0
 public void SetIsNewUser(bool isNewUser)
 {
     keyValueStorage.SetBool(isNewUserKey, isNewUser);
 }