aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/persistance/FileBackend.java
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2018-04-27 23:52:08 +0200
committerChristian Schneppe <christian@pix-art.de>2018-04-27 23:52:08 +0200
commit5a1105d37a87eaf1c369d9f8d9b7e67d6a0e1cd4 (patch)
treef3ca7e213d3adbfcbb929e10a6b35a2eb6f789e4 /src/main/java/de/pixart/messenger/persistance/FileBackend.java
parent39194d6e1b4a5ebaabdc1afc7ffbdc6eede68aca (diff)
display avatar in groups
Diffstat (limited to 'src/main/java/de/pixart/messenger/persistance/FileBackend.java')
-rw-r--r--src/main/java/de/pixart/messenger/persistance/FileBackend.java12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/main/java/de/pixart/messenger/persistance/FileBackend.java b/src/main/java/de/pixart/messenger/persistance/FileBackend.java
index d936af86f..6bb63dfd0 100644
--- a/src/main/java/de/pixart/messenger/persistance/FileBackend.java
+++ b/src/main/java/de/pixart/messenger/persistance/FileBackend.java
@@ -697,9 +697,7 @@ public class FileBackend {
avatar.width = options.outWidth;
avatar.type = options.outMimeType;
return avatar;
- } catch (IOException e) {
- return null;
- } catch (NoSuchAlgorithmException e) {
+ } catch (NoSuchAlgorithmException | IOException e) {
return null;
} finally {
close(is);
@@ -711,14 +709,13 @@ public class FileBackend {
return file.exists();
}
- public boolean save(Avatar avatar) {
+ public boolean save(final Avatar avatar) {
File file;
if (isAvatarCached(avatar)) {
file = new File(getAvatarPath(avatar.getFilename()));
avatar.size = file.length();
} else {
- String filename = getAvatarPath(avatar.getFilename());
- file = new File(filename + ".tmp");
+ file = new File(mXmppConnectionService.getCacheDir().getAbsolutePath() + "/" + UUID.randomUUID().toString());
file.getParentFile().mkdirs();
OutputStream os = null;
try {
@@ -733,6 +730,7 @@ public class FileBackend {
mDigestOutputStream.close();
String sha1sum = CryptoHelper.bytesToHex(digest.digest());
if (sha1sum.equals(avatar.sha1sum)) {
+ String filename = getAvatarPath(avatar.getFilename());
file.renameTo(new File(filename));
} else {
Log.d(Config.LOGTAG, "sha1sum mismatch for " + avatar.owner);
@@ -749,7 +747,7 @@ public class FileBackend {
return true;
}
- public String getAvatarPath(String avatar) {
+ private String getAvatarPath(String avatar) {
return mXmppConnectionService.getFilesDir().getAbsolutePath() + "/avatars/" + avatar;
}