diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/DeviceCandidateAdapter.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/DeviceCandidateAdapter.java index 8c17cca77..a7ae9ef3f 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/DeviceCandidateAdapter.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/DeviceCandidateAdapter.java @@ -80,6 +80,9 @@ public class DeviceCandidateAdapter extends ArrayAdapter { } DeviceCoordinator coordinator = DeviceHelper.getInstance().getCoordinator(device); + if (coordinator.isExperimental()) { + statusLines.add(getContext().getString(R.string.device_experimental)); + } if (coordinator.getBondingStyle() == DeviceCoordinator.BONDING_STYLE_REQUIRE_KEY) { statusLines.add(getContext().getString(R.string.device_requires_key)); } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/AbstractDeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/AbstractDeviceCoordinator.java index 427b85d7e..e6f29ef89 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/AbstractDeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/AbstractDeviceCoordinator.java @@ -258,6 +258,11 @@ public abstract class AbstractDeviceCoordinator implements DeviceCoordinator { return BONDING_STYLE_ASK; } + @Override + public boolean isExperimental() { + return false; + } + @Override public boolean supportsActivityTracks() { return false; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/DeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/DeviceCoordinator.java index 9faa1178b..9ccc15e98 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/DeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/DeviceCoordinator.java @@ -410,6 +410,11 @@ public interface DeviceCoordinator { */ int getBondingStyle(); + /** + * Returns true if this device is in an experimental state / not tested. + */ + boolean isExperimental(); + /** * Indicates whether the device has some kind of calender we can sync to. * Also used for generated sunrise/sunset events diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 87d6291b6..f37802d18 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1581,6 +1581,7 @@ ALREADY BONDED KEY REQUIRED, LONG PRESS TO ENTER UNSUPPORTED + EXPERIMENTAL Starting the background service failed because of an exception. Error: Check permission status Check and ask for missing permissions even when they might not be instantly needed. Disable this only if your devices actually doesn\'t support any of these features. Not granting a permission might cause issues!