From 06f01c17dd41d8a0f77629e13b2e63f42f3d9422 Mon Sep 17 00:00:00 2001
From: Thibault Wittemberg <thibault.wittemberg@savoirfairelinux.com>
Date: Wed, 19 Oct 2016 17:50:58 -0400
Subject: [PATCH] vcard: Avatar is now saved before cropping it

Change-Id: I1f56df2580b79d35576e8f56c7440f5ef546ec13
Tuleap: #1125
---
 .../src/main/java/cx/ring/client/HomeActivity.java    |  1 -
 .../src/main/java/cx/ring/views/MenuHeaderView.java   | 11 +++++------
 2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/ring-android/app/src/main/java/cx/ring/client/HomeActivity.java b/ring-android/app/src/main/java/cx/ring/client/HomeActivity.java
index 1f21f16ca..597ddb0b5 100644
--- a/ring-android/app/src/main/java/cx/ring/client/HomeActivity.java
+++ b/ring-android/app/src/main/java/cx/ring/client/HomeActivity.java
@@ -591,7 +591,6 @@ public class HomeActivity extends AppCompatActivity implements LocalService.Call
             case REQUEST_CODE_PHOTO:
                 if(resultCode == RESULT_OK && data != null){
                     fMenuHead.updatePhoto((Bitmap) data.getExtras().get("data"));
-
                 }
                 break;
             case REQUEST_CODE_GALLERY:
diff --git a/ring-android/app/src/main/java/cx/ring/views/MenuHeaderView.java b/ring-android/app/src/main/java/cx/ring/views/MenuHeaderView.java
index 334045886..7de246b59 100644
--- a/ring-android/app/src/main/java/cx/ring/views/MenuHeaderView.java
+++ b/ring-android/app/src/main/java/cx/ring/views/MenuHeaderView.java
@@ -27,7 +27,6 @@ import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.graphics.Bitmap;
-import android.graphics.drawable.BitmapDrawable;
 import android.net.Uri;
 import android.provider.MediaStore;
 import android.support.v4.app.ActivityCompat;
@@ -91,6 +90,7 @@ public class MenuHeaderView extends FrameLayout {
 
     @BindView(R.id.user_name)
     TextView mUserName;
+    private Bitmap mSourcePhoto;
     private ImageView mProfilePhoto;
     private VCard mVCardProfile;
 
@@ -158,8 +158,8 @@ public class MenuHeaderView extends FrameLayout {
     }
 
     public void updatePhoto(Bitmap image) {
-        image = CropImageUtils.cropImageToCircle(image);
-        mProfilePhoto.setImageBitmap(image);
+        mSourcePhoto = image;
+        mProfilePhoto.setImageBitmap(CropImageUtils.cropImageToCircle(image));
     }
 
     private void initViews() {
@@ -249,10 +249,9 @@ public class MenuHeaderView extends FrameLayout {
                 }
                 mVCardProfile.setFormattedName(new FormattedName(username));
 
-                if (mProfilePhoto.getDrawable() != ResourcesCompat.getDrawable(getResources(), R.drawable.ic_contact_picture, null)) {
-                    Bitmap bmp = ((BitmapDrawable) mProfilePhoto.getDrawable()).getBitmap();
+                if (mSourcePhoto != null && mProfilePhoto.getDrawable() != ResourcesCompat.getDrawable(getResources(), R.drawable.ic_contact_picture, null)) {
                     ByteArrayOutputStream stream = new ByteArrayOutputStream();
-                    bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
+                    mSourcePhoto.compress(Bitmap.CompressFormat.PNG, 100, stream);
                     Photo photo = new Photo(stream.toByteArray(), ImageType.PNG);
                     mVCardProfile.removeProperties(Photo.class);
                     mVCardProfile.addPhoto(photo);
-- 
GitLab