diff --git a/app/build.gradle b/app/build.gradle index e282b9035..513f1e0ad 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -288,7 +288,7 @@ dependencies { implementation 'com.google.firebase:firebase-messaging:15.0.0' // implementation 'com.google.android.gms:play-services-maps:15.0.0' implementation 'com.google.android.gms:play-services-wearable:15.0.0' - implementation 'com.google.android.gms:play-services-location:15.0.0' + implementation 'com.google.android.gms:play-services-location:16.0.0' implementation "androidx.work:work-runtime:2.9.1" implementation "com.google.android.gms:play-services-oss-licenses:15.0.0" implementation "com.google.protobuf:protobuf-java:4.27.2" diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/pebble/PebbleDisplayTrend.java b/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/pebble/PebbleDisplayTrend.java index bc7c97be5..4541ffd1f 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/pebble/PebbleDisplayTrend.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/pebble/PebbleDisplayTrend.java @@ -172,11 +172,18 @@ private void evaluateDataFromPebble(PebbleDictionary data) { Log.d(TAG, "receiveData: pebble_sync_value=" + pebble_sync_value + ", pebble_platform=" + pebble_platform + ", pebble_app_version=" + pebble_app_version); switch ((int) pebble_platform) { - case 0: - if (PebbleUtil.pebbleDisplayType != PebbleDisplayType.TrendClassic) { - PebbleUtil.pebbleDisplayType = PebbleDisplayType.TrendClassic; + case 6: + if (PebbleUtil.pebbleDisplayType != PebbleDisplayType.TrendClayClassic) { + PebbleUtil.pebbleDisplayType = PebbleDisplayType.TrendClayClassic; //JoH.static_toast_short("Switching to Pebble Classic Trend"); - Log.d(TAG, "Changing to Classic Trend due to platform id"); + Log.d(TAG, "Changing to Classic Trend due to platform id" + pebble_platform); + } + break; + case 5: + if (PebbleUtil.pebbleDisplayType != PebbleDisplayType.TrendClay) { + PebbleUtil.pebbleDisplayType = PebbleDisplayType.TrendClay; + //JoH.static_toast_short("Switching to Pebble Classic Trend"); + Log.d(TAG, "Changing to Clay Trend due to platform id " + pebble_platform); } break; } @@ -307,6 +314,10 @@ && getBooleanValue("pebble_show_bwp")) { } private synchronized void sendTrendToPebble(boolean clearTrend) { + int width; + int height; + short resolution; + boolean colour; //create a sparkline bitmap to send to the pebble final Bitmap blankTrend; @@ -344,13 +355,28 @@ private synchronized void sendTrendToPebble(boolean clearTrend) { } - Log.d(TAG, "sendTrendToPebble: highLine is " + highLine + ", lowLine is " + lowLine + ",trendPeriod is " + trendPeriod); + Log.d(TAG, "sendTrendToPebble: highLine is " + highLine + ", lowLine is " + lowLine + ",trendPeriod is " + trendPeriod + ", pebbleDisplayType is " + PebbleUtil.pebbleDisplayType); + if(PebbleUtil.pebbleDisplayType == PebbleDisplayType.TrendClayClassic) + { + width = 100; + height = 40; + resolution = 2; + colour = false; + } + else + { + width = 144; + height = 84; + resolution = 16; + colour = true; + } + Log.d(TAG, "sendTrendToPebble: width is "+ width +", height is "+ height +", resolution is "+resolution + ", pebbleDisplayType is " +PebbleUtil.pebbleDisplayType); Bitmap bgTrend = new BgSparklineBuilder(this.context) .setBgGraphBuilder(this.bgGraphBuilder) .setStart(System.currentTimeMillis() - 60000 * 60 * trendPeriod) .setEnd(System.currentTimeMillis()) - .setHeightPx(PebbleUtil.pebbleDisplayType == PebbleDisplayType.TrendClassic ? 63 : 84) // 84 - .setWidthPx(PebbleUtil.pebbleDisplayType == PebbleDisplayType.TrendClassic ? 84 : 144) // 144 + .setHeightPx(height) // 84 + .setWidthPx(width) // 144 .showHighLine(highLine) .showLowLine(lowLine) .setTinyDots(Pref.getBoolean("pebble_tiny_dots", false)) @@ -359,7 +385,7 @@ private synchronized void sendTrendToPebble(boolean clearTrend) { //encode the trend bitmap as a PNG - final byte[] img = SimpleImageEncoder.encodeBitmapAsPNG(clearTrend ? blankTrend : bgTrend, true, PebbleUtil.pebbleDisplayType == PebbleDisplayType.TrendClassic ? 2 : 16, true); + final byte[] img = SimpleImageEncoder.encodeBitmapAsPNG(clearTrend ? blankTrend : bgTrend, colour, resolution, true); if (debugPNG) { try { diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/pebble/PebbleDisplayType.java b/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/pebble/PebbleDisplayType.java index 166bb319d..8f468de6c 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/pebble/PebbleDisplayType.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/pebble/PebbleDisplayType.java @@ -9,6 +9,7 @@ public enum PebbleDisplayType { Standard, Trend, TrendClassic, - TrendClay; + TrendClay, + TrendClayClassic; } diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/pebble/PebbleWatchSync.java b/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/pebble/PebbleWatchSync.java index a3244f794..99c8da1c7 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/pebble/PebbleWatchSync.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/pebble/PebbleWatchSync.java @@ -90,6 +90,7 @@ private void initPebbleDisplays() { pebbleDisplays.put(PebbleDisplayType.Trend, new PebbleDisplayTrendOld()); pebbleDisplays.put(PebbleDisplayType.TrendClassic, new PebbleDisplayTrendOld()); pebbleDisplays.put(PebbleDisplayType.TrendClay, new PebbleDisplayTrend()); + pebbleDisplays.put(PebbleDisplayType.TrendClayClassic, new PebbleDisplayTrend()); } for (PebbleDisplayInterface pdi : pebbleDisplays.values()) { diff --git a/app/src/main/res/raw/xdrip_pebble2.bin b/app/src/main/res/raw/xdrip_pebble2.bin index ba36de0e3..d26fc154b 100644 Binary files a/app/src/main/res/raw/xdrip_pebble2.bin and b/app/src/main/res/raw/xdrip_pebble2.bin differ