aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2019-01-03 22:48:47 +0100
committerChristian Schneppe <christian@pix-art.de>2019-01-03 22:48:47 +0100
commit76c8a67ade32affffef1da61dd2f9454f730984e (patch)
tree2af6ef3035f32960fa11f6e5caeaa28c8a3c3b90 /src/main/java/de
parent5f79aa085d74dadabd475cfc51e4a214ccfaf0ad (diff)
introduced 'original' as video and image quality and do not ignorer error
Diffstat (limited to 'src/main/java/de')
-rw-r--r--src/main/java/de/pixart/messenger/persistance/FileBackend.java7
-rw-r--r--src/main/java/de/pixart/messenger/services/AttachFileToConversationRunnable.java13
-rw-r--r--src/main/java/de/pixart/messenger/services/XmppConnectionService.java8
3 files changed, 21 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 2703f0538..705e5489b 100644
--- a/src/main/java/de/pixart/messenger/persistance/FileBackend.java
+++ b/src/main/java/de/pixart/messenger/persistance/FileBackend.java
@@ -294,9 +294,12 @@ public class FileBackend {
}
File file = new File(path);
long size = file.length();
- if (size == 0 || size >= mXmppConnectionService.getCompressImageSizePreference()) {
+ if ((size == 0 || size >= mXmppConnectionService.getCompressImageSizePreference()) && mXmppConnectionService.getCompressImageSizePreference() != 0) {
return false;
}
+ if (mXmppConnectionService.getCompressImageResolutionPreference() == 0 && mXmppConnectionService.getCompressImageSizePreference() == 0 ) {
+ return true;
+ }
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
try {
@@ -450,7 +453,7 @@ public class FileBackend {
throw new FileCopyException(R.string.error_compressing_image);
}
os.flush();
- targetSizeReached = file.length() <= mXmppConnectionService.getCompressImageSizePreference() || quality <= 50;
+ targetSizeReached = (file.length() <= mXmppConnectionService.getCompressImageSizePreference() && mXmppConnectionService.getCompressImageSizePreference() != 0) || quality <= 50;
quality -= 5;
}
scaledBitmap.recycle();
diff --git a/src/main/java/de/pixart/messenger/services/AttachFileToConversationRunnable.java b/src/main/java/de/pixart/messenger/services/AttachFileToConversationRunnable.java
index 192d9221d..993de3bc6 100644
--- a/src/main/java/de/pixart/messenger/services/AttachFileToConversationRunnable.java
+++ b/src/main/java/de/pixart/messenger/services/AttachFileToConversationRunnable.java
@@ -49,12 +49,11 @@ public class AttachFileToConversationRunnable implements Runnable, MediaTranscod
this.originalFileSize = FileBackend.getFileSize(mXmppConnectionService, uri);
this.isVideoMessage = !getFileBackend().useFileAsIs(uri)
&& (mimeType != null && mimeType.startsWith("video/")
- && Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2)
+ && (mXmppConnectionService.getCompressVideoBitratePreference() != 0 && mXmppConnectionService.getCompressVideoResolutionPreference() != 0))
&& originalFileSize > autoAcceptFileSize;
-
}
- public boolean isVideoMessage() {
+ boolean isVideoMessage() {
return this.isVideoMessage && Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2;
}
@@ -110,8 +109,12 @@ public class AttachFileToConversationRunnable implements Runnable, MediaTranscod
mXmppConnectionService.stopForcingForegroundNotification();
throw new AssertionError(e);
} catch (ExecutionException e) {
- mXmppConnectionService.stopForcingForegroundNotification();
- Log.d(Config.LOGTAG, "ignoring execution exception. Should get handled by onTranscodeFiled() instead", e);
+ if (e.getCause() instanceof Error) {
+ mXmppConnectionService.stopForcingForegroundNotification();
+ processAsFile();
+ } else {
+ Log.d(Config.LOGTAG, "ignoring execution exception. Should get handled by onTranscodeFiled() instead", e);
+ }
}
}
diff --git a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
index f36321b04..98e330ad0 100644
--- a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
+++ b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
@@ -893,6 +893,8 @@ public class XmppConnectionService extends Service {
return 1920;
case "high":
return 3840;
+ case "uncompressed":
+ return 0;
default:
return 3840;
}
@@ -906,6 +908,8 @@ public class XmppConnectionService extends Service {
return 524288; // 0.5 * 1024 * 1024 = 524288 (0.5 MiB)
case "high":
return 1048576; // 1 * 1024 * 1024 = 1048576 (1 MiB)
+ case "uncompressed":
+ return 0;
default:
return 524288;
}
@@ -919,6 +923,8 @@ public class XmppConnectionService extends Service {
return 360;
case "high":
return 720;
+ case "uncompressed":
+ return 0;
default:
return 360;
}
@@ -932,6 +938,8 @@ public class XmppConnectionService extends Service {
return 500000;
case "high":
return 2000000;
+ case "uncompressed":
+ return 0;
default:
return 500000;
}