public static IObservable<Application> RegisterApplication(string apkPath, UploadProgressListener listener) { return RegisterApplicationTask(apkPath, listener) .ToObservable() .SubscribeOn(TaskPoolScheduler.Default) .InterpretingErrors(); }
/// <summary> /// Invoca al servicio de registro de una aplicación, uploadea el apk de la aplicación /// con sus debidos callbacks del progreso /// </summary> /// <param name="apkPath"></param> /// <param name="listener"></param> private static Task<Application> RegisterApplicationTask(string apkPath, UploadProgressListener listener) { User user = SessionManager.Instance.CurrentLoggedUser; var uploader = new MultipartUploader(Settings.Properties.SGAM.Default.BaseApiURL, "applications", apkPath); uploader.Headers.Add("X-Api-Token", user.AuthenticationToken); uploader.Headers.Add("X-Api-Username", user.Username); uploader.UploadProgressChanged += listener.OnUploadProgressChanged; return uploader.UploadAsync<Application>(); }