public void LaunchBookshelf() { _counter += 1; if (_counter > 1) { AppUpdateStatus updateStatus = DBService.GetDB().GetAppUpdateStatus(); if (updateStatus != null && (updateStatus.ShowAppUpdateAlert || updateStatus.UpdateMandatory)) { Intent updateActivity = new Intent(this, typeof(ForcedEventsActivity)); updateActivity.PutExtra(Const.MANDATORY_FLAG, updateStatus.UpdateMandatory); updateActivity.PutExtra(Const.FORCED_EVENT, ForcedEventTypes.APP_UPDATE_EVENT.ToString()); StartActivity(updateActivity); } else { //Condtion for Firstruncheck if (_isfirstrun == true) { StartActivity(typeof(OnBoard)); } else { StartActivity(typeof(BookshelfActivity)); } } } }
private async Task UnsafeCheckForUpdate(CancellationToken cancellationToken) { _earlyAccess = _requestedEarlyAccess; _status = AppUpdateStatus.Checking; HandleSuccess(_update.CachedLatest(_earlyAccess), cancellationToken); HandleSuccess(await _update.Latest(_earlyAccess), cancellationToken); if (_update.Available) { HandleSuccess(await _update.Validated(), cancellationToken); if (!_update.Ready) { _status = AppUpdateStatus.Downloading; OnStateChanged(); HandleSuccess(await _update.Downloaded(), cancellationToken); HandleSuccess(await _update.Validated(), cancellationToken); if (!_update.Ready) { _status = AppUpdateStatus.DownloadFailed; OnStateChanged(); return; } } } _status = _update.Ready ? AppUpdateStatus.Ready : AppUpdateStatus.None; OnStateChanged(); }
internal AppUpdateState(IBaseAppUpdateState update, AppUpdateStatus status) { ReleaseHistory = update.ReleaseHistory(); Available = update.Available; Ready = update.Ready; Status = status; }
internal AppUpdateState(IBaseAppUpdateState update, AppUpdateStatus status) { ReleaseHistory = update.ReleaseHistory(); Available = update.Available; Ready = update.Ready; Status = status; FilePath = update.FilePath ?? string.Empty; FileArguments = update.FileArguments ?? string.Empty; }
private void HandleFailure() { switch (_status) { case AppUpdateStatus.Checking: _status = AppUpdateStatus.CheckFailed; break; case AppUpdateStatus.Downloading: _status = AppUpdateStatus.DownloadFailed; break; default: _status = AppUpdateStatus.None; break; } OnStateChanged(); }
/// <summary> /// Updates the current AppUpdateRequest according to fields received from the latest AppUpdateState. /// </summary> /// <param name="status">The latest <see cref="AppUpdateStatus"/> received.</param> /// <param name="bytesDownloaded">The number of bytes downloaded so far.</param> /// <param name="totalBytesToDownload">The total bytes to download.</param> public void UpdateState(AppUpdateStatus status, long bytesDownloaded, long totalBytesToDownload) { Status = status; // Due to b/160606605 totalBytesToDownload can be 0 both before and after the download. if (totalBytesToDownload == 0L) { bool finishedDownloading = status == AppUpdateStatus.Downloaded; DownloadProgress = finishedDownloading ? 1f : 0f; } else { BytesDownloaded = (ulong)bytesDownloaded; TotalBytesToDownload = (ulong)totalBytesToDownload; DownloadProgress = bytesDownloaded / (float)totalBytesToDownload; } if (Status == AppUpdateStatus.Downloaded) { OnUpdateDownloaded(); } }
private AppUpdateStatusContract Map(AppUpdateStatus status) { return((AppUpdateStatusContract)status); }
public static bool InProgress(this AppUpdateStatus status) { return(status == AppUpdateStatus.Checking || status == AppUpdateStatus.Downloading); }
private void OnStateChanged(AppUpdateStatus status) { var eventArgs = new AppUpdateState(_update, status); StateChanged?.Invoke(this, eventArgs); }
private void HandleCancellation() { _status = AppUpdateStatus.None; OnStateChanged(); }