diff --git a/src/org/thoughtcrime/securesms/GroupCreateActivity.java b/src/org/thoughtcrime/securesms/GroupCreateActivity.java index 9e641e9974..9a8e805a77 100644 --- a/src/org/thoughtcrime/securesms/GroupCreateActivity.java +++ b/src/org/thoughtcrime/securesms/GroupCreateActivity.java @@ -54,6 +54,7 @@ import org.thoughtcrime.securesms.recipients.RecipientFactory; import org.thoughtcrime.securesms.recipients.RecipientFormattingException; import org.thoughtcrime.securesms.recipients.Recipients; import org.thoughtcrime.securesms.sms.MessageSender; +import org.thoughtcrime.securesms.util.BitmapDecodingException; import org.thoughtcrime.securesms.util.BitmapUtil; import org.thoughtcrime.securesms.util.DynamicLanguage; import org.thoughtcrime.securesms.util.DynamicTheme; @@ -511,8 +512,8 @@ public class GroupCreateActivity extends PassphraseRequiredActionBarActivity { protected Bitmap doInBackground(Void... voids) { if (avatarUri != null) { try { - avatarBmp = BitmapUtil.getScaledCircleCroppedBitmap(getApplicationContext(), avatarUri, AVATAR_SIZE); - } catch (FileNotFoundException e) { + avatarBmp = BitmapUtil.getScaledCircleCroppedBitmap(GroupCreateActivity.this, masterSecret, avatarUri, AVATAR_SIZE); + } catch (FileNotFoundException | BitmapDecodingException e) { Log.w(TAG, e); return null; } diff --git a/src/org/thoughtcrime/securesms/util/BitmapUtil.java b/src/org/thoughtcrime/securesms/util/BitmapUtil.java index 6e1e44af21..dc00c0ffd7 100644 --- a/src/org/thoughtcrime/securesms/util/BitmapUtil.java +++ b/src/org/thoughtcrime/securesms/util/BitmapUtil.java @@ -202,10 +202,11 @@ public class BitmapUtil { return getScaledCircleCroppedBitmap(bitmap, srcSize); } - public static Bitmap getScaledCircleCroppedBitmap(Context context, Uri uri, int destSize) throws FileNotFoundException { - InputStream dataStream = context.getContentResolver().openInputStream(uri); - InputStream orientationStream = context.getContentResolver().openInputStream(uri); - Bitmap bitmap = BitmapFactory.decodeStream(dataStream); + public static Bitmap getScaledCircleCroppedBitmap(Context context, MasterSecret masterSecret, Uri uri, int destSize) + throws FileNotFoundException, BitmapDecodingException + { + InputStream orientationStream = PartAuthority.getPartStream(context, masterSecret, uri); + Bitmap bitmap = createScaledBitmap(context, masterSecret, uri, destSize, destSize); return getScaledCircleCroppedBitmap(fixOrientation(bitmap, orientationStream), destSize); }