aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/de/pixart/messenger/persistance/FileBackend.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/main/java/de/pixart/messenger/persistance/FileBackend.java b/src/main/java/de/pixart/messenger/persistance/FileBackend.java
index 3bb1e5c4e..6b35219e4 100644
--- a/src/main/java/de/pixart/messenger/persistance/FileBackend.java
+++ b/src/main/java/de/pixart/messenger/persistance/FileBackend.java
@@ -641,11 +641,12 @@ public class FileBackend {
bitmap = BitmapFactory.decodeStream(mXmppConnectionService.getContentResolver().openInputStream(uri));
return getPepAvatar(bitmap, Bitmap.CompressFormat.PNG, 100);
} catch (Exception e) {
+ return null;
+ } finally {
if (bitmap != null) {
bitmap.recycle();
}
}
- return null;
}
private Avatar getPepAvatar(Bitmap bitmap, Bitmap.CompressFormat format, int quality) {
@@ -679,6 +680,9 @@ public class FileBackend {
avatar.width = bitmap.getWidth();
avatar.height = bitmap.getHeight();
return avatar;
+ } catch (OutOfMemoryError e) {
+ Log.d(Config.LOGTAG, "unable to convert avatar to base64 due to low memory");
+ return null;
} catch (Exception e) {
return null;
}