private async void BtnClicked(object sender, EventArgs e) { result = await MediaService.Instance.OpenMediaPickerAsync(MediaType.Image); // await System.Threading.Tasks.Task.Delay(1000); if (result.IsSuccess) { CropImage(result.FilePath); } //var actions = new string[] { "Open Camera", "Open Gallery" }; //var action = await DisplayActionSheet("Change Picture", "Cancel", null, actions); //if (actions[0].Equals(action)) //{ // var fileName = MediaService.Instance.GenerateUniqueFileName("jpg"); // var filePath = System.IO.Path.Combine(MediaService.Instance.GetPublicDirectoryPath(), fileName); // result = await MediaService.Instance.TakePhotoAsync(new CameraOption() { FilePath = filePath}); // if (result.IsSuccess) // CropImage(result.FilePath); //else //await DisplayAlert("Error", result.Message, "OK"); // } // else if (actions[1].Equals(action)) // { // result = await MediaService.Instance.OpenMediaPickerAsync(MediaType.Image); // if (result.IsSuccess) // CropImage(result.FilePath); //else //await DisplayAlert("Error", result.Message, "OK"); //} }
public void LoadImage(MediaResult result, Action <string, Texture2D> callback, int maxSize = -1) { Util.NullArgumentTest(result); Util.NullArgumentTest(callback); callback = RuntimeHelper.ToMainThread(callback); if (string.IsNullOrEmpty(result.Uri)) { callback("Invalid image URL.", null); return; } var uiImage = LoadImageAtPath(result.Uri, maxSize); if (uiImage == null) { callback("The image couldn't be loaded.", null); return; } Texture2D image = TextureUtilities.Decode(UIFunctions.UIImagePNGRepresentation(uiImage.NormalizedImage).ToBytes()); image = Resize(image, maxSize); callback(null, image); }
public void OnNativeCallback(string error, AndroidJavaObject[] results) { if (callback == null) { return; } RuntimeHelper.RunOnMainThread(() => { if (error != null) { callback(error, null); return; } if (results != null) { var mediaResults = new MediaResult[results.Length]; for (int i = 0; i < results.Length; i++) { mediaResults[i] = (MediaResult) new AndroidMediaResultBridge(results[i]); } callback(error, mediaResults); return; } callback("Unknown error.", null); }); }
public void LoadImage(MediaResult media, Action <string, Texture2D> callback, int maxSize = -1) { if (callback == null) { Debug.LogError(NullCallbackMessage); return; } if (nativeGallery == null) { callback(NullNativeGalleryMessage, null); return; } if (media == null || media.Type != MediaType.Image) { callback("Unvalid MediaResult.", null); return; } /// Both uris are null or empty. if (string.IsNullOrEmpty(media.Uri)) { Debug.LogError("Couldn't find a valid uri."); return; } /// Try the absolute uri first. if (!string.IsNullOrEmpty(media.absoluteUri)) { LoadImageFromAbsoluteUri(media.absoluteUri, (error, image) => { /// The image is loaded successfully with absolute uri, /// so we just invoke the callback and return. if (error == null && image != null) { callback(null, image); return; } /// Try the content uri if it's available. /// Even if this fails, the callback will be invoked with the error when loading with content uri. if (!string.IsNullOrEmpty(media.contentUri)) { LoadImageFromContentUri(media.contentUri, callback, maxSize); return; } /// Otherwise there's no other choice, invoke the callback with error when loading with absolute uri. callback(error, null); }, maxSize); return; } /// If we can reach here, this mean only content uri is available, so just load it. LoadImageFromContentUri(media.contentUri, callback, maxSize); }
public void UpdateWithError(string error) { this.error = error; model = null; maxImageSizeRoot.SetActive(false); loadButton.gameObject.SetActive(false); infoText.text = error != null ? "<b>Error:</b><i>" + error + "</i>" : "Null error."; }
/// <summary> /// 返回上传/下载结果。 /// </summary> /// <returns>返回JSON对象。</returns> /// <param name="result">上传/下载结果。</param> protected IActionResult Json(MediaResult result) { if (result.Succeeded) { return(Success(new { result.Url })); } return(Error(result.Message)); }
public void ConstructingMediaSearchResult_WhenNoRelaseYear_ReleaseYearIsNull() { var titleResponse = Testing.Helpers.GetRandomTitleResponse(); titleResponse.Released = null; var result = new MediaResult(titleResponse); Assert.IsNull(result.ReleaseYear); }
public void CameraCallback(string error, MediaResult result) { if (result != null) { AddView(result); return; } AddViewWithError(error ?? "Unknown error."); }
public void ConstructingMediaSearchResult_WhenNoActors_ActorsIsEmpty() { var titleResponse = Testing.Helpers.GetRandomTitleResponse(); titleResponse.Actors = null; var result = new MediaResult(titleResponse); Assert.IsEmpty(result.Actors); }
public void UpdateWithModel(MediaResult newModel) { model = newModel; error = null; maxImageSizeRoot.SetActive(model != null && error == null && model.Type == MediaType.Image && (model.Uri != null)); loadButton.gameObject.SetActive(model != null && error == null && model.Uri != null); infoText.text = string.Format( "<b>Type:</b> <i>{0}</i> \n<b>Uri:</b> <i>{1}</i>", model.Type, model.Uri ?? "null");; }
public void AddView(MediaResult model) { var view = Instantiate(viewPrefab, viewRoot); view.VideoBackground = videoBackground; view.VideoControlMode = videoControlMode; view.VideoScalingMode = videoScalingMode; view.gameObject.SetActive(true); view.UpdateWithModel(model); displayedViews.Add(view); }
private string ConvertReceivedData(string jsonObject, int mediaType) { MediaResult res = JsonConvert.DeserializeObject <MediaResult>(jsonObject); MediaDTO[] medias = res.results; for (int i = 0; i < medias.Length; i++) { medias[i] = medias[i].Format(mediaType); } return(JsonConvert.SerializeObject(medias)); }
private void TakePictureCallback(string error, MediaResult result) { if (!string.IsNullOrEmpty(error)) { // TODO: show the error to them. Debug.Log("Error on take picture with native camera app"); } else { Media.Gallery.LoadImage(result, LoadImageCallback); } }
public void ConstructingMediaSearchResult_WithTitleResponse_ConstructsCorrectly() { var titleResponse = Testing.Helpers.GetRandomTitleResponse(); var expectedReleaseYear = DateTime.Parse(titleResponse.Released).Year; var expectedActors = titleResponse.Actors.Split(',').Select(actor => actor.Trim()); var result = new MediaResult(titleResponse); Assert.AreEqual(titleResponse.Title, result.Title); Assert.AreEqual(titleResponse.ImdbID, result.IMDBId); Assert.AreEqual(titleResponse.Plot, result.Plot); Assert.AreEqual(expectedReleaseYear, result.ReleaseYear); Assert.AreEqual(expectedActors, result.Actors); }
public void ImagePickerControllerDidFinishPickingMediaWithInfo(UIImagePickerController picker, NSDictionary <NSString, iOSObjectProxy> info) { if (CloseAndResetMatchmakerVC != null) { CloseAndResetMatchmakerVC(); } MediaResult result = CreateResult(Operation, info); string error = result == null ? "Couldn't get url of the selected item." : null; if (CompleteCallback != null) { CompleteCallback(error, result); } }
void OnMediaReceived(string error, MediaResult mediaReceived) { if (string.IsNullOrEmpty(error) && mediaReceived != null) { MediaResultObject contactObjectTemp = new MediaResultObject(); contactObjectTemp.Media = mediaReceived; mediaObject.Value = contactObjectTemp; Fsm.Event(eventTarget, isSuccessEvent); } else { errorMsg.Value = error; Fsm.Event(eventTarget, isNotSuccessEvent); } }
public IActionResult GetById(int id, DateTimeOffset?timestamp = null) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var status = _entityIndex.Status(ResourceType.Media, id) ?? ContentStatus.Published; if (!UserPermissions.IsAllowedToGet(User.Identity, status, _entityIndex.Owner(ResourceType.Media, id))) { return(Forbid()); } var media = _db.Database.GetCollection <MediaElement>(ResourceType.Media.Name) .AsQueryable() .FirstOrDefault(x => x.Id == id); if (media == null) { return(NotFound()); } // Media instance wasn`t modified after timestamp if (timestamp != null && media.Timestamp <= timestamp) { return(StatusCode(304)); } var result = new MediaResult(media) { File = GenerateFileUrl(media), Timestamp = _referencesIndex.LastModificationCascading(ResourceType.Media, id) }; return(Ok(result)); }
internal static void SetResult(MediaResult result) { _tcs.TrySetResult(result); }
public void LoadImage(MediaResult media, Action <string, Texture2D> callback, int maxSize = -1) { Debug.LogWarning(UnsupportedMessage); }
public void AddView(MediaResult model) { }
public void UpdateWithModel(MediaResult newModel) { }
public void Init() { instance = new MediaResult(); }
public void CameraCallback(string error, MediaResult result) { }
void AssertOMDBTitleResponseIsEqualToMediaSearchResult(OMDBTitleResponse expected, MediaResult result) { var expectedActors = expected.Actors.Split(',').Select(actor => actor.Trim()); int?expectedReleaseYear = null; if (expected.Released != null) { expectedReleaseYear = DateTime.Parse(expected.Released).Year; } Assert.AreEqual(expectedActors, result.Actors); Assert.AreEqual(expected.ImdbID, result.IMDBId); Assert.AreEqual(expected.Plot, result.Plot); Assert.AreEqual(expectedReleaseYear, result.ReleaseYear); Assert.AreEqual(expected.Title, result.Title); }