diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6f7ee0568b..230797d5ef 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,7 +5,7 @@
* Initial support for Garmin Descent Mk3
* Initial support for Redmi Watch 5
* Initial support for Yawell rings R10 and R11
-* Initial support for ATC_TLSR_Paper (experimental)
+* Initial support for ATC_BLE_OEPL (experimental)
* Experimental support for Amazfit Balance 2
* CMF Watch Pro: Firmware update
* Fossil/Skagen Hybrids: Add calendar support
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 f64f747c46..fe6fd50bbc 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
@@ -650,7 +650,7 @@ public class DeviceSettingsPreferenceConst {
public static final String PREF_DEVICE_STRESS_TEST_CONNECT_PARALLEL = "pref_device_stress_test_connect_parallel";
public static final String PREF_DEVICE_STRESS_TEST_DISPOSE = "pref_device_stress_test_dispose";
- public static final String PREF_ATC_TLSR_PAPER_MODEL = "pref_atc_tlsr_paper_model";
- public static final String PREF_ATC_TLSR_PAPER_BLE_ADV_INTERVAL = "pref_atc_tlsr_paper_ble_adv_interval";
- public static final String PREF_ATC_TLSR_PAPER_OEPL_PROTOCOL_ENABLE = "pref_atc_tlsr_paper_oepl_protocol_enable";
+ public static final String PREF_ATC_BLE_OEPL_MODEL = "pref_atc_ble_oepl_model";
+ public static final String PREF_ATC_BLE_OEPL_BLE_ADV_INTERVAL = "pref_atc_ble_oepl_ble_adv_interval";
+ public static final String PREF_ATC_BLE_OEPL_OEPL_PROTOCOL_ENABLE = "pref_atc_ble_oepl_oepl_protocol_enable";
}
diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSpecificSettingsFragment.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSpecificSettingsFragment.java
index 3ac85c4ed4..886cb211b5 100644
--- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSpecificSettingsFragment.java
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSpecificSettingsFragment.java
@@ -967,9 +967,9 @@ public class DeviceSpecificSettingsFragment extends AbstractPreferenceFragment i
addPreferenceHandlerFor(PREF_CALENDAR_MAX_DESC_LENGTH);
addPreferenceHandlerFor(PREF_CALENDAR_TARGET_APP);
- addPreferenceHandlerFor(PREF_ATC_TLSR_PAPER_MODEL);
- addPreferenceHandlerFor(PREF_ATC_TLSR_PAPER_BLE_ADV_INTERVAL);
- addPreferenceHandlerFor(PREF_ATC_TLSR_PAPER_OEPL_PROTOCOL_ENABLE);
+ addPreferenceHandlerFor(PREF_ATC_BLE_OEPL_MODEL);
+ addPreferenceHandlerFor(PREF_ATC_BLE_OEPL_BLE_ADV_INTERVAL);
+ addPreferenceHandlerFor(PREF_ATC_BLE_OEPL_OEPL_PROTOCOL_ENABLE);
final Preference dischargeIntervalsSet = findPreference(PREF_BATTERY_DISCHARGE_INTERVALS_SET);
if (dischargeIntervalsSet != null) {
diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/atctlsrpaper/ATCTLSRPaperCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/atcbleoepl/ATCBLEOEPLCoordinator.java
similarity index 79%
rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/atctlsrpaper/ATCTLSRPaperCoordinator.java
rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/atcbleoepl/ATCBLEOEPLCoordinator.java
index b6727fb6dc..406fb1f21b 100644
--- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/atctlsrpaper/ATCTLSRPaperCoordinator.java
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/atcbleoepl/ATCBLEOEPLCoordinator.java
@@ -15,7 +15,7 @@
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see . */
-package nodomain.freeyourgadget.gadgetbridge.devices.atctlsrpaper;
+package nodomain.freeyourgadget.gadgetbridge.devices.atcbleoepl;
import android.bluetooth.le.ScanFilter;
import android.content.Context;
@@ -33,12 +33,12 @@ import nodomain.freeyourgadget.gadgetbridge.devices.AbstractDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport;
-import nodomain.freeyourgadget.gadgetbridge.service.devices.atctlsrpaper.ATCTLSRPaperDeviceSupport;
+import nodomain.freeyourgadget.gadgetbridge.service.devices.atcbleoepl.ATCBLEOEPLDeviceSupport;
-public class ATCTLSRPaperCoordinator extends AbstractDeviceCoordinator {
+public class ATCBLEOEPLCoordinator extends AbstractDeviceCoordinator {
@Override
public int getDeviceNameResource() {
- return R.string.devicetype_atc_tlsr_paper;
+ return R.string.devicetype_atc_ble_oepl;
}
@Override
@@ -54,7 +54,7 @@ public class ATCTLSRPaperCoordinator extends AbstractDeviceCoordinator {
@NonNull
@Override
public Class extends DeviceSupport> getDeviceSupportClass(final GBDevice device) {
- return ATCTLSRPaperDeviceSupport.class;
+ return ATCBLEOEPLDeviceSupport.class;
}
@Override
@@ -65,8 +65,8 @@ public class ATCTLSRPaperCoordinator extends AbstractDeviceCoordinator {
@NonNull
@Override
public Collection extends ScanFilter> createBLEScanFilters() {
- ParcelUuid ATCTLSRPaperService = new ParcelUuid(ATCTLSRPaperDeviceSupport.UUID_SERVICE_MAIN);
- ScanFilter filter = new ScanFilter.Builder().setServiceUuid(ATCTLSRPaperService).build();
+ ParcelUuid ATCBLEOEPLService = new ParcelUuid(ATCBLEOEPLDeviceSupport.UUID_SERVICE_MAIN);
+ ScanFilter filter = new ScanFilter.Builder().setServiceUuid(ATCBLEOEPLService).build();
return Collections.singletonList(filter);
}
@@ -77,14 +77,14 @@ public class ATCTLSRPaperCoordinator extends AbstractDeviceCoordinator {
@Override
public InstallHandler findInstallHandler(final Uri uri, final Context context) {
- ATCTLSRPaperInstallHandler installHandler = new ATCTLSRPaperInstallHandler(uri, context);
+ ATCBLEOEPLInstallHandler installHandler = new ATCBLEOEPLInstallHandler(uri, context);
return installHandler.isValid() ? installHandler : null;
}
@Override
public int[] getSupportedDeviceSpecificSettings(GBDevice device) {
return new int[]{
- R.xml.devicesettings_atc_trsr_paper
+ R.xml.devicesettings_atc_ble_oepl
};
}
}
diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/atctlsrpaper/ATCTLSRPaperInstallHandler.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/atcbleoepl/ATCBLEOEPLInstallHandler.java
similarity index 87%
rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/atctlsrpaper/ATCTLSRPaperInstallHandler.java
rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/atcbleoepl/ATCBLEOEPLInstallHandler.java
index 2641c4ad48..0ec4db4080 100644
--- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/atctlsrpaper/ATCTLSRPaperInstallHandler.java
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/atcbleoepl/ATCBLEOEPLInstallHandler.java
@@ -15,7 +15,7 @@
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see . */
-package nodomain.freeyourgadget.gadgetbridge.devices.atctlsrpaper;
+package nodomain.freeyourgadget.gadgetbridge.devices.atcbleoepl;
import android.content.Context;
import android.net.Uri;
@@ -24,11 +24,11 @@ import nodomain.freeyourgadget.gadgetbridge.activities.InstallActivity;
import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
-public class ATCTLSRPaperInstallHandler implements InstallHandler {
+public class ATCBLEOEPLInstallHandler implements InstallHandler {
private final Context mContext;
private final Uri mUri;
- public ATCTLSRPaperInstallHandler(Uri uri, Context context) {
+ public ATCBLEOEPLInstallHandler(Uri uri, Context context) {
mContext = context;
mUri = uri;
}
diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java
index 1f7bfbd9b9..a6e2e85e8a 100644
--- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java
@@ -31,7 +31,7 @@ import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.UnknownDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.aawireless.AAWirelessCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.asteroidos.AsteroidOSDeviceCoordinator;
-import nodomain.freeyourgadget.gadgetbridge.devices.atctlsrpaper.ATCTLSRPaperCoordinator;
+import nodomain.freeyourgadget.gadgetbridge.devices.atcbleoepl.ATCBLEOEPLCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.bandwpseries.BandWPSeriesDeviceCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.banglejs.BangleJSCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.binary_sensor.coordinator.BinarySensorCoordinator;
@@ -725,7 +725,7 @@ public enum DeviceType {
GENERIC_HEADPHONES(GenericHeadphonesCoordinator.class),
TEST(TestDeviceCoordinator.class),
ULTRAHUMAN_RING_AIR(UltrahumanDeviceCoordinator.class),
- ATC_TLSR_PAPER(ATCTLSRPaperCoordinator.class);
+ ATC_BLE_OEPL(ATCBLEOEPLCoordinator.class);
private DeviceCoordinator coordinator;
diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/atctlsrpaper/ATCTLSRPaperDeviceSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/atcbleoepl/ATCBLEOEPLDeviceSupport.java
similarity index 93%
rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/atctlsrpaper/ATCTLSRPaperDeviceSupport.java
rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/atcbleoepl/ATCBLEOEPLDeviceSupport.java
index 1cd608e482..47ed245705 100644
--- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/atctlsrpaper/ATCTLSRPaperDeviceSupport.java
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/atcbleoepl/ATCBLEOEPLDeviceSupport.java
@@ -15,7 +15,7 @@
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see . */
-package nodomain.freeyourgadget.gadgetbridge.service.devices.atctlsrpaper;
+package nodomain.freeyourgadget.gadgetbridge.service.devices.atcbleoepl;
import android.bluetooth.BluetoothGatt;
import android.bluetooth.BluetoothGattCharacteristic;
@@ -54,10 +54,10 @@ import nodomain.freeyourgadget.gadgetbridge.util.GB;
import nodomain.freeyourgadget.gadgetbridge.util.StringUtils;
import nodomain.freeyourgadget.gadgetbridge.util.UriHelper;
-public class ATCTLSRPaperDeviceSupport extends AbstractBTLESingleDeviceSupport {
+public class ATCBLEOEPLDeviceSupport extends AbstractBTLESingleDeviceSupport {
public static final UUID UUID_SERVICE_MAIN = UUID.fromString("00001337-0000-1000-8000-00805f9b34fb");
public static final UUID UUID_CHARACTERISTIC_MAIN = UUID.fromString("00001337-0000-1000-8000-00805f9b34fb");
- private static final Logger LOG = LoggerFactory.getLogger(ATCTLSRPaperDeviceSupport.class);
+ private static final Logger LOG = LoggerFactory.getLogger(ATCBLEOEPLDeviceSupport.class);
private static final byte[] COMMAND_GET_CONFIGURATION = new byte[]{0x00, 0x05};
private static final byte[] COMMAND_ENABLE_OEPL = new byte[]{0x00, 0x06};
private static final byte[] COMMAND_DISABLE_OEPL = new byte[]{0x00, 0x07};
@@ -74,7 +74,7 @@ public class ATCTLSRPaperDeviceSupport extends AbstractBTLESingleDeviceSupport {
private int current_chunk = -1;
- public ATCTLSRPaperDeviceSupport() {
+ public ATCBLEOEPLDeviceSupport() {
super(LOG);
addSupportedService(UUID_SERVICE_MAIN);
}
@@ -255,9 +255,9 @@ public class ATCTLSRPaperDeviceSupport extends AbstractBTLESingleDeviceSupport {
LOG.info("decoded data: version={}, width={}, height={}, nr_colors={}, w/h swapped={}, model={} ble_adv_interval={}, oepl_enabled={}", version, epaper_width, epaper_height, epaper_colors, is_wh_swapped, model, ble_adv_interval, oepl_enabled);
SharedPreferences.Editor editor = GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()).edit();
- editor.putString(DeviceSettingsPreferenceConst.PREF_ATC_TLSR_PAPER_MODEL, String.valueOf(model));
- editor.putString(DeviceSettingsPreferenceConst.PREF_ATC_TLSR_PAPER_BLE_ADV_INTERVAL, String.valueOf(ble_adv_interval));
- editor.putBoolean(DeviceSettingsPreferenceConst.PREF_ATC_TLSR_PAPER_OEPL_PROTOCOL_ENABLE, oepl_enabled);
+ editor.putString(DeviceSettingsPreferenceConst.PREF_ATC_BLE_OEPL_MODEL, String.valueOf(model));
+ editor.putString(DeviceSettingsPreferenceConst.PREF_ATC_BLE_OEPL_BLE_ADV_INTERVAL, String.valueOf(ble_adv_interval));
+ editor.putBoolean(DeviceSettingsPreferenceConst.PREF_ATC_BLE_OEPL_OEPL_PROTOCOL_ENABLE, oepl_enabled);
editor.apply();
final TransactionBuilder builder = new TransactionBuilder("set initialized");
@@ -267,16 +267,16 @@ public class ATCTLSRPaperDeviceSupport extends AbstractBTLESingleDeviceSupport {
@Override
public void onSendConfiguration(String config) {
- if (DeviceSettingsPreferenceConst.PREF_ATC_TLSR_PAPER_MODEL.equals(config)
- || DeviceSettingsPreferenceConst.PREF_ATC_TLSR_PAPER_BLE_ADV_INTERVAL.equals(config)
- || DeviceSettingsPreferenceConst.PREF_ATC_TLSR_PAPER_OEPL_PROTOCOL_ENABLE.equals(config)
+ if (DeviceSettingsPreferenceConst.PREF_ATC_BLE_OEPL_MODEL.equals(config)
+ || DeviceSettingsPreferenceConst.PREF_ATC_BLE_OEPL_BLE_ADV_INTERVAL.equals(config)
+ || DeviceSettingsPreferenceConst.PREF_ATC_BLE_OEPL_OEPL_PROTOCOL_ENABLE.equals(config)
) {
TransactionBuilder builder;
SharedPreferences sharedPrefs = GBApplication.getDeviceSpecificSharedPrefs(getDevice().getAddress());
try {
builder = performInitialized("Sending configuration for option: " + config);
- if (DeviceSettingsPreferenceConst.PREF_ATC_TLSR_PAPER_MODEL.equals(config)) {
- String display_model = sharedPrefs.getString(DeviceSettingsPreferenceConst.PREF_ATC_TLSR_PAPER_MODEL, "1");
+ if (DeviceSettingsPreferenceConst.PREF_ATC_BLE_OEPL_MODEL.equals(config)) {
+ String display_model = sharedPrefs.getString(DeviceSettingsPreferenceConst.PREF_ATC_BLE_OEPL_MODEL, "1");
int model = Integer.parseInt(display_model);
if (model == 10000) {// HACK: this is for the HS 213 BWRY JD type
builder.write(getCharacteristic(UUID_CHARACTERISTIC_MAIN), COMMAND_CONFIGURE_HS_154_BWRY_JD);
@@ -284,13 +284,13 @@ public class ATCTLSRPaperDeviceSupport extends AbstractBTLESingleDeviceSupport {
builder.write(getCharacteristic(UUID_CHARACTERISTIC_MAIN), new byte[]{0x00, 0x04, 0x00, (byte) model});
}
}
- if (DeviceSettingsPreferenceConst.PREF_ATC_TLSR_PAPER_BLE_ADV_INTERVAL.equals(config)) {
- String bt_adv_interval = sharedPrefs.getString(DeviceSettingsPreferenceConst.PREF_ATC_TLSR_PAPER_BLE_ADV_INTERVAL, "1000");
+ if (DeviceSettingsPreferenceConst.PREF_ATC_BLE_OEPL_BLE_ADV_INTERVAL.equals(config)) {
+ String bt_adv_interval = sharedPrefs.getString(DeviceSettingsPreferenceConst.PREF_ATC_BLE_OEPL_BLE_ADV_INTERVAL, "1000");
int interval = Integer.parseInt(bt_adv_interval);
builder.write(getCharacteristic(UUID_CHARACTERISTIC_MAIN), new byte[]{0x00, 0x08, (byte) ((interval >> 8) & 0xff), (byte) (interval & 0xff)});
}
- if (DeviceSettingsPreferenceConst.PREF_ATC_TLSR_PAPER_OEPL_PROTOCOL_ENABLE.equals(config)) {
- boolean enable_oepl_protocol = sharedPrefs.getBoolean(DeviceSettingsPreferenceConst.PREF_ATC_TLSR_PAPER_OEPL_PROTOCOL_ENABLE, true);
+ if (DeviceSettingsPreferenceConst.PREF_ATC_BLE_OEPL_OEPL_PROTOCOL_ENABLE.equals(config)) {
+ boolean enable_oepl_protocol = sharedPrefs.getBoolean(DeviceSettingsPreferenceConst.PREF_ATC_BLE_OEPL_OEPL_PROTOCOL_ENABLE, true);
if (enable_oepl_protocol) {
builder.write(getCharacteristic(UUID_CHARACTERISTIC_MAIN), COMMAND_ENABLE_OEPL);
} else {
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index a2d95b2ab7..d1129fcd7b 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -4985,7 +4985,7 @@
- 90
-
+
- Gici 213 BW SSD
- Gici 213 BW ST
- Gici 213 BW UC
@@ -5039,7 +5039,7 @@
-
+
- 29
- 13
- 30
@@ -5091,7 +5091,7 @@
- 39
-
+
- 625ms
- 2000ms
- 2500ms
@@ -5102,7 +5102,7 @@
- 6250ms
-
+
- 1000
- 3200
- 4000
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index ff96a55d56..efeed970d6 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -2051,7 +2051,7 @@
Bowers and Wilkins P series
EarFun Air S
EarFun Air Pro 4
- ATC_TLSR_Paper
+ ATC_BLE_OEPL
Choose export location
General
High-priority
@@ -4085,8 +4085,8 @@
Target app on watch for calendar events
same image already on device
sending image
- Display Model
- BLE Advertising Interval
- Enable OEPL protocol
- Disable this if only using BLE to save power
+ Display Model
+ BLE Advertising Interval
+ Enable OEPL protocol
+ Disable this if only using BLE to save power
diff --git a/app/src/main/res/xml/devicesettings_atc_ble_oepl.xml b/app/src/main/res/xml/devicesettings_atc_ble_oepl.xml
new file mode 100644
index 0000000000..2990fdbaf4
--- /dev/null
+++ b/app/src/main/res/xml/devicesettings_atc_ble_oepl.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
diff --git a/app/src/main/res/xml/devicesettings_atc_trsr_paper.xml b/app/src/main/res/xml/devicesettings_atc_trsr_paper.xml
deleted file mode 100644
index cb68c8433f..0000000000
--- a/app/src/main/res/xml/devicesettings_atc_trsr_paper.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-