codec2_talkie/codec2talkie/src/main/java/com/radio/codec2talkie/settings/SettingsWrapper.java

108 wiersze
4.8 KiB
Java

package com.radio.codec2talkie.settings;
import android.content.SharedPreferences;
import com.radio.codec2talkie.rigctl.RigCtlFactory;
import com.radio.codec2talkie.transport.TransportFactory;
public class SettingsWrapper {
public static boolean isSoundModemRigDisabled(SharedPreferences sharedPreferences) {
return sharedPreferences.getString(PreferenceKeys.PORTS_SOUND_MODEM_RIG,
RigCtlFactory.RIG_DISABLED).equals(RigCtlFactory.RIG_DISABLED);
}
public static boolean isSoundModemEnabled(SharedPreferences sharedPreferences) {
return sharedPreferences.getString(PreferenceKeys.PORTS_TYPE,
TransportFactory.TransportType.LOOPBACK.toString()).toUpperCase().equals(
TransportFactory.TransportType.SOUND_MODEM.toString());
}
public static boolean isLoopbackTransport(SharedPreferences sharedPreferences) {
return sharedPreferences.getString(PreferenceKeys.PORTS_TYPE,
TransportFactory.TransportType.LOOPBACK.toString()).toUpperCase().equals(
TransportFactory.TransportType.LOOPBACK.toString());
}
public static boolean isBleTransport(SharedPreferences sharedPreferences) {
return sharedPreferences.getString(PreferenceKeys.PORTS_TYPE,
TransportFactory.TransportType.LOOPBACK.toString()).toUpperCase().equals(
TransportFactory.TransportType.BLE.toString());
}
public static TransportFactory.TransportType getCurrentTransportType(SharedPreferences sharedPreferences) {
return TransportFactory.TransportType.valueOf(sharedPreferences.getString(PreferenceKeys.PORTS_TYPE,
TransportFactory.TransportType.LOOPBACK.toString()).toUpperCase());
}
public static boolean isFreeDvSoundModemModulation(SharedPreferences sharedPreferences) {
return isSoundModemEnabled(sharedPreferences) &&
sharedPreferences.getString(PreferenceKeys.PORTS_SOUND_MODEM_TYPE, "1200").startsWith("F");
}
public static boolean isCodec2Enabled(SharedPreferences sharedPreferences) {
return sharedPreferences.getString(PreferenceKeys.CODEC_TYPE, "Codec2").equals("Codec2");
}
public static int getFreeDvSoundModemModulation(SharedPreferences sharedPreferences) {
String modemType = sharedPreferences.getString(PreferenceKeys.PORTS_SOUND_MODEM_TYPE, "1200");
if (modemType.startsWith("F")) {
return Integer.parseInt(modemType.substring(1));
}
return -1;
}
public static int getFskSpeed(SharedPreferences sharedPreferences) {
String modemType = sharedPreferences.getString(PreferenceKeys.PORTS_SOUND_MODEM_TYPE, "1200");
if (!modemType.startsWith("F")) {
return Integer.parseInt(modemType);
}
return -1;
}
public static boolean isKissProtocolEnabled(SharedPreferences sharedPreferences) {
return sharedPreferences.getBoolean(PreferenceKeys.KISS_ENABLED, true);
}
public static boolean isKissParrotEnabled(SharedPreferences sharedPreferences) {
return sharedPreferences.getBoolean(PreferenceKeys.KISS_PARROT, false);
}
public static boolean isKissBufferedModeEnabled(SharedPreferences sharedPreferences) {
return sharedPreferences.getBoolean(PreferenceKeys.KISS_BUFFERED_ENABLED, false);
}
public static boolean isCodec2RecorderEnabled(SharedPreferences sharedPreferences) {
return sharedPreferences.getBoolean(PreferenceKeys.CODEC2_RECORDING_ENABLED, false);
}
public static boolean isKissScramblerEnabled(SharedPreferences sharedPreferences) {
return sharedPreferences.getBoolean(PreferenceKeys.KISS_SCRAMBLING_ENABLED, false);
}
public static boolean isKissExtensionEnabled(SharedPreferences sharedPreferences) {
return sharedPreferences.getBoolean(PreferenceKeys.KISS_EXTENSIONS_ENABLED, false);
}
public static String getKissScramblerKey(SharedPreferences sharedPreferences) {
return sharedPreferences.getString(PreferenceKeys.KISS_SCRAMBLER_KEY, "");
}
public static boolean isAprsEnabled(SharedPreferences sharedPreferences) {
return sharedPreferences.getBoolean(PreferenceKeys.APRS_ENABLED, false);
}
public static boolean isVoax25Enabled(SharedPreferences sharedPreferences) {
return sharedPreferences.getBoolean(PreferenceKeys.AX25_VOAX25_ENABLE, false) &&
!isFreeDvSoundModemModulation(sharedPreferences); // no voax25 in freedv
}
public static boolean isTextPacketsEnabled(SharedPreferences sharedPreferences) {
return sharedPreferences.getBoolean(PreferenceKeys.AX25_TEXT_PACKETS_ENABLE, false);
}
public static boolean isAprsIsEnabled(SharedPreferences sharedPreferences) {
return sharedPreferences.getBoolean(PreferenceKeys.APRS_IS_ENABLE, false);
}
}