public void Initialize(bool startUpdatesManager = true) { if (this._isInitialized) { return; } CacheManager.EnsureCacheFolderExists(); if (CacheManager.TryDeserialize((IBinarySerializable)this._globalState, this._appGlobalStateKey, CacheManager.DataType.StateData)) { AutorizationData autorizationData = new AutorizationData(); autorizationData.access_token = this._globalState.AccessToken ?? ""; autorizationData.secret = this._globalState.Secret ?? ""; autorizationData.user_id = this._globalState.LoggedInUserId; int num = startUpdatesManager ? 1 : 0; VKRequestsDispatcher.SetAuthorizationData(autorizationData, num != 0); } this._eventsTracker = StatsEventsTracker.Instance; this._eventsTracker.PendingEvents = EventsConverter.ConvertToPendingEvents(this.GlobalState.PendingStatisticsEvents); this._isInitialized = true; }
public static void PlayCurrentTrack(BackgroundAudioPlayer player, Action <bool> resultCallback = null, bool justPlay = false) { bool flag = false; try { player.Volume = 1.0; AudioTrack track = player.Track; if (track != null) { try { player.Play(); } catch (Exception ex) { if (resultCallback == null) { return; } resultCallback(false); return; } if (justPlay) { resultCallback(true); return; } } if (track != null && track.Source != null) { //track.Source; AudioTrackHelper.EnsureAppGlobalStateInitialized(); if (track.Source.OriginalString.StartsWith("http") && track.GetTagOwnerId() == AppGlobalStateManager.Current.LoggedInUserId && AppGlobalStateManager.Current.GlobalState.IsMusicCachingEnabled) { PlayedFilesInfo playedFilesInfo = new PlayedFilesInfo(); playedFilesInfo.Restore(); Uri source = track.Source; string tag = track.Tag; playedFilesInfo.Add(source, tag); } Playlist playlist = PlaylistManager.LoadTracksFromIsolatedStorage(true); AccountService.Instance.StatsTrackEvents(StatsEventsTracker.ConvertToAppEvents((IEnumerable <object>) new List <AudioPlayEvent>() { new AudioPlayEvent() { OwnerAndAudioId = track.Tag, Source = playlist.Metadata.ActionSource } }), (Action <BackendResult <VKClient.Common.Backend.DataObjects.ResponseWithId, ResultCode> >)(result => {})); if (resultCallback == null) { return; } flag = true; resultCallback(true); } else { if (resultCallback == null) { return; } flag = true; resultCallback(true); } } catch (Exception ex) { Logger.Instance.Error("Failed to start playing. ", ex); if (flag || resultCallback == null) { return; } resultCallback(false); } }