Example #1
0
        protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data)
        {
            try
            {
                base.OnActivityResult(requestCode, resultCode, data);

                //If its from Camera or Gallery
                if (requestCode == CropImage.CropImageActivityRequestCode)
                {
                    CropImage.ActivityResult result = CropImage.GetActivityResult(data);

                    if (resultCode == Result.Ok && result.IsSuccessful)
                    {
                        Uri resultUri = result.Uri;

                        if (!string.IsNullOrEmpty(resultUri.Path))
                        {
                            PathImage = resultUri.Path;
                            File file2    = new File(resultUri.Path);
                            var  photoUri = FileProvider.GetUriForFile(this, PackageName + ".fileprovider", file2);
                            Glide.With(this).Load(photoUri).Apply(new RequestOptions()).Into(PassportImage);
                        }
                        else
                        {
                            Toast.MakeText(this, GetText(Resource.String.Lbl_something_went_wrong), ToastLength.Short).Show();
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
Example #2
0
 protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
 {
     base.OnActivityResult(requestCode, resultCode, data);
     if (requestCode == 0)
     {
         if (resultCode == Result.Canceled)
         {
             Xamarin.Forms.MessagingCenter.Send(new ActivityResult {
                 RequestCode = requestCode, ResultCode = resultCode, Data = data
             }, ActivityResult.key);
         }
     }
     else if (requestCode == 1)
     {
         Xamarin.Forms.MessagingCenter.Send(new ActivityResult {
             RequestCode = requestCode, ResultCode = resultCode, Data = data
         }, "success");
     }
     else
     {
         if (resultCode != Result.Canceled)
         {
             CropImage.ActivityResult result = CropImage.GetActivityResult(data);
             ProductAddPageViewModel.Success?.Invoke(result.Uri.Path, result.OriginalUri.Path);
         }
     }
 }
Example #3
0
        private void resultCrop(Intent data)
        {
            CropImage.ActivityResult result = CropImage.GetActivityResult(data);
            Uri    resultUri = result.Uri;
            Bitmap bm        = decodeUriAsBitmap(resultUri);


            // Calculate the average color of the bitmap
            // this is the slow method, scale down the bitmap before then

            // Scale the bitmap down before calculating average color
            Bitmap smallBitmap = Bitmap.CreateScaledBitmap(bm, 100, 100, false);

            Color avgColorSmall = CalculateAverageColor(smallBitmap);

            // Send GrayScale values to the Data Set
            int gray = new int();

            gray = Grayscale(avgColorSmall);
            ImageTuple.Add(gray);

            // Update area selection counter
            selectAreaCounterLbl.Text = "Number of crops: " + areaCounter.ToString();

            // If first picture operate normally
            if (picCounter == 1)
            {
                // Update area selection counter
                //cropButton.Text = "Select Area (" + areaCounter + ")";
                if (areaCounter == 3)
                {
                    selectAreaImageView = FindViewById <ImageView>(Resource.Id.imageView1);
                    selectAreaImageView.LayoutParameters.Height = 500;
                    selectAreaImageView.LayoutParameters.Width  = 350;
                    labelButton            = FindViewById <Button>(Resource.Id.labelButton);
                    labelButton.Click     += LabelData;
                    labelButton.Visibility = Android.Views.ViewStates.Visible;
                    labelButton.Enabled    = true;
                }
                areaUpperLimit = areaCounter;
            }
            // For every subsequent picture restrict number of areas to select
            else if (picCounter > 0)
            {
                // Update area selection counter with upper limit
                selectAreaCounterLbl.Text = "Number of crops: " + areaCounter + " / " + areaUpperLimit;
                if (areaCounter == areaUpperLimit)
                {
                    selectAreaImageView = FindViewById <ImageView>(Resource.Id.imageView1);
                    selectAreaImageView.LayoutParameters.Height = 500;
                    selectAreaImageView.LayoutParameters.Width  = 350;
                    labelButton            = FindViewById <Button>(Resource.Id.labelButton);
                    labelButton.Click     += LabelData;
                    labelButton.Visibility = Android.Views.ViewStates.Visible;
                    labelButton.Enabled    = true;
                    cropButton.Enabled     = false;
                }
            }
        }
Example #4
0
 public override void OnActivityResult(int requestCode, int resultCode, Intent data)
 {
     base.OnActivityResult(requestCode, resultCode, data);
     if (requestCode == CropImage.CropImageActivityRequestCode)
     {
         CropImage.ActivityResult result = CropImage.GetActivityResult(data);
         HandleCropResult(result);
     }
 }
Example #5
0
        public static async void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            if (data == null)
            {
                ImageCropper.Current.indexCounter++;
                return;
            }

            else
            {
                if (requestCode == CropImage.CropImageActivityRequestCode)
                {
                    string originalFileCreationDate = string.Empty;

                    originalFileCreationDate = ImageCropper.Current.
                                               BeforeCroppingList[ImageCropper.Current.
                                                                  indexCounter].OriginalPictureDate;

                    CropImage.ActivityResult result = CropImage.GetActivityResult(data);

                    if (result != null)
                    {
                        ImageCropper.Current.CroppingResultList.Add(new ImageProperties()
                        {
                            ImagePath           = result.Uri.Path,
                            OriginalPictureDate = originalFileCreationDate
                        });

                        ImageCropper.Current.indexCounter++;

                        // small delay
                        await System.Threading.Tasks.Task.Delay(TimeSpan.FromMilliseconds(100));

                        if (resultCode == Result.Ok)
                        {
                            if (ImageCropper.Current.indexCounter == ImageCropper.Current.BeforeCroppingList.Count)
                            {
                                ImageCropper.Current.Success?.Invoke(ImageCropper.Current.CroppingResultList);
                            }
                        }
                        else if ((int)resultCode == (int)(CropImage.CropImageActivityResultErrorCode))
                        {
                            ImageCropper.Current.Faiure?.Invoke();
                        }
                    }
                    else
                    {
                        ImageCropper.Current.Faiure?.Invoke();
                        return;
                    }
                }
            }
        }
Example #6
0
        protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            try
            {
                base.OnActivityResult(requestCode, resultCode, data);

                //If its from Camera or Gallary
                if (requestCode == CropImage.CropImageActivityRequestCode)
                {
                    if (requestCode == 203 && resultCode == Result.Ok)
                    {
                        CropImage.ActivityResult result = CropImage.GetActivityResult(data);

                        if (result.IsSuccessful)
                        {
                            Android.Net.Uri resultUri = result.Uri;

                            if (!String.IsNullOrEmpty(resultUri.Path))
                            {
                                Intent intent = new Intent(this, typeof(AddStory_Activity));
                                intent.PutExtra("Uri", resultUri.Path);
                                intent.PutExtra("Type", "image");
                                StartActivity(intent);
                            }
                            else
                            {
                                Toast.MakeText(this, this.GetText(Resource.String.Lbl_Something_went_wrong), ToastLength.Long).Show();
                            }
                        }
                    }
                }
                else if (requestCode == 100 && resultCode == Result.Ok)
                {
                    string FullPath = IMethods.MultiMedia.GetRealVideoPathFromURI(data.Data);
                    if (!string.IsNullOrEmpty(FullPath))
                    {
                        Intent intent = new Intent(this, typeof(AddStory_Activity));
                        intent.PutExtra("Uri", FullPath);
                        intent.PutExtra("Type", "video");
                        StartActivity(intent);
                    }
                    else
                    {
                        Toast.MakeText(this, this.GetText(Resource.String.Lbl_Something_went_wrong), ToastLength.Long).Show();
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Example #7
0
 public static void OnActivityResult(int requestCode, Result resultCode, Intent data)
 {
     if (requestCode == CropImage.CropImageActivityRequestCode)
     {
         CropImage.ActivityResult result = CropImage.GetActivityResult(data);
         if (resultCode == Result.Ok)
         {
             ImageCropper.Current.Success?.Invoke(result.Uri.Path);
         }
         else if ((int)resultCode == (int)(CropImage.CropImageActivityResultErrorCode))
         {
             ImageCropper.Current.Faiure?.Invoke();
         }
     }
 }
 protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data)
 {
     // handle result of CropImageActivity
     if (requestCode == CropImage.CropImageActivityRequestCode)
     {
         CropImage.ActivityResult result = CropImage.GetActivityResult(data);
         if (resultCode == Result.Ok)
         {
             ((ImageView)FindViewById(Resource.Id.quick_start_cropped_image)).SetImageURI(result.Uri);
             Toast.MakeText(this, "Cropping successful, Sample: " + result.SampleSize, ToastLength.Long).Show();
         }
         else if (result != null)
         {
             Toast.MakeText(this, "Cropping failed: " + result.Error, ToastLength.Long).Show();
         }
     }
 }
        private void resultCrop(Intent data)
        {
            CropImage.ActivityResult result = CropImage.GetActivityResult(data);
            Uri    resultUri = result.Uri;
            Bitmap bm        = decodeUriAsBitmap(resultUri);


            // Calculate the average color of the bitmap
            // this is the slow method, scale down the bitmap before then

            // Scale the bitmap down before calculating average color
            Bitmap smallBitmap = Bitmap.CreateScaledBitmap(bm, 100, 100, false);

            Color avgColorSmall = CalculateAverageColor(smallBitmap);

            // Calculate the average color of the bitmap
            //Android.Graphics.Color avgColor = CalculateAverageColor(bm);

            //Add to the data structure
            int gray = new int();

            gray = Grayscale(avgColorSmall);
            ImageTuple.Add(gray);

            // Update area selection counter
            selectAreaCounterLbl.Text = "Number of crops: " + areaCounter.ToString() + " / " + areaLimit.ToString();

            // User must select at least 3 areas from the picture

            if (areaCounter == areaLimit)
            {
                selectAreaImageView = FindViewById <ImageView>(Resource.Id.imageView1);
                selectAreaImageView.LayoutParameters.Height = 500;
                selectAreaImageView.LayoutParameters.Width  = 350;


                //Finished(null, null);
                results();
                //cropButton.Text = "Finished";
                //cropButton.Click -= CropPic;
                //cropButton.Click += Finished;

                //cropButton.Enabled = true;
            }
        }
Example #10
0
        public static async void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            if (requestCode == CropImage.CropImageActivityRequestCode)
            {
                CropImage.ActivityResult result = CropImage.GetActivityResult(data);

                // small delay
                //await Task.Delay(TimeSpan.FromMilliseconds(100));
                if (resultCode == Result.Ok)
                {
                    ImageCropper.Current.Success?.Invoke(result.Uri.Path);
                }
                else if (resultCode == (Result)CropImage.CropImageActivityResultErrorCode)
                {
                    ImageCropper.Current.Failure?.Invoke();
                }
            }
        }
Example #11
0
        public static async void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            if (requestCode == CropImage.CropImageActivityRequestCode)
            {
                CropImage.ActivityResult result = CropImage.GetActivityResult(data);

                // small delay
                await System.Threading.Tasks.Task.Delay(TimeSpan.FromMilliseconds(100));

                if (resultCode == Result.Ok)
                {
                    ImageCropper.Current.Success?.Invoke(result.GetUriFilePath(Xamarin.Essentials.Platform.AppContext, false));
                }
                else if ((int)resultCode == (int)(CropImage.CropImageActivityResultErrorCode))
                {
                    ImageCropper.Current.Faiure?.Invoke();
                }
            }
        }
Example #12
0
        /// <summary>
        /// Called when [OnActivityResult]
        /// </summary>
        /// <param name="requestCode">The request code.</param>
        /// <param name="resultCode">The result code.</param>
        /// <param name="data">Intent data.</param>
        protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            if (requestCode == CropImage.CropImageActivityRequestCode)
            {
                CropImage.ActivityResult result = CropImage.GetActivityResult(data);

                if (resultCode == Result.Ok)
                {
                    Uri       resultUri = result.Uri;
                    ImageView view      = this.FindViewById <ImageView>(Resource.Id.ImageView_image);
                    view.SetImageURI(resultUri);
                }
                else if (resultCode == (Result)CropImage.CropImageActivityResultErrorCode)
                {
                    // To Do, show something about the error.
                    Exception error = result.Error;
                    Toast.MakeText(this, error.Message, ToastLength.Long).Show();
                }
            }

            base.OnActivityResult(requestCode, resultCode, data);
        }
        protected override void OnActivityResult(int requestCode, Result resultCode, Intent intent)
        {
            base.OnActivityResult(requestCode, resultCode, intent);

            if (requestCode == PickImageId)
            {
                if ((resultCode == Result.Ok) && (intent != null))
                {
                    Android.Net.Uri uri    = intent.Data;
                    Stream          stream = ContentResolver.OpenInputStream(uri);

                    // Set the Stream as the completion of the Task
                    PickImageTaskCompletionSource.SetResult(stream);
                }
                else
                {
                    PickImageTaskCompletionSource.SetResult(null);
                }
            }

            if (requestCode == CropImage.CropImageActivityRequestCode)
            {
                CropImage.ActivityResult result = CropImage.GetActivityResult(intent);
                if (resultCode == Result.Ok)
                {
                    ImageCropper.Current.Success?.Invoke(result.Uri.Path);
                }
                else if ((int)resultCode == (int)CropImage.CropImageActivityResultErrorCode)
                {
                    ImageCropper.Current.Faiure?.Invoke();
                }
            }
            else
            {
                base.OnActivityResult(requestCode, resultCode, intent);
            }
        }
Example #14
0
        protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            try
            {
                base.OnActivityResult(requestCode, resultCode, data);

                switch (requestCode)
                {
                //If its from Camera or Gallery
                case CropImage.CropImageActivityRequestCode:
                {
                    CropImage.ActivityResult result = CropImage.GetActivityResult(data);

                    switch (resultCode)
                    {
                    case Result.Ok when result.IsSuccessful:
                    {
                        Uri resultUri = result.Uri;

                        switch (string.IsNullOrEmpty(resultUri.Path))
                        {
                        case false:
                            switch (TypeImage)
                            {
                            case "YourImage":
                            {
                                PathYourImage = resultUri.Path;
                                File file2    = new File(resultUri.Path);
                                var  photoUri = FileProvider.GetUriForFile(this, PackageName + ".fileprovider", file2);
                                Glide.With(this).Load(photoUri).Apply(new RequestOptions()).Into(YourImage);
                                break;
                            }

                            case "Passport":
                            {
                                PathPassportImage = resultUri.Path;
                                File file2    = new File(resultUri.Path);
                                var  photoUri = FileProvider.GetUriForFile(this, PackageName + ".fileprovider", file2);
                                Glide.With(this).Load(photoUri).Apply(new RequestOptions()).Into(PassportImage);
                                break;
                            }
                            }

                            break;

                        default:
                            Toast.MakeText(this, GetText(Resource.String.Lbl_something_went_wrong), ToastLength.Short)?.Show();
                            break;
                        }

                        break;
                    }
                    }

                    break;
                }
                }
            }
            catch (Exception exception)
            {
                Methods.DisplayReportResultTrack(exception);
            }
        }