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 1f21f16ca27e32fb17e778c09bd61f9320cd0eef..597ddb0b5f4dc4613b8e66a60411d29fbc1430bb 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 334045886bc7a067f894bf497513f396ca310d1d..7de246b598417de97b06f6028bcd529a9d8da835 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);