From 069844a6ee132a39281e7bb306358e946bb2470d Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Thu, 23 May 2024 19:53:01 -0500 Subject: [PATCH] Auto-download when unmetered --- src/cheogram/res/drawable/ic_wifi_24dp.xml | 10 ++++++++++ .../services/AbstractConnectionManager.java | 6 ++++++ src/main/res/values/bools.xml | 2 -- src/main/res/values/defaults.xml | 3 +++ src/main/res/xml/preferences_attachments.xml | 6 ++++++ 5 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 src/cheogram/res/drawable/ic_wifi_24dp.xml diff --git a/src/cheogram/res/drawable/ic_wifi_24dp.xml b/src/cheogram/res/drawable/ic_wifi_24dp.xml new file mode 100644 index 0000000000000000000000000000000000000000..57ea38fa40f4d08a5d795cd7814843981587a085 --- /dev/null +++ b/src/cheogram/res/drawable/ic_wifi_24dp.xml @@ -0,0 +1,10 @@ + + + diff --git a/src/main/java/eu/siacs/conversations/services/AbstractConnectionManager.java b/src/main/java/eu/siacs/conversations/services/AbstractConnectionManager.java index 94c6b79b930877abca8f368e8815dd993258e958..dba2206ccc9ea305b00868c23d88e50f4a13fd96 100644 --- a/src/main/java/eu/siacs/conversations/services/AbstractConnectionManager.java +++ b/src/main/java/eu/siacs/conversations/services/AbstractConnectionManager.java @@ -1,6 +1,7 @@ package eu.siacs.conversations.services; import android.content.Context; +import android.net.ConnectivityManager; import android.os.PowerManager; import android.os.SystemClock; import android.util.Log; @@ -120,6 +121,11 @@ public class AbstractConnectionManager { } public long getAutoAcceptFileSize() { + final ConnectivityManager connectivityManager = mXmppConnectionService.getSystemService(ConnectivityManager.class); + final var autoAcceptUnmetered = mXmppConnectionService.getBooleanPreference("auto_accept_unmetered", R.bool.auto_accept_unmetered); + if (autoAcceptUnmetered && !Compatibility.isActiveNetworkMetered(connectivityManager)) { + return 20000000; // 20 MB + } final long autoAcceptFileSize = this.mXmppConnectionService.getLongPreference("auto_accept_file_size", R.integer.auto_accept_filesize); return autoAcceptFileSize <= 0 ? -1 : autoAcceptFileSize; } diff --git a/src/main/res/values/bools.xml b/src/main/res/values/bools.xml index c745885e5be19c3316877736bc4bd1eea0d0f95a..fc3a0ed39bc06f2cfbebde9c4f0f8d1e85874976 100644 --- a/src/main/res/values/bools.xml +++ b/src/main/res/values/bools.xml @@ -1,6 +1,4 @@ true - true - true diff --git a/src/main/res/values/defaults.xml b/src/main/res/values/defaults.xml index bd52defbeebd84475e3cba096dc9a975c491dbce..b1f251a64da3e19f54962276201a097c53dce3c5 100644 --- a/src/main/res/values/defaults.xml +++ b/src/main/res/values/defaults.xml @@ -51,4 +51,7 @@ false false true + true + true + true diff --git a/src/main/res/xml/preferences_attachments.xml b/src/main/res/xml/preferences_attachments.xml index eb17658d00594dce2d8c53ef11d20af2b3a5ef50..e10281424044f6d04a485da303f5207e625a7a74 100644 --- a/src/main/res/xml/preferences_attachments.xml +++ b/src/main/res/xml/preferences_attachments.xml @@ -28,6 +28,12 @@ android:key="auto_accept_file_size" android:title="@string/pref_automatic_download" app:useSimpleSummaryProvider="true" /> +