mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-23 18:30:20 +01:00
Add toggle to control call bandwidth.
This commit is contained in:
committed by
Greyson Parrelli
parent
8724d904b7
commit
be91f2396c
@@ -82,29 +82,10 @@ public class AttachmentUtil {
|
||||
}
|
||||
|
||||
private static @NonNull Set<String> getAllowedAutoDownloadTypes(@NonNull Context context) {
|
||||
if (isConnectedWifi(context)) return TextSecurePreferences.getWifiMediaDownloadAllowed(context);
|
||||
else if (isConnectedRoaming(context)) return TextSecurePreferences.getRoamingMediaDownloadAllowed(context);
|
||||
else if (isConnectedMobile(context)) return TextSecurePreferences.getMobileMediaDownloadAllowed(context);
|
||||
else return Collections.emptySet();
|
||||
}
|
||||
|
||||
private static NetworkInfo getNetworkInfo(@NonNull Context context) {
|
||||
return ServiceUtil.getConnectivityManager(context).getActiveNetworkInfo();
|
||||
}
|
||||
|
||||
private static boolean isConnectedWifi(@NonNull Context context) {
|
||||
final NetworkInfo info = getNetworkInfo(context);
|
||||
return info != null && info.isConnected() && info.getType() == ConnectivityManager.TYPE_WIFI;
|
||||
}
|
||||
|
||||
private static boolean isConnectedMobile(@NonNull Context context) {
|
||||
final NetworkInfo info = getNetworkInfo(context);
|
||||
return info != null && info.isConnected() && info.getType() == ConnectivityManager.TYPE_MOBILE;
|
||||
}
|
||||
|
||||
private static boolean isConnectedRoaming(@NonNull Context context) {
|
||||
final NetworkInfo info = getNetworkInfo(context);
|
||||
return info != null && info.isConnected() && info.isRoaming() && info.getType() == ConnectivityManager.TYPE_MOBILE;
|
||||
if (NetworkUtil.isConnectedWifi(context)) return TextSecurePreferences.getWifiMediaDownloadAllowed(context);
|
||||
else if (NetworkUtil.isConnectedRoaming(context)) return TextSecurePreferences.getRoamingMediaDownloadAllowed(context);
|
||||
else if (NetworkUtil.isConnectedMobile(context)) return TextSecurePreferences.getMobileMediaDownloadAllowed(context);
|
||||
else return Collections.emptySet();
|
||||
}
|
||||
|
||||
@WorkerThread
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
package org.thoughtcrime.securesms.util;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkInfo;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
|
||||
public final class NetworkUtil {
|
||||
|
||||
private NetworkUtil() {}
|
||||
|
||||
public static boolean isConnectedWifi(@NonNull Context context) {
|
||||
final NetworkInfo info = getNetworkInfo(context);
|
||||
return info != null && info.isConnected() && info.getType() == ConnectivityManager.TYPE_WIFI;
|
||||
}
|
||||
|
||||
public static boolean isConnectedMobile(@NonNull Context context) {
|
||||
final NetworkInfo info = getNetworkInfo(context);
|
||||
return info != null && info.isConnected() && info.getType() == ConnectivityManager.TYPE_MOBILE;
|
||||
}
|
||||
|
||||
public static boolean isConnectedRoaming(@NonNull Context context) {
|
||||
final NetworkInfo info = getNetworkInfo(context);
|
||||
return info != null && info.isConnected() && info.isRoaming() && info.getType() == ConnectivityManager.TYPE_MOBILE;
|
||||
}
|
||||
|
||||
public static boolean useLowBandwidthCalling(@NonNull Context context) {
|
||||
switch (SignalStore.settings().getCallBandwidthMode()) {
|
||||
case HIGH_ON_WIFI:
|
||||
return !NetworkUtil.isConnectedWifi(context);
|
||||
case HIGH_ALWAYS:
|
||||
return false;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
private static NetworkInfo getNetworkInfo(@NonNull Context context) {
|
||||
return ServiceUtil.getConnectivityManager(context).getActiveNetworkInfo();
|
||||
}
|
||||
}
|
||||
@@ -113,6 +113,8 @@ public class TextSecurePreferences {
|
||||
public static final String MEDIA_DOWNLOAD_WIFI_PREF = "pref_media_download_wifi";
|
||||
public static final String MEDIA_DOWNLOAD_ROAMING_PREF = "pref_media_download_roaming";
|
||||
|
||||
public static final String CALL_BANDWIDTH_PREF = "pref_data_call_bandwidth";
|
||||
|
||||
public static final String SYSTEM_EMOJI_PREF = "pref_system_emoji";
|
||||
private static final String MULTI_DEVICE_PROVISIONED_PREF = "pref_multi_device";
|
||||
public static final String DIRECT_CAPTURE_CAMERA_ID = "pref_direct_capture_camera_id";
|
||||
|
||||
Reference in New Issue
Block a user