diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSettingsPreferenceConst.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSettingsPreferenceConst.java index 7e461dfd1..6e0910df5 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSettingsPreferenceConst.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSettingsPreferenceConst.java @@ -41,6 +41,9 @@ public class DeviceSettingsPreferenceConst { public static final String PREF_VIBRATION_STRENGH_PERCENTAGE = "vibration_strength"; public static final String PREF_RELAX_FIRMWARE_CHECKS = "relax_firmware_checks"; + public static final String PREF_DEVICE_INTERNET_ACCESS = "device_internet_access"; + public static final String PREF_DEVICE_INTENTS = "device_intents"; + public static final String PREF_DISCONNECT_NOTIFICATION = "disconnect_notification"; public static final String PREF_DISCONNECT_NOTIFICATION_START = "disconnect_notification_start"; public static final String PREF_DISCONNECT_NOTIFICATION_END = "disconnect_notification_end"; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/banglejs/BangleJSCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/banglejs/BangleJSCoordinator.java index 91b4e8f96..6764cf422 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/banglejs/BangleJSCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/banglejs/BangleJSCoordinator.java @@ -29,6 +29,7 @@ import androidx.annotation.NonNull; import java.util.Collection; import java.util.Collections; +import java.util.Vector; import nodomain.freeyourgadget.gadgetbridge.BuildConfig; import nodomain.freeyourgadget.gadgetbridge.R; @@ -167,9 +168,16 @@ public class BangleJSCoordinator extends AbstractDeviceCoordinator { } public int[] getSupportedDeviceSpecificSettings(GBDevice device) { - return new int[]{ - R.xml.devicesettings_transliteration - }; + Vector settings = new Vector(); + settings.add(R.xml.devicesettings_transliteration); + settings.add(R.xml.devicesettings_high_mtu); + if (BuildConfig.INTERNET_ACCESS) + settings.add(R.xml.devicesettings_device_internet_access); + settings.add(R.xml.devicesettings_device_intents); + // must be a better way of doing this? + int[] settingsInt = new int[settings.size()]; + for (int i=0; i iter = extra.keys(); + while (iter.hasNext()) { + String key = iter.next(); + in.putExtra(key, extra.getString(key)); + } + } + LOG.info("Sending intent " + action); + this.getContext().getApplicationContext().sendBroadcast(in); + } else { + uartTxJSONError("intent", "Android Intents not enabled, check Gadgetbridge Device Settings"); + } + } default : { LOG.info("UART RX JSON packet type '"+packetType+"' not understood."); } @@ -396,7 +427,7 @@ public class BangleJSDeviceSupport extends AbstractBTLEDeviceSupport { if (BangleJSConstants.UUID_CHARACTERISTIC_NORDIC_UART_RX.equals(characteristic.getUuid())) { byte[] chars = characteristic.getValue(); // check to see if we get more data - if so, increase out MTU for sending - if (chars.length > mtuSize) + if (allowHighMTU && chars.length > mtuSize) mtuSize = chars.length; String packetStr = new String(chars); LOG.info("RX: " + packetStr); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b4c78e916..e35a6b21c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -264,6 +264,10 @@ Enable this if your device has a custom font firmware for emoji support Allow high MTU Increases transfer speed, but might not work on some Android devices. + Allow Internet Access + Allow apps on this device to access the internet + Allow Intents + Allow apps on this device to send Android Intents Enables calendar alerts, even when disconnected Sync calendar events Relax firmware checks diff --git a/app/src/main/res/xml/devicesettings_device_intents.xml b/app/src/main/res/xml/devicesettings_device_intents.xml new file mode 100644 index 000000000..d30169584 --- /dev/null +++ b/app/src/main/res/xml/devicesettings_device_intents.xml @@ -0,0 +1,9 @@ + + + + diff --git a/app/src/main/res/xml/devicesettings_device_internet_access.xml b/app/src/main/res/xml/devicesettings_device_internet_access.xml new file mode 100644 index 000000000..a84b985b8 --- /dev/null +++ b/app/src/main/res/xml/devicesettings_device_internet_access.xml @@ -0,0 +1,9 @@ + + + +