more error handling for avatar publication

This commit is contained in:
iNPUTmice 2014-08-16 17:31:53 +02:00
parent 5aa8afdc1c
commit 38f36aa263
2 changed files with 17 additions and 1 deletions

View File

@ -285,6 +285,9 @@ public class FileBackend {
try {
Avatar avatar = new Avatar();
Bitmap bm = cropCenterSquare(image, size);
if (bm==null) {
return null;
}
ByteArrayOutputStream mByteArrayOutputStream = new ByteArrayOutputStream();
Base64OutputStream mBase64OutputSttream = new Base64OutputStream(mByteArrayOutputStream, Base64.DEFAULT);
MessageDigest digest = MessageDigest.getInstance("SHA-1");
@ -355,7 +358,11 @@ public class FileBackend {
InputStream is = context.getContentResolver()
.openInputStream(image);
Bitmap input = BitmapFactory.decodeStream(is, null, options);
return cropCenterSquare(input, size);
if (input==null) {
return null;
} else {
return cropCenterSquare(input, size);
}
} catch (FileNotFoundException e) {
return null;
}

View File

@ -129,6 +129,9 @@ public class PublishProfilePictureActivity extends XmppActivity {
if (resultCode == RESULT_OK) {
if (requestCode == REQUEST_CHOOSE_FILE) {
this.avatarUri = data.getData();
if (xmppConnectionServiceBound) {
loadImageIntoPreview(this.avatarUri);
}
}
}
}
@ -173,6 +176,12 @@ public class PublishProfilePictureActivity extends XmppActivity {
protected void loadImageIntoPreview(Uri uri) {
Bitmap bm = xmppConnectionService.getFileBackend().cropCenterSquare(
uri, 384);
if (bm==null) {
disablePublishButton();
this.hintOrWarning.setTextColor(getWarningTextColor());
this.hintOrWarning.setText(R.string.error_publish_avatar_converting);
return;
}
this.avatar.setImageBitmap(bm);
if (support) {
enablePublishButton();