introduced 'original' as video and image quality and do not ignorer error
This commit is contained in:
parent
5f79aa085d
commit
76c8a67ade
5 changed files with 27 additions and 7 deletions
|
@ -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();
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -58,24 +58,28 @@
|
|||
<item>low</item>
|
||||
<item>mid</item>
|
||||
<item>high</item>
|
||||
<item>uncompressed</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="image_compression_entries">
|
||||
<item>@string/image_low</item>
|
||||
<item>@string/image_mid</item>
|
||||
<item>@string/image_high</item>
|
||||
<item>@string/image_original</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="video_compression_values">
|
||||
<item>low</item>
|
||||
<item>mid</item>
|
||||
<item>high</item>
|
||||
<item>uncompressed</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="video_compression_entries">
|
||||
<item>@string/video_low</item>
|
||||
<item>@string/video_mid</item>
|
||||
<item>@string/video_high</item>
|
||||
<item>@string/video_original</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="mam_prefs">
|
||||
|
|
|
@ -506,6 +506,7 @@
|
|||
<string name="video_low">low (144p)</string>
|
||||
<string name="video_mid">middle (360p)</string>
|
||||
<string name="video_high">high (720p)</string>
|
||||
<string name="video_original">Original (uncompressed)</string>
|
||||
<string name="always">Always</string>
|
||||
<string name="battery_optimizations_enabled">Battery optimizations enabled</string>
|
||||
<string name="battery_optimizations_enabled_explained">Your device is doing some heavy battery optimizations on Pix-Art Messenger that might lead to delayed notifications or even message loss.\nIt is recommended to disable those.</string>
|
||||
|
@ -681,6 +682,7 @@
|
|||
<string name="image_low">low (720p)</string>
|
||||
<string name="image_mid">middle (1920p)</string>
|
||||
<string name="image_high">high (3840p)</string>
|
||||
<string name="image_original">original (uncompressed)</string>
|
||||
<string name="last_seen_just_away">recently</string>
|
||||
<string name="send_message">Send message</string>
|
||||
<string name="send_failed_resend">delivery failed, resending…</string>
|
||||
|
|
Reference in a new issue