add an experimental feature for high image compression

This commit is contained in:
B. Petersen
2019-03-02 15:56:59 +01:00
parent c920ef5329
commit 867e2aa5d2
5 changed files with 46 additions and 2 deletions
@@ -91,6 +91,9 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
return true;
});
this.findPreference("pref_compression")
.setOnPreferenceChangeListener(new ListSummaryListener());
Preference backup = this.findPreference("pref_backup");
backup.setOnPreferenceClickListener(new BackupListener());
@@ -143,6 +146,7 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
mvboxWatchCheckbox.setChecked(0!=dcContext.getConfigInt("mvbox_watch"));
mvboxMoveCheckbox.setChecked(0!=dcContext.getConfigInt("mvbox_move"));
updateListSummary(showEmails, Integer.toString(dcContext.getConfigInt("show_emails")));
initializeListSummary((ListPreferenceWithSummary) findPreference("pref_compression"));
}
@Override
@@ -379,7 +379,13 @@ public class BitmapUtil {
public static void recodeImageMsg(Context context, DcMsg msg)
{
final int desiredWH = 1280;
int desiredWH = 1280;
int desiredJpegQuality = 85;
if (Prefs.isHardCompressionEnabled(context)) {
desiredWH = 640;
desiredJpegQuality = 75;
}
try {
String inPath = msg.getFile();
@@ -432,7 +438,7 @@ public class BitmapUtil {
String outPath = DcHelper.getContext(context).getBlobdirFile(inPath);
FileOutputStream outStream = new FileOutputStream(outPath);
if(!outBitmap.compress(Bitmap.CompressFormat.JPEG, 85, outStream)) {
if(!outBitmap.compress(Bitmap.CompressFormat.JPEG, desiredJpegQuality, outStream)) {
return;
}
@@ -229,6 +229,15 @@ public class Prefs {
return getBooleanPreference(context, NOTIFICATION_PREF, true);
}
public static boolean isHardCompressionEnabled(Context context) {
try {
return getStringPreference(context, "pref_compression", "0").equals("1");
}
catch(Exception e) {
return false;
}
}
// ringtone
public static @NonNull Uri getNotificationRingtone(Context context) {