diff --git a/CHANGELOG.md b/CHANGELOG.md index 0c8c6f703..ce785d9d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ ###Changelog +####Next Version +* Pebble: Allow installing apps compiled with SDK 2.x also on the balast platform (Time, Time Steel) + ####Version 0.6.9 * Pebble: Store app details in pbw-cache and display them in app manager on firmware 3.x * Pebble: Increase maximum notification body length from 255 to 512 bytes on firmware 3.x diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/pebble/PBWReader.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/pebble/PBWReader.java index 38811e656..e1a43ce56 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/pebble/PBWReader.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/pebble/PBWReader.java @@ -96,16 +96,21 @@ public class PBWReader { if (!uri.toString().endsWith(".pbz")) { platformDir = platform + "/"; - if (platform.equals("aplite")) { - boolean hasApliteDir = false; + /* + * for aplite and basalt it is possible to install 2.x apps which have no subfolder + * we still prefer the subfolders if present. + * chalk needs to be its subfolder + */ + if (platform.equals("aplite") || platform.equals("basalt")) { + boolean hasPlatformDir = false; InputStream afin = new BufferedInputStream(cr.openInputStream(uri)); ZipInputStream zis = new ZipInputStream(afin); ZipEntry ze; try { while ((ze = zis.getNextEntry()) != null) { - if (ze.getName().startsWith("aplite/")) { - hasApliteDir = true; + if (ze.getName().startsWith(platformDir)) { + hasPlatformDir = true; break; } } @@ -114,7 +119,7 @@ public class PBWReader { e.printStackTrace(); } - if (!hasApliteDir) { + if (!hasPlatformDir) { platformDir = ""; } }