Added support for two new devices

d2mach2 & etrextouch.
This commit is contained in:
Philip Abbey
2026-01-29 17:55:36 +00:00
parent bc84186209
commit e40e9280eb
3 changed files with 195 additions and 189 deletions

View File

@@ -55,4 +55,4 @@
| 3.7 | Bug fix for `numeric` menu items not working over Wi-Fi & LTE. | | 3.7 | Bug fix for `numeric` menu items not working over Wi-Fi & LTE. |
| 3.8 | Added icon for `numeric` menu items and revised icons in general. | | 3.8 | Added icon for `numeric` menu items and revised icons in general. |
| 3.9 | Small update to warn users with empty menu definitions to read the instructions! | | 3.9 | Small update to warn users with empty menu definitions to read the instructions! |
| 3.10 | Bug fix for out of memory error in the glance when caching the menu to [`Storage`](https://developer.garmin.com/connect-iq/api-docs/Toybox/Application/Storage.html). This is now delayed until the main application is opened. | | 3.10 | Bug avoidance for a fatal "out of memory error" in the glance when caching the menu to [`Storage`](https://developer.garmin.com/connect-iq/api-docs/Toybox/Application/Storage.html). This is now delayed until the main application is opened. Added support for two new devices, D2 Mach 2 and eTrex Touch. |

View File

@@ -20,211 +20,213 @@
--> -->
<iq:manifest version="3" xmlns:iq="http://www.garmin.com/xml/connectiq"> <iq:manifest version="3" xmlns:iq="http://www.garmin.com/xml/connectiq">
<!-- <!--
Use "Monkey C: Edit Application" from the Visual Studio Code command palette Use "Monkey C: Edit Application" from the Visual Studio Code command palette
to update the application attributes. to update the application attributes.
--> -->
<iq:application id="98c36259-498a-4458-9cef-74a273ad2bc3" type="watch-app" name="@Strings.AppName" entry="HomeAssistantApp" launcherIcon="@Drawables.LauncherIcon" minApiLevel="3.1.0"> <iq:application id="98c36259-498a-4458-9cef-74a273ad2bc3" type="watch-app" name="@Strings.AppName" entry="HomeAssistantApp" launcherIcon="@Drawables.LauncherIcon" minApiLevel="3.1.0">
<!-- <!--
Use the following from the Visual Studio Code command palette to edit Use the following from the Visual Studio Code command palette to edit
the build targets: the build targets:
"Monkey C: Set Products by Product Category" - Lets you add all products "Monkey C: Set Products by Product Category" - Lets you add all products
that belong to the same product category that belong to the same product category
"Monkey C: Edit Products" - Lets you add or remove any product "Monkey C: Edit Products" - Lets you add or remove any product
--> -->
<iq:products> <iq:products>
<iq:product id="approachs50"/> <iq:product id="approachs50"/>
<iq:product id="approachs7042mm"/> <iq:product id="approachs7042mm"/>
<iq:product id="approachs7047mm"/> <iq:product id="approachs7047mm"/>
<iq:product id="d2air"/> <iq:product id="d2air"/>
<iq:product id="d2airx10"/> <iq:product id="d2airx10"/>
<iq:product id="d2delta"/> <iq:product id="d2delta"/>
<iq:product id="d2deltapx"/> <iq:product id="d2deltapx"/>
<iq:product id="d2deltas"/> <iq:product id="d2deltas"/>
<iq:product id="d2mach1"/> <iq:product id="d2mach1"/>
<iq:product id="descentg1"/> <iq:product id="d2mach2"/>
<iq:product id="descentg2"/> <iq:product id="descentg1"/>
<iq:product id="descentmk2"/> <iq:product id="descentg2"/>
<iq:product id="descentmk2s"/> <iq:product id="descentmk2"/>
<iq:product id="descentmk343mm"/> <iq:product id="descentmk2s"/>
<iq:product id="descentmk351mm"/> <iq:product id="descentmk343mm"/>
<iq:product id="edge1030"/> <iq:product id="descentmk351mm"/>
<iq:product id="edge1030bontrager"/> <iq:product id="edge1030"/>
<iq:product id="edge1030plus"/> <iq:product id="edge1030bontrager"/>
<iq:product id="edge1040"/> <iq:product id="edge1030plus"/>
<iq:product id="edge1050"/> <iq:product id="edge1040"/>
<iq:product id="edge520plus"/> <iq:product id="edge1050"/>
<iq:product id="edge530"/> <iq:product id="edge520plus"/>
<iq:product id="edge540"/> <iq:product id="edge530"/>
<iq:product id="edge550"/> <iq:product id="edge540"/>
<iq:product id="edge820"/> <iq:product id="edge550"/>
<iq:product id="edge830"/> <iq:product id="edge820"/>
<iq:product id="edge840"/> <iq:product id="edge830"/>
<iq:product id="edge850"/> <iq:product id="edge840"/>
<iq:product id="edgeexplore"/> <iq:product id="edge850"/>
<iq:product id="edgeexplore2"/> <iq:product id="edgeexplore"/>
<iq:product id="edgemtb"/> <iq:product id="edgeexplore2"/>
<iq:product id="enduro"/> <iq:product id="edgemtb"/>
<iq:product id="enduro3"/> <iq:product id="enduro"/>
<iq:product id="epix2"/> <iq:product id="enduro3"/>
<iq:product id="epix2pro42mm"/> <iq:product id="epix2"/>
<iq:product id="epix2pro47mm"/> <iq:product id="epix2pro42mm"/>
<iq:product id="epix2pro47mmsystem7preview"/> <iq:product id="epix2pro47mm"/>
<iq:product id="epix2pro51mm"/> <iq:product id="epix2pro47mmsystem7preview"/>
<iq:product id="fenix5"/> <iq:product id="epix2pro51mm"/>
<iq:product id="fenix5plus"/> <iq:product id="etrextouch"/>
<iq:product id="fenix5s"/> <iq:product id="fenix5"/>
<iq:product id="fenix5splus"/> <iq:product id="fenix5plus"/>
<iq:product id="fenix5x"/> <iq:product id="fenix5s"/>
<iq:product id="fenix5xplus"/> <iq:product id="fenix5splus"/>
<iq:product id="fenix6"/> <iq:product id="fenix5x"/>
<iq:product id="fenix6pro"/> <iq:product id="fenix5xplus"/>
<iq:product id="fenix6s"/> <iq:product id="fenix6"/>
<iq:product id="fenix6spro"/> <iq:product id="fenix6pro"/>
<iq:product id="fenix6xpro"/> <iq:product id="fenix6s"/>
<iq:product id="fenix7"/> <iq:product id="fenix6spro"/>
<iq:product id="fenix7pro"/> <iq:product id="fenix6xpro"/>
<iq:product id="fenix7pronowifi"/> <iq:product id="fenix7"/>
<iq:product id="fenix7s"/> <iq:product id="fenix7pro"/>
<iq:product id="fenix7spro"/> <iq:product id="fenix7pronowifi"/>
<iq:product id="fenix7x"/> <iq:product id="fenix7s"/>
<iq:product id="fenix7xpro"/> <iq:product id="fenix7spro"/>
<iq:product id="fenix7xpronowifi"/> <iq:product id="fenix7x"/>
<iq:product id="fenix843mm"/> <iq:product id="fenix7xpro"/>
<iq:product id="fenix847mm"/> <iq:product id="fenix7xpronowifi"/>
<iq:product id="fenix8pro47mm"/> <iq:product id="fenix843mm"/>
<iq:product id="fenix8solar47mm"/> <iq:product id="fenix847mm"/>
<iq:product id="fenix8solar51mm"/> <iq:product id="fenix8pro47mm"/>
<iq:product id="fenixchronos"/> <iq:product id="fenix8solar47mm"/>
<iq:product id="fenixe"/> <iq:product id="fenix8solar51mm"/>
<iq:product id="fr165"/> <iq:product id="fenixchronos"/>
<iq:product id="fr165m"/> <iq:product id="fenixe"/>
<iq:product id="fr245"/> <iq:product id="fr165"/>
<iq:product id="fr245m"/> <iq:product id="fr165m"/>
<iq:product id="fr255"/> <iq:product id="fr245"/>
<iq:product id="fr255m"/> <iq:product id="fr245m"/>
<iq:product id="fr255s"/> <iq:product id="fr255"/>
<iq:product id="fr255sm"/> <iq:product id="fr255m"/>
<iq:product id="fr265"/> <iq:product id="fr255s"/>
<iq:product id="fr265s"/> <iq:product id="fr255sm"/>
<iq:product id="fr55"/> <iq:product id="fr265"/>
<iq:product id="fr57042mm"/> <iq:product id="fr265s"/>
<iq:product id="fr57047mm"/> <iq:product id="fr55"/>
<iq:product id="fr645"/> <iq:product id="fr57042mm"/>
<iq:product id="fr645m"/> <iq:product id="fr57047mm"/>
<iq:product id="fr745"/> <iq:product id="fr645"/>
<iq:product id="fr935"/> <iq:product id="fr645m"/>
<iq:product id="fr945"/> <iq:product id="fr745"/>
<iq:product id="fr945lte"/> <iq:product id="fr935"/>
<iq:product id="fr955"/> <iq:product id="fr945"/>
<iq:product id="fr965"/> <iq:product id="fr945lte"/>
<iq:product id="fr970"/> <iq:product id="fr955"/>
<iq:product id="gpsmap66"/> <iq:product id="fr965"/>
<iq:product id="gpsmap67"/> <iq:product id="fr970"/>
<iq:product id="gpsmaph1"/> <iq:product id="gpsmap66"/>
<iq:product id="instinct2"/> <iq:product id="gpsmap67"/>
<iq:product id="instinct2s"/> <iq:product id="gpsmaph1"/>
<iq:product id="instinct2x"/> <iq:product id="instinct2"/>
<iq:product id="instinct3amoled45mm"/> <iq:product id="instinct2s"/>
<iq:product id="instinct3amoled50mm"/> <iq:product id="instinct2x"/>
<iq:product id="instinct3solar45mm"/> <iq:product id="instinct3amoled45mm"/>
<iq:product id="instinctcrossover"/> <iq:product id="instinct3amoled50mm"/>
<iq:product id="instinctcrossoveramoled"/> <iq:product id="instinct3solar45mm"/>
<iq:product id="instincte40mm"/> <iq:product id="instinctcrossover"/>
<iq:product id="instincte45mm"/> <iq:product id="instinctcrossoveramoled"/>
<iq:product id="legacyherocaptainmarvel"/> <iq:product id="instincte40mm"/>
<iq:product id="legacyherofirstavenger"/> <iq:product id="instincte45mm"/>
<iq:product id="legacysagadarthvader"/> <iq:product id="legacyherocaptainmarvel"/>
<iq:product id="legacysagarey"/> <iq:product id="legacyherofirstavenger"/>
<iq:product id="marq2"/> <iq:product id="legacysagadarthvader"/>
<iq:product id="marq2aviator"/> <iq:product id="legacysagarey"/>
<iq:product id="marqadventurer"/> <iq:product id="marq2"/>
<iq:product id="marqathlete"/> <iq:product id="marq2aviator"/>
<iq:product id="marqaviator"/> <iq:product id="marqadventurer"/>
<iq:product id="marqcaptain"/> <iq:product id="marqathlete"/>
<iq:product id="marqcommander"/> <iq:product id="marqaviator"/>
<iq:product id="marqdriver"/> <iq:product id="marqcaptain"/>
<iq:product id="marqexpedition"/> <iq:product id="marqcommander"/>
<iq:product id="marqgolfer"/> <iq:product id="marqdriver"/>
<iq:product id="montana7xx"/> <iq:product id="marqexpedition"/>
<iq:product id="venu"/> <iq:product id="marqgolfer"/>
<iq:product id="venu2"/> <iq:product id="montana7xx"/>
<iq:product id="venu2plus"/> <iq:product id="venu"/>
<iq:product id="venu2s"/> <iq:product id="venu2"/>
<iq:product id="venu3"/> <iq:product id="venu2plus"/>
<iq:product id="venu3s"/> <iq:product id="venu2s"/>
<iq:product id="venu441mm"/> <iq:product id="venu3"/>
<iq:product id="venu445mm"/> <iq:product id="venu3s"/>
<iq:product id="venud"/> <iq:product id="venu441mm"/>
<iq:product id="venusq"/> <iq:product id="venu445mm"/>
<iq:product id="venusq2"/> <iq:product id="venud"/>
<iq:product id="venusq2m"/> <iq:product id="venusq"/>
<iq:product id="venusqm"/> <iq:product id="venusq2"/>
<iq:product id="venux1"/> <iq:product id="venusq2m"/>
<iq:product id="vivoactive3"/> <iq:product id="venusqm"/>
<iq:product id="vivoactive3m"/> <iq:product id="venux1"/>
<iq:product id="vivoactive3mlte"/> <iq:product id="vivoactive3"/>
<iq:product id="vivoactive4"/> <iq:product id="vivoactive3m"/>
<iq:product id="vivoactive4s"/> <iq:product id="vivoactive3mlte"/>
<iq:product id="vivoactive5"/> <iq:product id="vivoactive4"/>
<iq:product id="vivoactive6"/> <iq:product id="vivoactive4s"/>
</iq:products> <iq:product id="vivoactive5"/>
<!-- <iq:product id="vivoactive6"/>
</iq:products>
<!--
Use "Monkey C: Edit Permissions" from the Visual Studio Code command Use "Monkey C: Edit Permissions" from the Visual Studio Code command
palette to update permissions. palette to update permissions.
--> -->
<iq:permissions> <iq:permissions>
<iq:uses-permission id="Background"/> <iq:uses-permission id="Background"/>
<iq:uses-permission id="BluetoothLowEnergy"/> <iq:uses-permission id="BluetoothLowEnergy"/>
<iq:uses-permission id="Communications"/> <iq:uses-permission id="Communications"/>
<iq:uses-permission id="Positioning"/> <iq:uses-permission id="Positioning"/>
</iq:permissions> </iq:permissions>
<!-- <!--
Use "Monkey C: Edit Languages" from the Visual Studio Code command Use "Monkey C: Edit Languages" from the Visual Studio Code command
palette to edit your compatible language list. palette to edit your compatible language list.
--> -->
<iq:languages> <iq:languages>
<iq:language>ara</iq:language> <iq:language>ara</iq:language>
<iq:language>bul</iq:language> <iq:language>bul</iq:language>
<iq:language>ces</iq:language> <iq:language>ces</iq:language>
<iq:language>dan</iq:language> <iq:language>dan</iq:language>
<iq:language>deu</iq:language> <iq:language>deu</iq:language>
<iq:language>dut</iq:language> <iq:language>dut</iq:language>
<iq:language>eng</iq:language> <iq:language>eng</iq:language>
<iq:language>est</iq:language> <iq:language>est</iq:language>
<iq:language>fin</iq:language> <iq:language>fin</iq:language>
<iq:language>fre</iq:language> <iq:language>fre</iq:language>
<iq:language>gre</iq:language> <iq:language>gre</iq:language>
<iq:language>heb</iq:language> <iq:language>heb</iq:language>
<iq:language>hrv</iq:language> <iq:language>hrv</iq:language>
<iq:language>hun</iq:language> <iq:language>hun</iq:language>
<iq:language>ind</iq:language> <iq:language>ind</iq:language>
<iq:language>ita</iq:language> <iq:language>ita</iq:language>
<iq:language>jpn</iq:language> <iq:language>jpn</iq:language>
<iq:language>kor</iq:language> <iq:language>kor</iq:language>
<iq:language>lav</iq:language> <iq:language>lav</iq:language>
<iq:language>lit</iq:language> <iq:language>lit</iq:language>
<iq:language>nob</iq:language> <iq:language>nob</iq:language>
<iq:language>pol</iq:language> <iq:language>pol</iq:language>
<iq:language>por</iq:language> <iq:language>por</iq:language>
<iq:language>ron</iq:language> <iq:language>ron</iq:language>
<!-- <iq:language>rus</iq:language> --> <!-- <iq:language>rus</iq:language> -->
<iq:language>slo</iq:language> <iq:language>slo</iq:language>
<iq:language>slv</iq:language> <iq:language>slv</iq:language>
<iq:language>spa</iq:language> <iq:language>spa</iq:language>
<iq:language>swe</iq:language> <iq:language>swe</iq:language>
<iq:language>tha</iq:language> <iq:language>tha</iq:language>
<iq:language>tur</iq:language> <iq:language>tur</iq:language>
<iq:language>ukr</iq:language> <iq:language>ukr</iq:language>
<iq:language>vie</iq:language> <iq:language>vie</iq:language>
<iq:language>zhs</iq:language> <iq:language>zhs</iq:language>
<iq:language>zht</iq:language> <iq:language>zht</iq:language>
<iq:language>zsm</iq:language> <iq:language>zsm</iq:language>
</iq:languages> </iq:languages>
<!-- <!--
Use "Monkey C: Configure Monkey Barrel" from the Visual Studio Code Use "Monkey C: Configure Monkey Barrel" from the Visual Studio Code
command palette to edit the included barrels. command palette to edit the included barrels.
--> -->
<iq:barrels/> <iq:barrels/>
</iq:application> </iq:application>
</iq:manifest> </iq:manifest>

View File

@@ -50,6 +50,8 @@ d2deltapx.resourcePath = $(d2deltapx.resourcePath);resources-launcher-40-40;reso
d2deltas.resourcePath = $(d2deltas.resourcePath);resources-launcher-40-40;resources-icons-28 d2deltas.resourcePath = $(d2deltas.resourcePath);resources-launcher-40-40;resources-icons-28
# Screen Size 416x416 launcher icon size 60x60 # Screen Size 416x416 launcher icon size 60x60
d2mach1.resourcePath = $(d2mach1.resourcePath);resources-launcher-60-60;resources-icons-48 d2mach1.resourcePath = $(d2mach1.resourcePath);resources-launcher-60-60;resources-icons-48
# Screen Size 454x454 launcher icon size 65x65
d2mach2.resourcePath = $(d2mach2.resourcePath);resources-launcher-65-65;resources-icons-53
# Screen Size 176x176 launcher icon size 62x62 # Screen Size 176x176 launcher icon size 62x62
descentg1.resourcePath = $(descentg1.resourcePath);resources-launcher-62-62;resources-icons-21 descentg1.resourcePath = $(descentg1.resourcePath);resources-launcher-62-62;resources-icons-21
# Screen Size 390x390 launcher icon size 60x60 # Screen Size 390x390 launcher icon size 60x60
@@ -101,6 +103,8 @@ epix2pro42mm.resourcePath = $(epix2pro42mm.resourcePath);resources-launcher-60-6
epix2pro47mm.resourcePath = $(epix2pro47mm.resourcePath);resources-launcher-60-60;resources-icons-46 epix2pro47mm.resourcePath = $(epix2pro47mm.resourcePath);resources-launcher-60-60;resources-icons-46
# Screen Size 454x454 launcher icon size 60x60 # Screen Size 454x454 launcher icon size 60x60
epix2pro51mm.resourcePath = $(epix2pro51mm.resourcePath);resources-launcher-60-60;resources-icons-53 epix2pro51mm.resourcePath = $(epix2pro51mm.resourcePath);resources-launcher-60-60;resources-icons-53
# Screen Size 240x400 launcher icon size 38x33
etrextouch.resourcePath = $(etrextouch.resourcePath);resources-launcher-33-33;resources-icons-28
# Screen Size 240x240 launcher icon size 40x40 # Screen Size 240x240 launcher icon size 40x40
fenix5.resourcePath = $(fenix5.resourcePath);resources-launcher-40-40;resources-icons-28 fenix5.resourcePath = $(fenix5.resourcePath);resources-launcher-40-40;resources-icons-28
fenix5plus.resourcePath = $(fenix5plus.resourcePath);resources-launcher-40-40;resources-icons-28 fenix5plus.resourcePath = $(fenix5plus.resourcePath);resources-launcher-40-40;resources-icons-28