From 02c6793ca9ae195494c7be86f7e0d7a6c08a04c0 Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Wed, 2 Dec 2015 15:30:03 +0100 Subject: fixed avatar loading for non-file uris --- .../conversations/ui/PublishProfilePictureActivity.java | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'src/main/java/eu/siacs/conversations/ui') diff --git a/src/main/java/eu/siacs/conversations/ui/PublishProfilePictureActivity.java b/src/main/java/eu/siacs/conversations/ui/PublishProfilePictureActivity.java index 59ca1069..542c2743 100644 --- a/src/main/java/eu/siacs/conversations/ui/PublishProfilePictureActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/PublishProfilePictureActivity.java @@ -1,14 +1,11 @@ package eu.siacs.conversations.ui; import android.app.PendingIntent; -import android.content.ActivityNotFoundException; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import android.os.Bundle; -import android.os.Parcel; -import android.provider.MediaStore; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnLongClickListener; @@ -21,7 +18,6 @@ import com.soundcloud.android.crop.Crop; import java.io.File; import java.io.FileNotFoundException; -import java.io.IOException; import eu.siacs.conversations.Config; import eu.siacs.conversations.R; @@ -232,18 +228,18 @@ public class PublishProfilePictureActivity extends XmppActivity { } } - private Bitmap loadScaledBitmap(String filePath, int reqSize) { + private Bitmap loadScaledBitmap(Uri uri, int reqSize) throws FileNotFoundException { final BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; - BitmapFactory.decodeFile(filePath,options); - options.inSampleSize = FileBackend.calcSampleSize(new File(filePath), reqSize); + BitmapFactory.decodeStream(getContentResolver().openInputStream(uri)); + options.inSampleSize = FileBackend.calcSampleSize(options, reqSize); options.inJustDecodeBounds = false; - return BitmapFactory.decodeFile(filePath,options); + return BitmapFactory.decodeStream(getContentResolver().openInputStream(uri)); } protected void loadImageIntoPreview(Uri uri) { Bitmap bm = null; try{ - bm = loadScaledBitmap(uri.getPath(), Config.AVATAR_SIZE); + bm = loadScaledBitmap(uri, Config.AVATAR_SIZE); } catch (Exception e) { e.printStackTrace(); } -- cgit v1.2.3