From b70a77d77a9c72b046b6f00a2f3d0ef933673192 Mon Sep 17 00:00:00 2001 From: "mohachait@gmail.com" Date: Tue, 11 Dec 2018 11:25:06 +0100 Subject: [PATCH] =?UTF-8?q?Afegit=20opci=C3=B3=20friends=20al=20chat?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/moovfy/moovfy/choose_image.java | 40 ++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/moovfy/moovfy/choose_image.java b/app/src/main/java/com/moovfy/moovfy/choose_image.java index 1797f8a..94e2242 100644 --- a/app/src/main/java/com/moovfy/moovfy/choose_image.java +++ b/app/src/main/java/com/moovfy/moovfy/choose_image.java @@ -1,8 +1,10 @@ package com.moovfy.moovfy; import android.arch.persistence.room.Database; +import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; +import android.graphics.BitmapFactory; import android.net.Uri; import android.provider.MediaStore; import android.support.design.widget.NavigationView; @@ -28,9 +30,11 @@ import com.kosalgeek.android.photoutil.GalleryPhoto; import com.kosalgeek.android.photoutil.ImageLoader; +import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; +import java.io.InputStream; public class choose_image extends AppCompatActivity { Button galeria; @@ -112,9 +116,36 @@ else if(requestCode == Activity_select_image){ } protected void putImageInStorage(Intent data) { if (data != null) { - final Uri uri = data.getData(); + Uri uri; + + final Uri selectedImage = data.getData(); + + InputStream imageStream = null; + try { + imageStream = getContentResolver().openInputStream( + selectedImage); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } + + Bitmap bmp = BitmapFactory.decodeStream(imageStream); + + ByteArrayOutputStream stream = new ByteArrayOutputStream(); + bmp.compress(Bitmap.CompressFormat.PNG, 20, stream); + byte[] byteArray = stream.toByteArray(); + try { + stream.close(); + stream = null; + } catch (IOException e) { + + e.printStackTrace(); + } + + uri = getImageUri(this,bmp); + Log.d("Chat", "Uri: " + uri.toString()); StorageReference storageReference = FirebaseStorage.getInstance().getReference("Perfil").child(uri.getLastPathSegment()); + storageReference.putFile(uri).addOnSuccessListener(new OnSuccessListener() { @Override public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { @@ -134,5 +165,12 @@ public void onSuccess(Uri uri) { } } + private Uri getImageUri(Context context, Bitmap inImage) { + ByteArrayOutputStream bytes = new ByteArrayOutputStream(); + inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes); + String path = MediaStore.Images.Media.insertImage(context.getContentResolver(), inImage, "Title", null); + return Uri.parse(path); + } + }