diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/appmanager/AbstractAppManagerFragment.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/appmanager/AbstractAppManagerFragment.java
index de829d3df..3be595881 100644
--- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/appmanager/AbstractAppManagerFragment.java
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/appmanager/AbstractAppManagerFragment.java
@@ -55,6 +55,7 @@ import nodomain.freeyourgadget.gadgetbridge.R;
import nodomain.freeyourgadget.gadgetbridge.activities.ExternalPebbleJSActivity;
import nodomain.freeyourgadget.gadgetbridge.adapter.GBDeviceAppAdapter;
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
+import nodomain.freeyourgadget.gadgetbridge.devices.qhybrid.QHybridConstants;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceApp;
import nodomain.freeyourgadget.gadgetbridge.model.DeviceService;
@@ -129,6 +130,9 @@ public abstract class AbstractAppManagerFragment extends Fragment {
GBDeviceApp app = new GBDeviceApp(uuid, appName, appCreator, appVersion, appType, previewImage);
app.setOnDevice(true);
+ if ((mGBDevice.getType() == DeviceType.FOSSILQHYBRID) && (app.getType() == GBDeviceApp.Type.WATCHFACE) && (!QHybridConstants.HYBRIDHR_WATCHFACE_VERSION.equals(appVersion))) {
+ app.setUpToDate(false);
+ }
if (filterApp(app)) {
appList.add(app);
}
@@ -201,7 +205,11 @@ public abstract class AbstractAppManagerFragment extends Fragment {
try {
String jsonstring = FileUtils.getStringFromFile(jsonFile);
JSONObject json = new JSONObject(jsonstring);
- cachedAppList.add(new GBDeviceApp(json, configFile.exists(), getAppPreviewImage(baseName)));
+ GBDeviceApp app = new GBDeviceApp(json, configFile.exists(), getAppPreviewImage(baseName));
+ if ((mGBDevice.getType() == DeviceType.FOSSILQHYBRID) && (app.getType() == GBDeviceApp.Type.WATCHFACE) && (!QHybridConstants.HYBRIDHR_WATCHFACE_VERSION.equals(app.getVersion()))) {
+ app.setUpToDate(false);
+ }
+ cachedAppList.add(app);
} catch (Exception e) {
LOG.info("could not read json file for " + baseName);
if (mGBDevice.getType() == DeviceType.PEBBLE) {
diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/GBDeviceAppAdapter.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/GBDeviceAppAdapter.java
index b41c0ba73..34b58fe2f 100644
--- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/GBDeviceAppAdapter.java
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/GBDeviceAppAdapter.java
@@ -87,6 +87,11 @@ public class GBDeviceAppAdapter extends RecyclerView.Adapter. */
+package nodomain.freeyourgadget.gadgetbridge.devices.qhybrid;
+
+public final class QHybridConstants {
+ public static final String HYBRIDHR_WATCHFACE_VERSION = "1.1";
+}
diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/impl/GBDeviceApp.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/impl/GBDeviceApp.java
index 8e27b2f1c..454ae2796 100644
--- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/impl/GBDeviceApp.java
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/impl/GBDeviceApp.java
@@ -34,6 +34,7 @@ public class GBDeviceApp {
private boolean isOnDevice;
private final boolean configurable;
private final Bitmap previewImage;
+ private boolean isUpToDate = true;
public GBDeviceApp(UUID uuid, String name, String creator, String version, Type type, Bitmap previewImage) {
this.uuid = uuid;
@@ -151,4 +152,12 @@ public class GBDeviceApp {
public boolean isConfigurable() {
return configurable;
}
+
+ public void setUpToDate(boolean isUpToDate) {
+ this.isUpToDate = isUpToDate;
+ }
+
+ public boolean isUpToDate() {
+ return isUpToDate;
+ }
}
diff --git a/app/src/main/res/layout/item_appmanager_watchapp.xml b/app/src/main/res/layout/item_appmanager_watchapp.xml
index 5d88ed4c6..cc1ae2421 100644
--- a/app/src/main/res/layout/item_appmanager_watchapp.xml
+++ b/app/src/main/res/layout/item_appmanager_watchapp.xml
@@ -61,12 +61,26 @@
android:text="Item Name"
android:textAppearance="@style/TextAppearance.AppCompat.Subhead" />
-
+ android:orientation="horizontal">
+
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 0ca1da99c..c66f38a74 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -96,6 +96,7 @@
Install the Weather Notification app
Configure
Move to top
+ (outdated)
Notification settings
Blacklist all for notifications