예제 #1
0
 public IObservable <Unit> Execute()
 => syncManager.Freeze()
 .FirstAsync()
 .SelectMany(_ => database.Clear())
 .Do(shortcutCreator.OnLogout)
 .Do(userPreferences.Reset)
 .Do(privateSharedStorageService.ClearAll)
 .Do(_ => analyticsService.Logout.Track(source))
 .SelectMany(_ =>
             notificationService
             .UnscheduleAllNotifications()
             .Catch(Observable.Return(Unit.Default)))
 .Do(userAccessManager.OnUserLoggedOut)
 .Do(analyticsService.ResetAppCenterUserId)
 .FirstAsync();