Skip to content

Commit c6c5669

Browse files
committed
Added thick timing ring feature
Also updated to use run activity type for better Strava compatibility.
1 parent 455eb97 commit c6c5669

8 files changed

Lines changed: 40 additions & 3 deletions

File tree

manifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<!-- This is a generated file. It is highly recommended that you DO NOT edit this file. --><iq:manifest xmlns:iq="http://www.garmin.com/xml/connectiq" version="3">
2-
<iq:application entry="RefWatchApp" id="62e70bab837e411496ffddb91a2e7e02" launcherIcon="@Drawables.LauncherIcon" minSdkVersion="3.0.0" name="@Strings.AppName" type="watch-app" version="0.3.1">
2+
<iq:application entry="RefWatchApp" id="62e70bab837e411496ffddb91a2e7e02" launcherIcon="@Drawables.LauncherIcon" minSdkVersion="3.0.0" name="@Strings.AppName" type="watch-app" version="0.4.0">
33
<iq:products>
44
<iq:product id="fenix5"/>
55
<iq:product id="fenix5plus"/>

resources/strings/general_strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
<string id="BatterySaver_StorageID" >batter_saver</string>
55
<string id="NCAAMode_StorageID" >ncaa_mode</string>
66
<string id="DarkMode_StorageID" >background_color</string>
7+
<string id="ThickRing_StorageID" >thick_ring</string>
78

89
<string id="PeriodLength_StorageID" >period_len</string>
910
<string id="NumPeriods_StorageID" >num_periods</string>

resources/strings/main_menu_strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@
66
<string id="BatterySaver_MenuLabel" >Battery Saver</string>
77
<string id="NCAAMode_MenuLabel" >NCAA Mode</string>
88
<string id="DarkMode_MenuLabel" >Dark Mode</string>
9+
<string id="ThickRing_MenuLabel" >Thick Time Ring</string>
910
</strings>

source/ActivityTracking.mc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ module ActivityTracking {
2929
}
3030

3131
function startTracking() {
32-
actRecSession = ActRec.createSession( { :name=>"Match", :sport=>ActRec.SPORT_SOCCER, :subsport=>ActRec.SUB_SPORT_GENERIC } );
32+
actRecSession = ActRec.createSession( { :name=>"Match", :sport=>ActRec.SPORT_RUNNING, :subsport=>ActRec.SUB_SPORT_GENERIC } );
3333
if( actRecSession != null ) {
3434
var started = false;
3535
do {

source/AppData.mc

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ class AppData {
2727
hidden static var batterySaver;
2828
hidden static var ncaaMode;
2929
hidden static var darkMode;
30+
hidden static var thickRing;
3031

3132
hidden static var periodLength;
3233
hidden static var numPeriods;
@@ -54,6 +55,11 @@ class AppData {
5455
if (darkMode == null) {
5556
setDarkMode(false);
5657
}
58+
59+
thickRing = Store.getValue(Ui.loadResource(Rez.Strings.ThickRing_StorageID));
60+
if (thickRing == null) {
61+
setThickRing(false);
62+
}
5763

5864
periodLength = Store.getValue(Ui.loadResource(Rez.Strings.PeriodLength_StorageID));
5965
if (periodLength == null) {
@@ -96,6 +102,8 @@ class AppData {
96102
darkMode = Store.getValue(Ui.loadResource(Rez.Strings.DarkMode_StorageID));
97103
draw.setDarkMode(darkMode);
98104

105+
thickRing = Store.getValue(Ui.loadResource(Rez.Strings.ThickRing_StorageID));
106+
99107
periodLength = Store.getValue(Ui.loadResource(Rez.Strings.PeriodLength_StorageID));
100108
numPeriods = Store.getValue(Ui.loadResource(Rez.Strings.NumPeriods_StorageID));
101109
breakLength = Store.getValue(Ui.loadResource(Rez.Strings.BreakLength_StorageID));
@@ -115,6 +123,9 @@ class AppData {
115123
case Ui.loadResource(Rez.Strings.DarkMode_StorageID) :
116124
return darkMode;
117125
break;
126+
case Ui.loadResource(Rez.Strings.ThickRing_StorageID) :
127+
return thickRing;
128+
break;
118129
case Ui.loadResource(Rez.Strings.PeriodLength_StorageID) :
119130
return periodLength;
120131
break;
@@ -147,6 +158,9 @@ class AppData {
147158
case Ui.loadResource(Rez.Strings.DarkMode_StorageID) :
148159
setDarkMode(val);
149160
break;
161+
case Ui.loadResource(Rez.Strings.ThickRing_StorageID) :
162+
setThickRing(val);
163+
break;
150164
case Ui.loadResource(Rez.Strings.PeriodLength_StorageID) :
151165
setPeriodLength(val);
152166
break;
@@ -180,6 +194,10 @@ class AppData {
180194
static function getDarkMode() {
181195
return darkMode;
182196
}
197+
198+
static function getThickRing() {
199+
return thickRing;
200+
}
183201

184202
static function getPeriodLength() {
185203
return periodLength;
@@ -218,10 +236,15 @@ class AppData {
218236
}
219237

220238
static function setDarkMode(val) {
221-
darkMode= val;
239+
darkMode = val;
222240
draw.setDarkMode(val);
223241
Store.setValue(Ui.loadResource(Rez.Strings.DarkMode_StorageID), val);
224242
}
243+
244+
static function setThickRing(val) {
245+
thickRing = val;
246+
Store.setValue(Ui.loadResource(Rez.Strings.ThickRing_StorageID), val);
247+
}
225248

226249
static function setPeriodLength(val) {
227250
periodLength = val;

source/UI/Menus/MainMenuInputDelegate.mc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@ class MainMenuInputDelegate extends Ui.Menu2InputDelegate {
4747
case :DarkMode_MenuID :
4848
AppData.setDarkMode(item.isEnabled());
4949
break;
50+
case :ThickRing_MenuID :
51+
AppData.setThickRing(item.isEnabled());
52+
break;
5053
default:
5154
Sys.println(item.getId());
5255
}

source/UI/Menus/Menus.mc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@ module Menus {
4545
new Ui.ToggleMenuItem(Rez.Strings.DarkMode_MenuLabel, null, :DarkMode_MenuID, AppData.getDarkMode(), null)
4646
);
4747

48+
menu.addItem(
49+
new Ui.ToggleMenuItem(Rez.Strings.ThickRing_MenuLabel, null, :ThickRing_MenuID, AppData.getThickRing(), null)
50+
);
51+
4852
return menu;
4953
}
5054

source/drawable/ViewDrawables.mc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,11 @@ module ViewDrawables {
117117
dc.drawArc(xCenter, yCenter, rad , Gfx.ARC_CLOCKWISE, 90, degFinish);
118118
dc.drawArc(xCenter, yCenter, rad - 1, Gfx.ARC_CLOCKWISE, 90, degFinish);
119119
dc.drawArc(xCenter, yCenter, rad - 2, Gfx.ARC_CLOCKWISE, 90, degFinish);
120+
if (AppData.getThickRing()) {
121+
dc.drawArc(xCenter, yCenter, rad - 3, Gfx.ARC_CLOCKWISE, 90, degFinish);
122+
dc.drawArc(xCenter, yCenter, rad - 4, Gfx.ARC_CLOCKWISE, 90, degFinish);
123+
dc.drawArc(xCenter, yCenter, rad - 5, Gfx.ARC_CLOCKWISE, 90, degFinish);
124+
}
120125
}
121126

122127
// Place a text value in the center

0 commit comments

Comments
 (0)