Skip to content

Commit 293a4a6

Browse files
committed
Fix reported issue with glance
1 parent e7f653a commit 293a4a6

File tree

5 files changed

+64
-50
lines changed

5 files changed

+64
-50
lines changed

Source/source-generated/BikeLightsGlanceView.HighResolution.mc

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -288,16 +288,13 @@ class BikeLightsGlanceView extends WatchUi.GlanceView {
288288
}
289289

290290
private function updateLightTextAndMode(lightData, mode) {
291-
lightData[1] = getLightText(lightData[0].type, mode, lightData[2]);
292-
}
293-
294-
private function releaseLights() {
295-
_initializedLights = 0;
296-
_headlightData[0] = null;
297-
_taillightData[0] = null;
298-
}
291+
var light = lightData[0];
292+
if (light == null) {
293+
return;
294+
}
299295

300-
private function getLightText(lightType, mode, lightModes) {
296+
var lightType = light.type;
297+
var lightModes = lightData[2];
301298
var lightModeCharacter = "";
302299
if (mode < 0) {
303300
lightModeCharacter = "X";
@@ -310,7 +307,13 @@ class BikeLightsGlanceView extends WatchUi.GlanceView {
310307
: $.lightModeCharacters[index];
311308
}
312309

313-
return lightType == (_invertLights ? 2 /* LIGHT_TYPE_TAILLIGHT */ : 0 /* LIGHT_TYPE_HEADLIGHT */) ? lightModeCharacter + ")" : "(" + lightModeCharacter;
310+
lightData[1] = lightType == (_invertLights ? 2 /* LIGHT_TYPE_TAILLIGHT */ : 0 /* LIGHT_TYPE_HEADLIGHT */) ? lightModeCharacter + ")" : "(" + lightModeCharacter;
311+
}
312+
313+
private function releaseLights() {
314+
_initializedLights = 0;
315+
_headlightData[0] = null;
316+
_taillightData[0] = null;
314317
}
315318

316319
private function getLightData(lightType) {

Source/source-generated/BikeLightsGlanceView.MediumResolution.mc

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -288,16 +288,13 @@ class BikeLightsGlanceView extends WatchUi.GlanceView {
288288
}
289289

290290
private function updateLightTextAndMode(lightData, mode) {
291-
lightData[1] = getLightText(lightData[0].type, mode, lightData[2]);
292-
}
293-
294-
private function releaseLights() {
295-
_initializedLights = 0;
296-
_headlightData[0] = null;
297-
_taillightData[0] = null;
298-
}
291+
var light = lightData[0];
292+
if (light == null) {
293+
return;
294+
}
299295

300-
private function getLightText(lightType, mode, lightModes) {
296+
var lightType = light.type;
297+
var lightModes = lightData[2];
301298
var lightModeCharacter = "";
302299
if (mode < 0) {
303300
lightModeCharacter = "X";
@@ -310,7 +307,13 @@ class BikeLightsGlanceView extends WatchUi.GlanceView {
310307
: $.lightModeCharacters[index];
311308
}
312309

313-
return lightType == (_invertLights ? 2 /* LIGHT_TYPE_TAILLIGHT */ : 0 /* LIGHT_TYPE_HEADLIGHT */) ? lightModeCharacter + ")" : "(" + lightModeCharacter;
310+
lightData[1] = lightType == (_invertLights ? 2 /* LIGHT_TYPE_TAILLIGHT */ : 0 /* LIGHT_TYPE_HEADLIGHT */) ? lightModeCharacter + ")" : "(" + lightModeCharacter;
311+
}
312+
313+
private function releaseLights() {
314+
_initializedLights = 0;
315+
_headlightData[0] = null;
316+
_taillightData[0] = null;
314317
}
315318

316319
private function getLightData(lightType) {

Source/source-generated/BikeLightsView.TouchRectangle.mc

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -544,7 +544,7 @@ class BikeLightsView extends WatchUi.View {
544544
var totalButtonGroups = panelData[0];
545545
var tapX = location[0];
546546
var tapY = location[1];
547-
var groupIndex = 7;
547+
var groupIndex = 8;
548548
while (groupIndex < panelData.size()) {
549549
var totalButtons = panelData[groupIndex];
550550
// All buttons in the group have the same y and height, take the first one
@@ -885,6 +885,7 @@ class BikeLightsView extends WatchUi.View {
885885
data.add(totalButtonGroups); // Total button groups
886886
data.add(lightType == 0 /* LIGHT_TYPE_HEADLIGHT */ ? "Headlight" : "Taillight"); // Light name
887887
data.add(0 /* Activity color */); // Button color
888+
data.add(0xFFFFFF /* White */); // Button text color
888889
for (var i = 0; i < totalButtonGroups; i++) {
889890
var mode = capableModes[i];
890891
var totalGroupButtons = mode == 0 /* Off */ ? 2 : 1; // Number of buttons;
@@ -927,17 +928,17 @@ class BikeLightsView extends WatchUi.View {
927928

928929
var i;
929930
var totalButtonGroups = panelSettings[1];
930-
// [:TotalButtonGroups:, :LightName:, :ButtonColor:, :LightNameX:, :LightNameY:, :BatteryX:, :BatteryY:, (<ButtonGroup>)+]
931+
// [:TotalButtonGroups:, :LightName:, :ButtonColor:, :ButtonTextColor:, :LightNameX:, :LightNameY:, :BatteryX:, :BatteryY:, (<ButtonGroup>)+]
931932
// <ButtonGroup> := [:NumberOfButtons:, :Mode:, :TitleX:, :TitleFont:, (<TitlePart>)+, :ButtonLeftX:, :ButtonTopY:, :ButtonWidth:, :ButtonHeight:){:NumberOfButtons:} ]
932933
// <TitlePart> := [(:Title:, :TitleY:)+]
933-
var panelData = new [7 + (8 * panelSettings[0]) + totalButtonGroups];
934+
var panelData = new [8 + (8 * panelSettings[0]) + totalButtonGroups];
934935
panelData[0] = totalButtonGroups;
935936
var buttonHeight = (height - 20 /* Battery */).toFloat() / totalButtonGroups;
936937
var fontResult = [0];
937938
var buttonPadding = margin * 2;
938939
var textPadding = margin * 4;
939-
var groupIndex = 7;
940-
var settingsGroupIndex = 4;
940+
var groupIndex = 8;
941+
var settingsGroupIndex = 5;
941942
for (i = 0; i < totalButtonGroups; i++) {
942943
var totalButtons = panelSettings[settingsGroupIndex];
943944
var buttonWidth = buttonGroupWidth / totalButtons;
@@ -990,11 +991,12 @@ class BikeLightsView extends WatchUi.View {
990991
var lightNameHeight = dc.getFontHeight(1);
991992
var lightNameTopPadding = StringHelper.getFontTopPadding(1, fontTopPaddings);
992993
panelData[1] = lightName; // Light name
993-
panelData[2] = panelSettings[3] == 0 ? _activityColor : panelSettings[3]; // Button color
994-
panelData[3] = x - (_batteryWidth / 2) - (margin / 2); // Light name x
995-
panelData[4] = y + ((20 - lightNameHeight - lightNameTopPadding) / 2); // Light name y
996-
panelData[5] = x + (lightNameWidth / 2) + (margin / 2); // Battery x
997-
panelData[6] = y - 1; // Battery y
994+
panelData[2] = panelSettings[3] == 0 ? _activityColor : panelSettings[3]; // Button color
995+
panelData[3] = panelSettings[4]; // Button text color
996+
panelData[4] = x - (_batteryWidth / 2) - (margin / 2); // Light name x
997+
panelData[5] = y + ((20 - lightNameHeight - lightNameTopPadding) / 2); // Light name y
998+
panelData[6] = x + (lightNameWidth / 2) + (margin / 2); // Battery x
999+
panelData[7] = y - 1; // Battery y
9981000

9991001
if (light.type == 0 /* LIGHT_TYPE_HEADLIGHT */) {
10001002
_headlightPanel = panelData;
@@ -1015,11 +1017,11 @@ class BikeLightsView extends WatchUi.View {
10151017
return;
10161018
}
10171019

1018-
// [:TotalButtonGroups:, :LightName:, :ButtonColor:, :LightNameX:, :LightNameY:, :BatteryX:, :BatteryY:, (<ButtonGroup>)+]
1020+
// [:TotalButtonGroups:, :LightName:, :ButtonColor:, :ButtonTextColor:, :LightNameX:, :LightNameY:, :BatteryX:, :BatteryY:, (<ButtonGroup>)+]
10191021
// <ButtonGroup> := [:NumberOfButtons:, :Mode:, :TitleX:, :TitleFont:, (<TitlePart>)+, :ButtonLeftX:, :ButtonTopY:, :ButtonWidth:, :ButtonHeight:){:NumberOfButtons:} ]
10201022
// <TitlePart> := [(:Title:, :TitleY:)+]
10211023
var totalButtonGroups = panelData[0];
1022-
var groupIndex = 7;
1024+
var groupIndex = 8;
10231025
for (var i = 0; i < totalButtonGroups; i++) {
10241026
var totalButtons = panelData[groupIndex];
10251027
for (var j = 0; j < totalButtons; j++) {
@@ -1039,7 +1041,7 @@ class BikeLightsView extends WatchUi.View {
10391041
dc.fillRoundedRectangle(buttonX, buttonY, buttonWidth, buttonHeight, 8);
10401042
setTextColor(dc, isNext ? bgColor : fgColor);
10411043
dc.drawRoundedRectangle(buttonX, buttonY, buttonWidth, buttonHeight, 8);
1042-
setTextColor(dc, isSelected ? 0xFFFFFF /* COLOR_WHITE */ : isNext ? bgColor : fgColor);
1044+
setTextColor(dc, isSelected ? panelData[3] : isNext ? bgColor : fgColor);
10431045
if (mode < 0) {
10441046
dc.drawText(titleX, titleParts[1], titleFont, $.controlModes[controlMode], 1 /* TEXT_JUSTIFY_CENTER */);
10451047
} else {
@@ -1054,10 +1056,10 @@ class BikeLightsView extends WatchUi.View {
10541056

10551057
setTextColor(dc, fgColor);
10561058
if (panelData[1] != null) {
1057-
dc.drawText(panelData[3], panelData[4], 1, panelData[1], 1 /* TEXT_JUSTIFY_CENTER */);
1059+
dc.drawText(panelData[4], panelData[5], 1, panelData[1], 1 /* TEXT_JUSTIFY_CENTER */);
10581060
}
10591061

1060-
drawBattery(dc, fgColor, panelData[5], panelData[6], batteryStatus);
1062+
drawBattery(dc, fgColor, panelData[6], panelData[7], batteryStatus);
10611063
}
10621064

10631065
(:lightButtons)
@@ -1207,7 +1209,7 @@ class BikeLightsView extends WatchUi.View {
12071209
return data;
12081210
}
12091211

1210-
// <TotalButtons>,<TotalButtonGroups>:<LightName>:<ButtonColor>|[<ButtonGroup>| ...]
1212+
// <TotalButtons>,<TotalButtonGroups>:<LightName>:<ButtonColor>:<ButtonTextColor>|[<ButtonGroup>| ...]
12111213
// <ButtonGroup> := <ButtonsNumber>,[<Button>, ...]
12121214
// <Button> := <ModeTitle>:<LightMode>
12131215
// Example: 7,6:Ion Pro RT|2,:-1,Off:0|1,High:1|1,Medium:2|1,Low:5|1,Night Flash:62|1,Day Flash:63
@@ -1218,18 +1220,21 @@ class BikeLightsView extends WatchUi.View {
12181220
}
12191221

12201222
var totalButtonGroups = parse(1 /* NUMBER */, chars, null, filterResult);
1221-
// [:TotalButtons:, :TotalButtonGroups:, :LightName:, :ButtonColor:, (<ButtonGroup>)+]
1223+
// [:TotalButtons:, :TotalButtonGroups:, :LightName:, :ButtonColor:, :ButtonTextColor:, (<ButtonGroup>)+]
12221224
// <ButtonGroup> = :NumberOfButtons:, (<Button>){:NumberOfButtons:})
12231225
// <Button> = :Mode:, :Title:
1224-
var data = new [4 + (2 * totalButtons) + totalButtonGroups];
1226+
var data = new [5 + (2 * totalButtons) + totalButtonGroups];
12251227
data[0] = totalButtons;
12261228
data[1] = totalButtonGroups;
12271229
data[2] = parse(0 /* STRING */, chars, null, filterResult);
12281230
data[3] = chars[filterResult[0]] == ':'
12291231
? parse(1 /* NUMBER */, chars, null, filterResult)
12301232
: 0 /* Activity color */; // Old configuration
1233+
data[4] = chars[filterResult[0]] == ':'
1234+
? parse(1 /* NUMBER */, chars, null, filterResult)
1235+
: 0xFFFFFF /* White */; // Old configuration
12311236
i = filterResult[0];
1232-
var dataIndex = 4;
1237+
var dataIndex = 5;
12331238

12341239
while (i < chars.size()) {
12351240
var char = chars[i];

Source/source-preprocess/BikeLightsGlanceView.mc

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -288,16 +288,13 @@ class BikeLightsGlanceView extends WatchUi.GlanceView {
288288
}
289289

290290
private function updateLightTextAndMode(lightData, mode) {
291-
lightData[1] = getLightText(lightData[0].type, mode, lightData[2]);
292-
}
293-
294-
private function releaseLights() {
295-
_initializedLights = 0;
296-
_headlightData[0] = null;
297-
_taillightData[0] = null;
298-
}
291+
var light = lightData[0];
292+
if (light == null) {
293+
return;
294+
}
299295

300-
private function getLightText(lightType, mode, lightModes) {
296+
var lightType = light.type;
297+
var lightModes = lightData[2];
301298
var lightModeCharacter = "";
302299
if (mode < 0) {
303300
lightModeCharacter = "X";
@@ -310,7 +307,13 @@ class BikeLightsGlanceView extends WatchUi.GlanceView {
310307
: $.lightModeCharacters[index];
311308
}
312309

313-
return lightType == (_invertLights ? 2 /* LIGHT_TYPE_TAILLIGHT */ : 0 /* LIGHT_TYPE_HEADLIGHT */) ? lightModeCharacter + ")" : "(" + lightModeCharacter;
310+
lightData[1] = lightType == (_invertLights ? 2 /* LIGHT_TYPE_TAILLIGHT */ : 0 /* LIGHT_TYPE_HEADLIGHT */) ? lightModeCharacter + ")" : "(" + lightModeCharacter;
311+
}
312+
313+
private function releaseLights() {
314+
_initializedLights = 0;
315+
_headlightData[0] = null;
316+
_taillightData[0] = null;
314317
}
315318

316319
private function getLightData(lightType) {

0 commit comments

Comments
 (0)