diff --git a/ring-android/app/src/main/java/cx/ring/adapters/ContactDetailsTask.java b/ring-android/app/src/main/java/cx/ring/adapters/ContactDetailsTask.java index 392ec8707e7a22246b8783ce25dc19bae3cd2484..9e6d5f48f24174c7e9c027b31f8267b344e13a58 100644 --- a/ring-android/app/src/main/java/cx/ring/adapters/ContactDetailsTask.java +++ b/ring-android/app/src/main/java/cx/ring/adapters/ContactDetailsTask.java @@ -153,7 +153,15 @@ public class ContactDetailsTask implements Runnable { if (vcard != null && !vcard.getPhotos().isEmpty()) { Photo tmp = vcard.getPhotos().get(0); - externalBMP = CropImageUtils.cropImageToCircle(tmp.getData()); + Bitmap croppedBitmap; + if (tmp != null && tmp.getData() != null) { + croppedBitmap = CropImageUtils.cropImageToCircle(tmp.getData()); + } else { + croppedBitmap = decodeSampledBitmapFromResource(mContext.getResources(), R.drawable.ic_contact_picture, mViewWidth, mViewHeight); + } + + externalBMP = croppedBitmap != null ? croppedBitmap : decodeSampledBitmapFromResource(mContext.getResources(), R.drawable.ic_contact_picture, mViewWidth, mViewHeight); + } else { Bitmap photoBmp; try { diff --git a/ring-android/app/src/main/java/cx/ring/adapters/SmartListAdapter.java b/ring-android/app/src/main/java/cx/ring/adapters/SmartListAdapter.java index 66804fd041f4073bf69e1e9f897c37373b4c655f..2247cea3fac2def62795269ed2a5e790493e5ddb 100644 --- a/ring-android/app/src/main/java/cx/ring/adapters/SmartListAdapter.java +++ b/ring-android/app/src/main/java/cx/ring/adapters/SmartListAdapter.java @@ -138,10 +138,14 @@ public class SmartListAdapter extends BaseAdapter { } public class ViewHolder { - @BindView(R.id.conv_participant) TextView convParticipants; - @BindView(R.id.conv_last_item) TextView convStatus; - @BindView(R.id.conv_last_time) TextView convTime; - @BindView(R.id.photo) ImageView photo; + @BindView(R.id.conv_participant) + TextView convParticipants; + @BindView(R.id.conv_last_item) + TextView convStatus; + @BindView(R.id.conv_last_time) + TextView convTime; + @BindView(R.id.photo) + ImageView photo; int position; public Conversation conv; diff --git a/ring-android/app/src/main/java/cx/ring/fragments/CallFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/CallFragment.java index f7de4e6e616a9577f0b8d158ca966037cae61c07..7f4ee62c784b21c27e1b2f020fe8af307eb6a85b 100644 --- a/ring-android/app/src/main/java/cx/ring/fragments/CallFragment.java +++ b/ring-android/app/src/main/java/cx/ring/fragments/CallFragment.java @@ -949,7 +949,12 @@ public class CallFragment extends Fragment implements CallInterface, ContactDeta if (!vcard.getPhotos().isEmpty()) { Photo tmp = vcard.getPhotos().get(0); - contactBubbleView.setImageBitmap(CropImageUtils.cropImageToCircle(tmp.getData())); + if(tmp.getData() != null) { + contactBubbleView.setImageBitmap(CropImageUtils.cropImageToCircle(tmp.getData())); + } + else{ + setDefaultPhoto(); + } } else { setDefaultPhoto(); } diff --git a/ring-android/app/src/main/java/cx/ring/utils/CropImageUtils.java b/ring-android/app/src/main/java/cx/ring/utils/CropImageUtils.java index 98d2bc09dda64c876d83852e82e43f2a20dbe647..4fb8bc3a87457e07f74a989f53281ba46ec25cc2 100644 --- a/ring-android/app/src/main/java/cx/ring/utils/CropImageUtils.java +++ b/ring-android/app/src/main/java/cx/ring/utils/CropImageUtils.java @@ -36,7 +36,11 @@ public class CropImageUtils { @Nullable public static Bitmap cropImageToCircle(@NonNull byte[] bArray) { Bitmap bitmap = BitmapFactory.decodeByteArray(bArray, 0, bArray.length); - return cropImageToCircle(bitmap); + if (bitmap != null) { + return cropImageToCircle(bitmap); + } + + return null; } @Nullable