mirror of
https://github.com/house-of-abbey/GarminHomeAssistant.git
synced 2025-06-16 03:18:35 +00:00
20 new devices and export of widget & application
Added 20 new devices and batch exportation (compilation) of both widget and application. Amended documentation.
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@ -2,4 +2,3 @@ bin/
|
||||
export/
|
||||
**/Thumbs.db
|
||||
settings.txt
|
||||
export.cmd
|
||||
|
10
README.md
10
README.md
@ -190,6 +190,15 @@ Having created that token, before you dismiss the dialogue box with the value yo
|
||||
|
||||
You should now have a working application on your watch and be able to operate your Home Assistant devices for as long as your watch is within Bluetooth range of your phone.
|
||||
|
||||
The first toggle option selects between two menu presentations as follows:
|
||||
|
||||
| Menu Type | Image | Description |
|
||||
|-----------------|------------------------------------------------------------------------|-------------|
|
||||
| Icons (default) | <img src="images/Actual_Venu2_LeanUI.jpg" width="200" title="Venu 2"/> | "Lean User Interface" version removing the second row of text in favour of icons. Tap icons are blue with a pointing finger, menu items has three dots as favours by many graphical user interfaces. |
|
||||
| Labels | <img src="images/Actual_Venu2_Theme.jpg" width="200" title="Venu 2"/> | Initial version that had a second row of text. This extra text has yet to add much value. Menu and Tap actions are distinguished by text, and the toggle status is duplicated by text. A future version could possibly offer the means to customise the toggle menu item text, hence this option has not been deprecated yet. |
|
||||
|
||||
The second toggle setting is for "text alignment" and provides finer adjustment for right-to-left languages. Perhaps this could be made automatic based on device language.
|
||||
|
||||
## Tap Item Response
|
||||
|
||||
Its obvious that a toggle menu item has been triggered as the visible switch changes position and colour. Less obvious is that you have successfully triggered a tap operation.
|
||||
@ -243,3 +252,4 @@ The `id` attribute values are taken from the same names used in [`strings.xml`](
|
||||
| 1.5 | <img src="images/confirmation_view.jpg" width="200" title="Confirmation View" style="float:right"/> Added an optional confirmation dialogue view to prevent accidental execution of actions on mistaken tap. This also brings a change in the JSON schema to allow an optional field to specify that the confirmation should be used for a menu item. As we are now maturing and adding features we have decided to mitigate breaking changes to the JSON schema by being more careful to adopt the Home Assistant schema (noting there is a 1:1 mapping between YAML and JSON). This change does deprecate the top level `service` tag in favour of `tag_action` containing multiple fields including `service` & `confirm`. Users should migrate to the new format for the new functionality, but the timescale for actual deprecation are long and undecided. |
|
||||
| 1.6 | Added a user configurable 'timeout' in seconds so that when no action is taken the application automatically closes, stopping the continuous polling for changes of status and hence saving the drain on the battery. This can be disabled with timeout=0. |
|
||||
| 1.7 | Added timeout to confirmation views so that when used for security devices it does not linger when left unconfirmed. Thanks to [Jan Schneider](https://github.com/j-a-n) for the contribution. Known bug for devices not supporting [`WatchUi.getCurrentView()`](https://developer.garmin.com/connect-iq/api-docs/Toybox/WatchUi.html#getCurrentView-instance_function) API call which is only available on API Level 3.4.0, e.g. Vivoactive 4S. |
|
||||
| 2.0 | A significant code base change to enable both a 'widget' version for older devices, e.g. Venu (1), and an application with a glance, e.g. Venu2. These two versions must now be distributed under separate application IDs, but they have the same code base. A further 20 more devices are now supported, and the settings have been internationalised. |
|
||||
|
125
export.cmd
Normal file
125
export.cmd
Normal file
@ -0,0 +1,125 @@
|
||||
@echo off
|
||||
rem -----------------------------------------------------------------------------------
|
||||
rem
|
||||
rem Distributed under MIT Licence
|
||||
rem See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||
rem
|
||||
rem -----------------------------------------------------------------------------------
|
||||
rem
|
||||
rem GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||
rem tested on a Venu 2 device. The source code is provided at:
|
||||
rem https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||
rem
|
||||
rem J D Abbey & P A Abbey, 28 December 2022
|
||||
rem
|
||||
rem Reference:
|
||||
rem * Using Monkey C from the Command Line
|
||||
rem * https://developer.garmin.com/connect-iq/reference-guides/monkey-c-command-line-setup/
|
||||
rem
|
||||
rem -----------------------------------------------------------------------------------
|
||||
|
||||
rem Check this path is correct for your Java installation
|
||||
set JAVA_PATH="C:\Program Files (x86)\Common Files\Oracle\Java\javapath"
|
||||
rem SDK_PATH should work for all users
|
||||
set /p SDK_PATH=<"%USERPROFILE%\AppData\Roaming\Garmin\ConnectIQ\current-sdk.cfg"
|
||||
set SDK_PATH=%SDK_PATH:~0,-1%\bin
|
||||
|
||||
rem C:\>java -jar %SDK_PATH%\monkeybrains.jar -h
|
||||
rem usage: monkeyc [-a <arg>] [-b <arg>] [--build-stats <arg>] [-c <arg>] [-d <arg>]
|
||||
rem [--debug-log-level <arg>] [--debug-log-output <arg>] [-e]
|
||||
rem [--Eno-invalid-symbol] [-f <arg>] [-g] [-h] [-i <arg>] [-k] [-l <arg>]
|
||||
rem [-m <arg>] [--no-gen-styles] [-o <arg>] [-O <arg>] [-p <arg>] [-r] [-s
|
||||
rem <arg>] [-t] [-u <arg>] [-v] [-w] [-x <arg>] [-y <arg>] [-z <arg>]
|
||||
rem -a,--apidb <arg> API import file
|
||||
rem -b,--apimir <arg> API MIR file
|
||||
rem --build-stats <arg> Print build stats [0=basic]
|
||||
rem -c,--api-level <arg> API Level to target
|
||||
rem -d,--device <arg> Target device
|
||||
rem --debug-log-level <arg> Debug logging verbosity [0=errors, 1=basic,
|
||||
rem 2=intermediate, 3=verbose]
|
||||
rem --debug-log-output <arg>Output log zip file
|
||||
rem -e,--package-app Create an application package.
|
||||
rem --Eno-invalid-symbol Do not error when a symbol is found to be invalid
|
||||
rem -f,--jungles <arg> Jungle files
|
||||
rem -g,--debug Print debug output
|
||||
rem -h,--help Prints help information
|
||||
rem -i,--import-dbg <arg> Import api.debug.xml
|
||||
rem -k,--profile Enable profiling support
|
||||
rem -l,--typecheck <arg> Type check [0=off, 1=gradual, 2=informative,
|
||||
rem 3=strict]
|
||||
rem -m,--manifest <arg> Manifest file (deprecated)
|
||||
rem --no-gen-styles Do not generate Rez.Styles module
|
||||
rem -o,--output <arg> Output file to create
|
||||
rem -O,--optimization <arg> Optimization level [0=none, 1=basic, 2=fast
|
||||
rem optimizations, 3=slow optimizations] [p=optimize
|
||||
rem performance, z=optimize code space]
|
||||
rem -p,--project-info <arg> projectInfo.xml file to use when compiling
|
||||
rem -r,--release Strip debug information
|
||||
rem -s,--sdk-version <arg> SDK version to target (deprecated, use -c
|
||||
rem -t,--unit-test Enables compilation of unit tests
|
||||
rem -u,--devices <arg> devices.xml file to use when compiling (deprecated)
|
||||
rem -v,--version Prints the compiler version
|
||||
rem -w,--warn Show compiler warnings
|
||||
rem -x,--excludes <arg> Add annotations to the exclude list (deprecated)
|
||||
rem -y,--private-key <arg> Private key to sign builds with
|
||||
rem -z,--rez <arg> Resource files (deprecated)
|
||||
|
||||
rem Batch file's directory where the source code is
|
||||
set SRC=%~dp0
|
||||
rem drop last character '\'
|
||||
set SRC=%SRC:~0,-1%
|
||||
|
||||
del /f /q %SRC%\export\HomeAssistant*.iq
|
||||
|
||||
echo.
|
||||
echo Starting export of HomeAssistant Application
|
||||
echo.
|
||||
|
||||
"%JAVA_PATH%\java.exe" ^
|
||||
-Xms1g ^
|
||||
-Dfile.encoding=UTF-8 ^
|
||||
-Dapple.awt.UIElement=true ^
|
||||
-jar %SDK_PATH%\monkeybrains.jar ^
|
||||
--api-level 3.1.0 ^
|
||||
--output %SRC%\export\HomeAssistant-app.iq ^
|
||||
--jungles %SRC%\monkey.jungle ^
|
||||
--private-key %SRC%\..\developer_key ^
|
||||
--package-app ^
|
||||
--release
|
||||
rem --warn
|
||||
|
||||
echo.
|
||||
echo Starting export of HomeAssistant Widget
|
||||
echo.
|
||||
|
||||
"%JAVA_PATH%\java.exe" ^
|
||||
-Xms1g ^
|
||||
-Dfile.encoding=UTF-8 ^
|
||||
-Dapple.awt.UIElement=true ^
|
||||
-jar %SDK_PATH%\monkeybrains.jar ^
|
||||
--api-level 3.1.0 ^6
|
||||
--output %SRC%\export\HomeAssistant-widget.iq ^
|
||||
--jungles %SRC%\monkey-widget.jungle ^
|
||||
--private-key %SRC%\..\developer_key ^
|
||||
--package-app ^
|
||||
--release
|
||||
rem --warn
|
||||
|
||||
echo.
|
||||
echo Finished exporting HomeAssistant
|
||||
dir %SRC%\export\HomeAssistant*.iq
|
||||
|
||||
pause
|
||||
exit /b
|
||||
|
||||
rem Compile PRG for a single device for side loading
|
||||
"%JAVA_PATH%\java.exe" ^
|
||||
-Xms1g ^
|
||||
-Dfile.encoding=UTF-8 ^
|
||||
-Dapple.awt.UIElement=true ^
|
||||
-jar %SDK_PATH%\monkeybrains.jar ^
|
||||
--output %SRC%\bin\HomeAssistant.prg ^
|
||||
--jungles %SRC%\monkey.jungle ^
|
||||
--private-key %SRC%\..\developer_key ^
|
||||
--device venu2_sim ^
|
||||
--warn
|
BIN
images/Actual_Venu2_LeanUI.jpg
Normal file
BIN
images/Actual_Venu2_LeanUI.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 217 KiB |
Binary file not shown.
Before Width: | Height: | Size: 123 KiB After Width: | Height: | Size: 219 KiB |
Binary file not shown.
Before Width: | Height: | Size: 179 KiB After Width: | Height: | Size: 322 KiB |
194
manifest-widget.xml
Normal file
194
manifest-widget.xml
Normal file
@ -0,0 +1,194 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
|
||||
Distributed under MIT Licence
|
||||
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||
|
||||
|
||||
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||
tested on a Venu 2 device. The source code is provided at:
|
||||
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||
|
||||
P A Abbey & J D Abbey & Someone0nEarth, 31 October 2023
|
||||
|
||||
Device Information & References:
|
||||
* https://developer.garmin.com/connect-iq/compatible-devices/
|
||||
* https://developer.garmin.com/connect-iq/reference-guides/devices-reference/
|
||||
|
||||
Someone0nEarth's Test Widget id="bf69be91-5833-4d96-92ea-c5f1a9db5dcc" type="widget"
|
||||
philipabbey's Test Widget id="4901cdfb-b4a2-4f33-96c7-f5be5992809e" type="widget"
|
||||
Live Widget id="" type="widget"
|
||||
|
||||
-->
|
||||
<iq:manifest version="3" xmlns:iq="http://www.garmin.com/xml/connectiq">
|
||||
<!--
|
||||
Use "Monkey C: Edit Application" from the Visual Studio Code command palette
|
||||
to update the application attributes.
|
||||
-->
|
||||
<iq:application id="4901cdfb-b4a2-4f33-96c7-f5be5992809e" type="widget" name="@Strings.AppName" entry="HomeAssistantApp" launcherIcon="@Drawables.LauncherIcon" minApiLevel="3.1.0">
|
||||
<!--
|
||||
Use the following from the Visual Studio Code comand palette to edit
|
||||
the build targets:
|
||||
"Monkey C: Set Products by Product Category" - Lets you add all products
|
||||
that belong to the same product category
|
||||
"Monkey C: Edit Products" - Lets you add or remove any product
|
||||
-->
|
||||
<iq:products>
|
||||
<iq:product id="approachs7042mm"/>
|
||||
<iq:product id="approachs7047mm"/>
|
||||
<iq:product id="d2air"/>
|
||||
<iq:product id="d2airx10"/>
|
||||
<iq:product id="d2delta"/>
|
||||
<iq:product id="d2deltapx"/>
|
||||
<iq:product id="d2deltas"/>
|
||||
<iq:product id="d2mach1"/>
|
||||
<iq:product id="descentg1"/>
|
||||
<iq:product id="descentmk2"/>
|
||||
<iq:product id="descentmk2s"/>
|
||||
<iq:product id="edge1030"/>
|
||||
<iq:product id="edge1030bontrager"/>
|
||||
<iq:product id="edge1030plus"/>
|
||||
<iq:product id="edge1040"/>
|
||||
<iq:product id="edge520plus"/>
|
||||
<iq:product id="edge530"/>
|
||||
<iq:product id="edge820"/>
|
||||
<iq:product id="edge830"/>
|
||||
<iq:product id="edgeexplore"/>
|
||||
<iq:product id="edgeexplore2"/>
|
||||
<iq:product id="enduro"/>
|
||||
<iq:product id="epix2"/>
|
||||
<iq:product id="epix2pro42mm"/>
|
||||
<iq:product id="epix2pro47mm"/>
|
||||
<iq:product id="epix2pro51mm"/>
|
||||
<iq:product id="fenix5"/>
|
||||
<iq:product id="fenix5plus"/>
|
||||
<iq:product id="fenix5s"/>
|
||||
<iq:product id="fenix5splus"/>
|
||||
<iq:product id="fenix5x"/>
|
||||
<iq:product id="fenix5xplus"/>
|
||||
<iq:product id="fenix6"/>
|
||||
<iq:product id="fenix6pro"/>
|
||||
<iq:product id="fenix6s"/>
|
||||
<iq:product id="fenix6spro"/>
|
||||
<iq:product id="fenix6xpro"/>
|
||||
<iq:product id="fenix7"/>
|
||||
<iq:product id="fenix7pro"/>
|
||||
<iq:product id="fenix7pronowifi"/>
|
||||
<iq:product id="fenix7s"/>
|
||||
<iq:product id="fenix7spro"/>
|
||||
<iq:product id="fenix7x"/>
|
||||
<iq:product id="fenix7xpro"/>
|
||||
<iq:product id="fenix7xpronowifi"/>
|
||||
<iq:product id="fenixchronos"/>
|
||||
<iq:product id="fr245"/>
|
||||
<iq:product id="fr245m"/>
|
||||
<iq:product id="fr255"/>
|
||||
<iq:product id="fr255m"/>
|
||||
<iq:product id="fr255s"/>
|
||||
<iq:product id="fr255sm"/>
|
||||
<iq:product id="fr265"/>
|
||||
<iq:product id="fr265s"/>
|
||||
<iq:product id="fr55"/>
|
||||
<iq:product id="fr645"/>
|
||||
<iq:product id="fr645m"/>
|
||||
<iq:product id="fr745"/>
|
||||
<iq:product id="fr935"/>
|
||||
<iq:product id="fr945"/>
|
||||
<iq:product id="fr945lte"/>
|
||||
<iq:product id="fr955"/>
|
||||
<iq:product id="fr965"/>
|
||||
<iq:product id="gpsmap67"/>
|
||||
<iq:product id="instinct2"/>
|
||||
<iq:product id="instinct2s"/>
|
||||
<iq:product id="instinct2x"/>
|
||||
<iq:product id="instinctcrossover"/>
|
||||
<iq:product id="legacyherocaptainmarvel"/>
|
||||
<iq:product id="legacyherofirstavenger"/>
|
||||
<iq:product id="legacysagadarthvader"/>
|
||||
<iq:product id="legacysagarey"/>
|
||||
<iq:product id="marq2"/>
|
||||
<iq:product id="marq2aviator"/>
|
||||
<iq:product id="marqadventurer"/>
|
||||
<iq:product id="marqathlete"/>
|
||||
<iq:product id="marqaviator"/>
|
||||
<iq:product id="marqcaptain"/>
|
||||
<iq:product id="marqcommander"/>
|
||||
<iq:product id="marqdriver"/>
|
||||
<iq:product id="marqexpedition"/>
|
||||
<iq:product id="marqgolfer"/>
|
||||
<iq:product id="montana7xx"/>
|
||||
<iq:product id="venu"/>
|
||||
<iq:product id="venu2"/>
|
||||
<iq:product id="venu2plus"/>
|
||||
<iq:product id="venu2s"/>
|
||||
<iq:product id="venu3"/>
|
||||
<iq:product id="venu3s"/>
|
||||
<iq:product id="venud"/>
|
||||
<iq:product id="venusq"/>
|
||||
<iq:product id="venusq2"/>
|
||||
<iq:product id="venusq2m"/>
|
||||
<iq:product id="venusqm"/>
|
||||
<iq:product id="vivoactive3"/>
|
||||
<iq:product id="vivoactive3m"/>
|
||||
<iq:product id="vivoactive3mlte"/>
|
||||
<iq:product id="vivoactive4"/>
|
||||
<iq:product id="vivoactive4s"/>
|
||||
<iq:product id="vivoactive5"/>
|
||||
</iq:products>
|
||||
<!--
|
||||
Use "Monkey C: Edit Permissions" from the Visual Studio Code command
|
||||
palette to update permissions.
|
||||
-->
|
||||
<iq:permissions>
|
||||
<iq:uses-permission id="Communications"/>
|
||||
<iq:uses-permission id="BluetoothLowEnergy"/>
|
||||
</iq:permissions>
|
||||
<!--
|
||||
Use "Monkey C: Edit Languages" from the Visual Studio Code command
|
||||
palette to edit your compatible language list.
|
||||
-->
|
||||
<iq:languages>
|
||||
<iq:language>ara</iq:language>
|
||||
<iq:language>bul</iq:language>
|
||||
<iq:language>zhs</iq:language>
|
||||
<iq:language>zht</iq:language>
|
||||
<iq:language>hrv</iq:language>
|
||||
<iq:language>ces</iq:language>
|
||||
<iq:language>dan</iq:language>
|
||||
<iq:language>dut</iq:language>
|
||||
<iq:language>deu</iq:language>
|
||||
<iq:language>gre</iq:language>
|
||||
<iq:language>eng</iq:language>
|
||||
<iq:language>est</iq:language>
|
||||
<iq:language>fin</iq:language>
|
||||
<iq:language>fre</iq:language>
|
||||
<iq:language>heb</iq:language>
|
||||
<iq:language>hun</iq:language>
|
||||
<iq:language>ind</iq:language>
|
||||
<iq:language>ita</iq:language>
|
||||
<iq:language>jpn</iq:language>
|
||||
<iq:language>kor</iq:language>
|
||||
<iq:language>lav</iq:language>
|
||||
<iq:language>lit</iq:language>
|
||||
<iq:language>zsm</iq:language>
|
||||
<iq:language>nob</iq:language>
|
||||
<iq:language>pol</iq:language>
|
||||
<iq:language>por</iq:language>
|
||||
<iq:language>slo</iq:language>
|
||||
<iq:language>ron</iq:language>
|
||||
<!-- <iq:language>rus</iq:language> -->
|
||||
<iq:language>slv</iq:language>
|
||||
<iq:language>spa</iq:language>
|
||||
<iq:language>swe</iq:language>
|
||||
<iq:language>tha</iq:language>
|
||||
<iq:language>tur</iq:language>
|
||||
<iq:language>ukr</iq:language>
|
||||
<iq:language>vie</iq:language>
|
||||
</iq:languages>
|
||||
<!--
|
||||
Use "Monkey C: Configure Monkey Barrel" from the Visual Studio Code
|
||||
command palette to edit the included barrels.
|
||||
-->
|
||||
<iq:barrels/>
|
||||
</iq:application>
|
||||
</iq:manifest>
|
101
manifest.xml
101
manifest.xml
@ -11,7 +11,10 @@
|
||||
|
||||
P A Abbey & J D Abbey & Someone0nEarth, 31 October 2023
|
||||
|
||||
Someone0nEarth's Test App id="bf69be91-5833-4d96-92ea-c5f1a9db5dcc" type="widget"
|
||||
Device Information & References:
|
||||
* https://developer.garmin.com/connect-iq/compatible-devices/
|
||||
* https://developer.garmin.com/connect-iq/reference-guides/devices-reference/
|
||||
|
||||
philipabbey's Test App id="98c36259-498a-4458-9cef-74a273ad2bc3" type="watch-app"
|
||||
Live Application id="40131e87-31ff-454b-a8e2-92276ee399d6" type="watch-app"
|
||||
|
||||
@ -21,7 +24,7 @@
|
||||
Use "Monkey C: Edit Application" from the Visual Studio Code command palette
|
||||
to update the application attributes.
|
||||
-->
|
||||
<iq:application id="98c36259-498a-4458-9cef-74a273ad2bc3" type="widget" 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 comand palette to edit
|
||||
the build targets:
|
||||
@ -30,110 +33,80 @@
|
||||
"Monkey C: Edit Products" - Lets you add or remove any product
|
||||
-->
|
||||
<iq:products>
|
||||
<!--
|
||||
Device Information & References:
|
||||
* https://developer.garmin.com/connect-iq/compatible-devices/
|
||||
* https://developer.garmin.com/connect-iq/reference-guides/devices-reference/
|
||||
-->
|
||||
|
||||
<!-- Screen Size 390x390 launcher icon size 70x70 -->
|
||||
<iq:product id="approachs7042mm"/>
|
||||
<!-- Screen Size 454x454 launcher icon size 80x80 -->
|
||||
<iq:product id="approachs7047mm"/>
|
||||
<!-- Screen Size 176x176 launcher icon size 62x62 -->
|
||||
<iq:product id="descentg1"/>
|
||||
<!-- Screen Size 280x280 launcher icon size 40x40 -->
|
||||
<iq:product id="descentmk2"/>
|
||||
<!-- Screen Size 240x240 launcher icon size 40x40 -->
|
||||
<iq:product id="descentmk2s"/>
|
||||
<!-- Screen Size 416x416 launcher icon size 70x70 -->
|
||||
<iq:product id="d2air"/>
|
||||
<iq:product id="d2airx10"/>
|
||||
<!-- Screen Size 416x416 launcher icon size 60x60 -->
|
||||
<iq:product id="d2delta"/>
|
||||
<iq:product id="d2deltapx"/>
|
||||
<iq:product id="d2deltas"/>
|
||||
<iq:product id="d2mach1"/>
|
||||
<!-- Screen Size 282x470 launcher icon size 36x36 -->
|
||||
<iq:product id="descentg1"/>
|
||||
<iq:product id="descentmk2"/>
|
||||
<iq:product id="descentmk2s"/>
|
||||
<iq:product id="edge1030"/>
|
||||
<iq:product id="edge1030bontrager"/>
|
||||
<iq:product id="edge1030plus"/>
|
||||
<!-- Screen Size 282x470 launcher icon size 40x40 -->
|
||||
<iq:product id="edge1040"/>
|
||||
<!-- Screen Size 246x322 launcher icon size 35x35 -->
|
||||
<iq:product id="edge520plus"/>
|
||||
<iq:product id="edge530"/>
|
||||
<iq:product id="edge820"/>
|
||||
<iq:product id="edge830"/>
|
||||
<!-- Screen Size 240x400 launcher icon size 36x36 -->
|
||||
<iq:product id="edgeexplore"/>
|
||||
<iq:product id="edgeexplore2"/>
|
||||
<!-- Screen Size 280x280 launcher icon size 40x40 -->
|
||||
<iq:product id="enduro"/>
|
||||
<!-- Screen Size 416x416 launcher icon size 60x60 -->
|
||||
<iq:product id="epix2"/>
|
||||
<!-- Screen Size 390x390 launcher icon size 60x60 -->
|
||||
<iq:product id="epix2pro42mm"/>
|
||||
<iq:product id="epix2pro47mm"/>
|
||||
<!-- Screen Size 454x454 launcher icon size 60x60 -->
|
||||
<iq:product id="epix2pro51mm"/>
|
||||
<!-- Screen Size 240x240 launcher icon size 40x40 -->
|
||||
<iq:product id="fenix5"/>
|
||||
<iq:product id="fenix5plus"/>
|
||||
<iq:product id="fenix5s"/>
|
||||
<iq:product id="fenix5splus"/>
|
||||
<iq:product id="fenix5x"/>
|
||||
<iq:product id="fenix5xplus"/>
|
||||
<!-- Screen Size 260x260 launcher icon size 40x40 -->
|
||||
<iq:product id="fenix6"/>
|
||||
<iq:product id="fenix6pro"/>
|
||||
<!-- Screen Size 240x240 launcher icon size 40x40 -->
|
||||
<iq:product id="fenix6s"/>
|
||||
<iq:product id="fenix6spro"/>
|
||||
<!-- Screen Size 280x280 launcher icon size 40x40 -->
|
||||
<iq:product id="fenix6xpro"/>
|
||||
<!-- Screen Size 260x260 launcher icon size 40x40 -->
|
||||
<iq:product id="fenix7"/>
|
||||
<!-- Screen Size 260x260 launcher icon size 40x40 -->
|
||||
<iq:product id="fenix7pro"/>
|
||||
<iq:product id="fenix7pronowifi"/>
|
||||
<!-- Screen Size 240x240 launcher icon size 40x40 -->
|
||||
<iq:product id="fenix7s"/>
|
||||
<!-- Screen Size 240x240 launcher icon size 40x40 -->
|
||||
<iq:product id="fenix7spro"/>
|
||||
<!-- Screen Size 280x280 launcher icon size 40x40 -->
|
||||
<iq:product id="fenix7x"/>
|
||||
<!-- Screen Size 280x280 launcher icon size 40x40 -->
|
||||
<iq:product id="fenix7xpro"/>
|
||||
<iq:product id="fenix7xpronowifi"/>
|
||||
<!-- Screen Size 240x240 launcher icon size 40x40 -->
|
||||
<iq:product id="fenixchronos"/>
|
||||
<iq:product id="fr245"/>
|
||||
<iq:product id="fr245m"/>
|
||||
<!-- Screen Size 260x260 launcher icon size 40x40 -->
|
||||
<iq:product id="fr255"/>
|
||||
<iq:product id="fr255m"/>
|
||||
<!-- Screen Size 218x218 launcher icon size 40x40 -->
|
||||
<iq:product id="fr255s"/>
|
||||
<iq:product id="fr255sm"/>
|
||||
<!-- Screen Size 416x416 launcher icon size 60x60 -->
|
||||
<iq:product id="fr265"/>
|
||||
<iq:product id="fr265s"/>
|
||||
<!-- Screen Size 208x208 launcher icon size 35x35 -->
|
||||
<iq:product id="fr55"/>
|
||||
<!-- Screen Size 240x240 launcher icon size 40x40 -->
|
||||
<iq:product id="fr645"/>
|
||||
<iq:product id="fr645m"/>
|
||||
<iq:product id="fr745"/>
|
||||
<iq:product id="fr935"/>
|
||||
<iq:product id="fr945"/>
|
||||
<iq:product id="fr945lte"/>
|
||||
<!-- Screen Size 260x260 launcher icon size 40x40 -->
|
||||
<iq:product id="fr955"/>
|
||||
<!-- Screen Size 454x454 launcher icon size 65x65 -->
|
||||
<iq:product id="fr965"/>
|
||||
<!-- Screen Size 176x176 launcher icon size 62x62 -->
|
||||
<iq:product id="gpsmap67"/>
|
||||
<iq:product id="instinct2"/>
|
||||
<!-- Screen Size 163x156 launcher icon size 54x54 -->
|
||||
<iq:product id="instinct2s"/>
|
||||
<!-- Screen Size 176x176 launcher icon size 62x62 -->
|
||||
<iq:product id="instinct2x"/>
|
||||
<!-- Screen Size 176x176 launcher icon size 26x26 -->
|
||||
<iq:product id="instinctcrossover"/>
|
||||
<!-- Screen Size 218x218 launcher icon size 30x30 -->
|
||||
<iq:product id="legacyherocaptainmarvel"/>
|
||||
<!-- Screen Size 260x260 launcher icon size 35x35 -->
|
||||
<iq:product id="legacyherofirstavenger"/>
|
||||
<iq:product id="legacysagadarthvader"/>
|
||||
<!-- Screen Size 218x218 launcher icon size 30x30 -->
|
||||
<iq:product id="legacysagarey"/>
|
||||
<!-- Screen Size 240x240 launcher icon size 40x40 -->
|
||||
<iq:product id="marq2"/>
|
||||
<iq:product id="marq2aviator"/>
|
||||
<iq:product id="marqadventurer"/>
|
||||
<iq:product id="marqathlete"/>
|
||||
<iq:product id="marqaviator"/>
|
||||
@ -142,31 +115,23 @@
|
||||
<iq:product id="marqdriver"/>
|
||||
<iq:product id="marqexpedition"/>
|
||||
<iq:product id="marqgolfer"/>
|
||||
<!-- Screen Size 390x390 launcher icon size 60x60 -->
|
||||
<iq:product id="marq2"/>
|
||||
<iq:product id="marq2aviator"/>
|
||||
<!-- Screen Size 390x390 launcher icon size 60x60 -->
|
||||
<iq:product id="montana7xx"/>
|
||||
<iq:product id="venu"/>
|
||||
<!-- Screen Size 416x416 launcher icon size 70x70 -->
|
||||
<iq:product id="venu2"/>
|
||||
<iq:product id="venu2plus"/>
|
||||
<!-- Screen Size 360x360 launcher icon size 61x61 -->
|
||||
<iq:product id="venu2s"/>
|
||||
<!-- Screen Size 240x240 launcher icon size 36x36 -->
|
||||
<iq:product id="venu3"/>
|
||||
<iq:product id="venu3s"/>
|
||||
<iq:product id="venud"/>
|
||||
<iq:product id="venusq"/>
|
||||
<iq:product id="venusqm"/>
|
||||
<!-- Screen Size 320x360 launcher icon size 40x40 -->
|
||||
<iq:product id="venusq2"/>
|
||||
<iq:product id="venusq2m"/>
|
||||
<!-- Screen Size 454x454 launcher icon size 70x70 -->
|
||||
<iq:product id="venu3"/>
|
||||
<!-- Screen Size 390x390 launcher icon size 70x70 -->
|
||||
<iq:product id="venu3s"/>
|
||||
<!-- Screen Size 260x260 launcher icon size 35x35 -->
|
||||
<iq:product id="venusqm"/>
|
||||
<iq:product id="vivoactive3"/>
|
||||
<iq:product id="vivoactive3m"/>
|
||||
<iq:product id="vivoactive3mlte"/>
|
||||
<iq:product id="vivoactive4"/>
|
||||
<!-- Screen Size 218x218 launcher icon size 30x30 -->
|
||||
<iq:product id="vivoactive4s"/>
|
||||
<!-- Screen Size 390x390 launcher icon size 70x70 -->
|
||||
<iq:product id="vivoactive5"/>
|
||||
</iq:products>
|
||||
<!--
|
||||
|
203
monkey-widget.jungle
Normal file
203
monkey-widget.jungle
Normal file
@ -0,0 +1,203 @@
|
||||
#-----------------------------------------------------------------------------------
|
||||
#
|
||||
# Distributed under MIT Licence
|
||||
# See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||
#
|
||||
#-----------------------------------------------------------------------------------
|
||||
#
|
||||
# GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||
# tested on a Venu 2 device. The source code is provided at:
|
||||
# https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||
#
|
||||
# J D Abbey & P A Abbey, 28 December 2022
|
||||
#
|
||||
# Reference:
|
||||
# * https://developer.garmin.com/connect-iq/reference-guides/jungle-reference/
|
||||
#
|
||||
#-----------------------------------------------------------------------------------
|
||||
|
||||
project.manifest = manifest-widget.xml
|
||||
|
||||
# Device References
|
||||
# * https://developer.garmin.com/connect-iq/compatible-devices/
|
||||
# * https://developer.garmin.com/connect-iq/reference-guides/devices-reference/
|
||||
#
|
||||
# Widget launcher icon, multiple resolutions
|
||||
# https://forums.garmin.com/developer/connect-iq/f/discussion/255433/widget-launcher-icon-multiple-resolutions/1563305
|
||||
#
|
||||
# Use the online SVG converter to write out PNGs from "resources\drawables\launcher.svg" by changing
|
||||
# the 'width' and 'height' attributes of the SVG.
|
||||
# https://svgtopng.com/
|
||||
#
|
||||
# The icons need to scale as a ratio of screen size 48:416 pixels
|
||||
#
|
||||
# Icon 53 48 46 42 37 32 30 28 26 24 21 18
|
||||
# Screen 454 416 390 360 320 280 260 240 218 208 176 156
|
||||
|
||||
# Screen Size 390x390 launcher icon size 70x70
|
||||
approachs7042mm.resourcePath = $(approachs7042mm.resourcePath);resources-launcher-70-70;resources-icons-46
|
||||
# Screen Size 454x454 launcher icon size 80x80
|
||||
approachs7047mm.resourcePath = $(approachs7047mm.resourcePath);resources-launcher-80-80;resources-icons-53
|
||||
# Screen Size 390x390 launcher icon size 60x60
|
||||
d2air.resourcePath = $(d2air.resourcePath);resources-launcher-60-60;resources-icons-46
|
||||
# Screen Size 416x416 launcher icon size 70x70
|
||||
d2airx10.resourcePath = $(d2airx10.resourcePath);resources-launcher-70-70;resources-icons-48
|
||||
# Screen Size 240x240 launcher icon size 40x40
|
||||
d2delta.resourcePath = $(d2delta.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
d2deltapx.resourcePath = $(d2deltapx.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
|
||||
d2mach1.resourcePath = $(d2mach1.resourcePath);resources-launcher-60-60;resources-icons-48
|
||||
# Screen Size 176x176 launcher icon size 62x62
|
||||
descentg1.resourcePath = $(descentg1.resourcePath);resources-launcher-62-62;resources-icons-21
|
||||
# Screen Size 280x280 launcher icon size 40x40
|
||||
descentmk2.resourcePath = $(descentmk2.resourcePath);resources-launcher-40-40;resources-icons-32
|
||||
# Screen Size 240x240 launcher icon size 40x40
|
||||
descentmk2s.resourcePath = $(descentmk2s.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
# Screen Size 282x470 launcher icon size 36x36
|
||||
edge1030.resourcePath = $(descentmk2s.resourcePath);resources-launcher-36-36;resources-icons-32
|
||||
edge1030bontrager.resourcePath = $(edge1030bontrager.resourcePath);resources-launcher-36-36;resources-icons-32
|
||||
edge1030plus.resourcePath = $(edge1030plus.resourcePath);resources-launcher-36-36;resources-icons-32
|
||||
# Screen Size 282x470 launcher icon size 40x40
|
||||
edge1040.resourcePath = $(edge1040.resourcePath);resources-launcher-40-40;resources-icons-32
|
||||
# Screen Size 200x265 launcher icon size 35x35
|
||||
edge520plus.resourcePath = $(edge520plus.resourcePath);resources-launcher-35-35;resources-icons-24
|
||||
# Screen Size 246x322 launcher icon size 35x35
|
||||
edge530.resourcePath = $(edge530.resourcePath);resources-launcher-35-35;resources-icons-28
|
||||
# Screen Size 200x265 launcher icon size 35x35
|
||||
edge820.resourcePath = $(edge820.resourcePath);resources-launcher-35-35;resources-icons-24
|
||||
# Screen Size 246x322 launcher icon size 35x35
|
||||
edge830.resourcePath = $(edge830.resourcePath);resources-launcher-35-35;resources-icons-28
|
||||
# Screen Size 240x400 launcher icon size 36x36
|
||||
edgeexplore.resourcePath = $(edgeexplore.resourcePath);resources-launcher-36-36;resources-icons-28
|
||||
edgeexplore2.resourcePath = $(edgeexplore2.resourcePath);resources-launcher-36-36;resources-icons-28
|
||||
# Screen Size 280x280 launcher icon size 40x40
|
||||
enduro.resourcePath = $(enduro.resourcePath);resources-launcher-40-40;resources-icons-32
|
||||
# Screen Size 416x416 launcher icon size 60x60
|
||||
epix2.resourcePath = $(epix2.resourcePath);resources-launcher-60-60;resources-icons-48
|
||||
# Screen Size 390x390 launcher icon size 60x60
|
||||
epix2pro42mm.resourcePath = $(epix2pro42mm.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
|
||||
epix2pro51mm.resourcePath = $(epix2pro51mm.resourcePath);resources-launcher-60-60;resources-icons-53
|
||||
# Screen Size 240x240 launcher icon size 40x40
|
||||
fenix5.resourcePath = $(fenix5.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
fenix5plus.resourcePath = $(fenix5plus.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
# Screen Size 218x218 launcher icon size 36x36
|
||||
fenix5s.resourcePath = $(fenix5s.resourcePath);resources-launcher-36-36;resources-icons-26
|
||||
# Screen Size 240x240 launcher icon size 40x40
|
||||
fenix5splus.resourcePath = $(fenix5splus.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
fenix5x.resourcePath = $(fenix5x.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
fenix5xplus.resourcePath = $(fenix5xplus.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
# Screen Size 260x260 launcher icon size 40x40
|
||||
fenix6.resourcePath = $(fenix6.resourcePath);resources-launcher-40-40;resources-icons-30
|
||||
fenix6pro.resourcePath = $(fenix6pro.resourcePath);resources-launcher-40-40;resources-icons-30
|
||||
# Screen Size 240x240 launcher icon size 40x40
|
||||
fenix6s.resourcePath = $(fenix6s.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
fenix6spro.resourcePath = $(fenix6spro.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
# Screen Size 280x280 launcher icon size 40x40
|
||||
fenix6xpro.resourcePath = $(fenix6xpro.resourcePath);resources-launcher-40-40;resources-icons-32
|
||||
# Screen Size 260x260 launcher icon size 40x40
|
||||
fenix7.resourcePath = $(fenix7.resourcePath);resources-launcher-40-40;resources-icons-30
|
||||
# Screen Size 260x260 launcher icon size 40x40
|
||||
fenix7pro.resourcePath = $(fenix7pro.resourcePath);resources-launcher-40-40;resources-icons-30
|
||||
fenix7pronowifi.resourcePath = $(fenix7pronowifi.resourcePath);resources-launcher-40-40;resources-icons-30
|
||||
# Screen Size 218x218 launcher icon size 36x36
|
||||
fenixchronos.resourcePath = $(fenixchronos.resourcePath);resources-launcher-36-36;resources-icons-26
|
||||
# Screen Size 240x240 launcher icon size 40x40
|
||||
fenix7s.resourcePath = $(fenix7s.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
# Screen Size 240x240 launcher icon size 40x40
|
||||
fenix7spro.resourcePath = $(fenix7spro.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
# Screen Size 280x280 launcher icon size 40x40
|
||||
fenix7x.resourcePath = $(fenix7x.resourcePath);resources-launcher-40-40;resources-icons-32
|
||||
# Screen Size 280x280 launcher icon size 40x40
|
||||
fenix7xpro.resourcePath = $(fenix7xpro.resourcePath);resources-launcher-40-40;resources-icons-32
|
||||
fenix7xpronowifi.resourcePath = $(fenix7xpronowifi.resourcePath);resources-launcher-40-40;resources-icons-32
|
||||
# Screen Size 240x240 launcher icon size 40x40
|
||||
fr245.resourcePath = $(fr245.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
fr245m.resourcePath = $(fr245m.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
# Screen Size 260x260 launcher icon size 40x40
|
||||
fr255.resourcePath = $(fr255.resourcePath);resources-launcher-40-40;resources-icons-30
|
||||
fr255m.resourcePath = $(fr255m.resourcePath);resources-launcher-40-40;resources-icons-30
|
||||
# Screen Size 218x218 launcher icon size 40x40
|
||||
fr255s.resourcePath = $(fr255s.resourcePath);resources-launcher-40-40;resources-icons-26
|
||||
fr255sm.resourcePath = $(fr255sm.resourcePath);resources-launcher-40-40;resources-icons-26
|
||||
# Screen Size 416x416 launcher icon size 60x60
|
||||
fr265.resourcePath = $(fr265.resourcePath);resources-launcher-60-60;resources-icons-48
|
||||
fr265s.resourcePath = $(fr265s.resourcePath);resources-launcher-60-60;resources-icons-48
|
||||
# Screen Size 208x208 launcher icon size 35x35
|
||||
fr55.resourcePath = $(fr55.resourcePath);resources-launcher-35-35;resources-icons-24
|
||||
# Screen Size 240x240 launcher icon size 40x40
|
||||
fr645.resourcePath = $(fr645.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
fr645m.resourcePath = $(fr645m.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
# Screen Size 240x240 launcher icon size 40x40
|
||||
fr745.resourcePath = $(fr745.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
fr935.resourcePath = $(fr935.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
fr945.resourcePath = $(fr945.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
fr945lte.resourcePath = $(fr945lte.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
# Screen Size 260x260 launcher icon size 40x40
|
||||
fr955.resourcePath = $(fr955.resourcePath);resources-launcher-40-40;resources-icons-30
|
||||
# Screen Size 454x454 launcher icon size 65x65
|
||||
fr965.resourcePath = $(fr965.resourcePath);resources-launcher-65-65;resources-icons-53
|
||||
# Screen Size 240x400 launcher icon size 38x33
|
||||
gpsmap67.resourcePath = $(gpsmap67.resourcePath);resources-launcher-33-33;resources-icons-28
|
||||
# Screen Size 176x176 launcher icon size 62x62
|
||||
instinct2.resourcePath = $(instinct2.resourcePath);resources-launcher-62-62;resources-icons-21
|
||||
# Screen Size 163x156 launcher icon size 54x54
|
||||
instinct2s.resourcePath = $(instinct2s.resourcePath);resources-launcher-54-54;resources-icons-18
|
||||
# Screen Size 176x176 launcher icon size 62x62
|
||||
instinct2x.resourcePath = $(instinct2x.resourcePath);resources-launcher-62-62;resources-icons-21
|
||||
# Screen Size 176x176 launcher icon size 26x26
|
||||
instinctcrossover.resourcePath = $(instinctcrossover.resourcePath);resources-launcher-26-26;resources-icons-21
|
||||
# Screen Size 218x218 launcher icon size 30x30
|
||||
legacyherocaptainmarvel.resourcePath = $(legacyherocaptainmarvel.resourcePath);resources-launcher-30-30;resources-icons-26
|
||||
# Screen Size 260x260 launcher icon size 35x35
|
||||
legacyherofirstavenger.resourcePath = $(legacyherofirstavenger.resourcePath);resources-launcher-35-35;resources-icons-30
|
||||
legacysagadarthvader.resourcePath = $(legacysagadarthvader.resourcePath);resources-launcher-35-35;resources-icons-30
|
||||
# Screen Size 218x218 launcher icon size 30x30
|
||||
legacysagarey.resourcePath = $(legacysagarey.resourcePath);resources-launcher-30-30;resources-icons-26
|
||||
# Screen Size 390x390 launcher icon size 60x60
|
||||
marq2.resourcePath = $(marq2.resourcePath);resources-launcher-60-60;resources-icons-46
|
||||
marq2aviator.resourcePath = $(marq2aviator.resourcePath);resources-launcher-60-60;resources-icons-46
|
||||
# Screen Size 240x240 launcher icon size 40x40
|
||||
marqadventurer.resourcePath = $(marqadventurer.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
marqathlete.resourcePath = $(marqathlete.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
marqaviator.resourcePath = $(marqaviator.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
marqcaptain.resourcePath = $(marqcaptain.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
marqcommander.resourcePath = $(marqcommander.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
marqdriver.resourcePath = $(marqdriver.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
marqexpedition.resourcePath = $(marqexpedition.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
marqgolfer.resourcePath = $(marqgolfer.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
# Screen Size 480x800 launcher icon size 60x60
|
||||
montana7xx.resourcePath = $(montana7xx.resourcePath);resources-launcher-60-60;resources-icons-53
|
||||
# Screen Size 390x390 launcher icon size 60x60
|
||||
venu.resourcePath = $(venu.resourcePath);resources-launcher-60-60;resources-icons-46
|
||||
# Screen Size 416x416 launcher icon size 70x70
|
||||
venu2.resourcePath = $(venu2.resourcePath);resources-launcher-70-70;resources-icons-48
|
||||
venu2plus.resourcePath = $(venu2plus.resourcePath);resources-launcher-70-70;resources-icons-48
|
||||
# Screen Size 360x360 launcher icon size 61x61
|
||||
venu2s.resourcePath = $(venu2s.resourcePath);resources-launcher-61-61;resources-icons-42
|
||||
# Screen Size 454x454 launcher icon size 70x70
|
||||
venu3.resourcePath = $(venu3.resourcePath);resources-launcher-70-70;resources-icons-53
|
||||
# Screen Size 390x390 launcher icon size 70x70
|
||||
venu3s.resourcePath = $(venu3s.resourcePath);resources-launcher-70-70;resources-icons-46
|
||||
# Screen Size 390x390 launcher icon size 60x60
|
||||
venud.resourcePath = $(venud.resourcePath);resources-launcher-60-60;resources-icons-46
|
||||
# Screen Size 240x240 launcher icon size 36x36
|
||||
venusq.resourcePath = $(venusq.resourcePath);resources-launcher-36-36;resources-icons-28
|
||||
# Screen Size 320x360 launcher icon size 40x40
|
||||
venusq2.resourcePath = $(venusq2.resourcePath);resources-launcher-40-40;resources-icons-38
|
||||
# Screen Size 320x360 launcher icon size 40x40
|
||||
venusq2m.resourcePath = $(venusq2m.resourcePath);resources-launcher-40-40;resources-icons-38
|
||||
# Screen Size 240x240 launcher icon size 36x36
|
||||
venusqm.resourcePath = $(venusqm.resourcePath);resources-launcher-36-36;resources-icons-28
|
||||
# Screen Size 240x240 launcher icon size 40x33
|
||||
vivoactive3.resourcePath = $(vivoactive3.resourcePath);resources-launcher-33-33;resources-icons-28
|
||||
vivoactive3m.resourcePath = $(vivoactive3m.resourcePath);resources-launcher-33-33;resources-icons-28
|
||||
vivoactive3mlte.resourcePath = $(vivoactive3mlte.resourcePath);resources-launcher-33-33;resources-icons-28
|
||||
# Screen Size 260x260 launcher icon size 35x35
|
||||
vivoactive4.resourcePath = $(vivoactive4.resourcePath);resources-launcher-35-35;resources-icons-30
|
||||
# Screen Size 218x218 launcher icon size 30x30
|
||||
vivoactive4s.resourcePath = $(vivoactive4s.resourcePath);resources-launcher-30-30;resources-icons-26
|
||||
# Screen Size 390x390 launcher icon size 70x70
|
||||
vivoactive5.resourcePath = $(vivoactive5.resourcePath);resources-launcher-70-70;resources-icons-46
|
@ -38,6 +38,16 @@ project.manifest = manifest.xml
|
||||
approachs7042mm.resourcePath = $(approachs7042mm.resourcePath);resources-launcher-70-70;resources-icons-46
|
||||
# Screen Size 454x454 launcher icon size 80x80
|
||||
approachs7047mm.resourcePath = $(approachs7047mm.resourcePath);resources-launcher-80-80;resources-icons-53
|
||||
# Screen Size 390x390 launcher icon size 60x60
|
||||
d2air.resourcePath = $(d2air.resourcePath);resources-launcher-60-60;resources-icons-46
|
||||
# Screen Size 416x416 launcher icon size 70x70
|
||||
d2airx10.resourcePath = $(d2airx10.resourcePath);resources-launcher-70-70;resources-icons-48
|
||||
# Screen Size 240x240 launcher icon size 40x40
|
||||
d2delta.resourcePath = $(d2delta.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
d2deltapx.resourcePath = $(d2deltapx.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
|
||||
d2mach1.resourcePath = $(d2mach1.resourcePath);resources-launcher-60-60;resources-icons-48
|
||||
# Screen Size 176x176 launcher icon size 62x62
|
||||
descentg1.resourcePath = $(descentg1.resourcePath);resources-launcher-62-62;resources-icons-21
|
||||
# Screen Size 280x280 launcher icon size 40x40
|
||||
@ -50,17 +60,19 @@ edge1030bontrager.resourcePath = $(edge1030bontrager.resourcePath);resources-lau
|
||||
edge1030plus.resourcePath = $(edge1030plus.resourcePath);resources-launcher-36-36;resources-icons-32
|
||||
# Screen Size 282x470 launcher icon size 40x40
|
||||
edge1040.resourcePath = $(edge1040.resourcePath);resources-launcher-40-40;resources-icons-32
|
||||
# Screen Size 200x265 launcher icon size 35x35
|
||||
edge520plus.resourcePath = $(edge520plus.resourcePath);resources-launcher-35-35;resources-icons-24
|
||||
# Screen Size 246x322 launcher icon size 35x35
|
||||
edge530.resourcePath = $(edge530.resourcePath);resources-launcher-35-35;resources-icons-28
|
||||
# Screen Size 200x265 launcher icon size 35x35
|
||||
edge820.resourcePath = $(edge820.resourcePath);resources-launcher-35-35;resources-icons-24
|
||||
# Screen Size 246x322 launcher icon size 35x35
|
||||
edge830.resourcePath = $(edge830.resourcePath);resources-launcher-35-35;resources-icons-28
|
||||
# Screen Size 240x400 launcher icon size 36x36
|
||||
edgeexplore.resourcePath = $(edgeexplore.resourcePath);resources-launcher-36-36;resources-icons-28
|
||||
edgeexplore2.resourcePath = $(edgeexplore2.resourcePath);resources-launcher-36-36;resources-icons-28
|
||||
# Screen Size 280x280 launcher icon size 40x40
|
||||
enduro.resourcePath = $(enduro.resourcePath);resources-launcher-40-40;resources-icons-32
|
||||
# Screen Size 416x416 launcher icon size 70x70
|
||||
d2airx10.resourcePath = $(d2airx10.resourcePath);resources-launcher-70-70;resources-icons-48
|
||||
# Screen Size 416x416 launcher icon size 60x60
|
||||
d2mach1.resourcePath = $(d2mach1.resourcePath);resources-launcher-60-60;resources-icons-48
|
||||
# Screen Size 416x416 launcher icon size 60x60
|
||||
epix2.resourcePath = $(epix2.resourcePath);resources-launcher-60-60;resources-icons-48
|
||||
# Screen Size 390x390 launcher icon size 60x60
|
||||
@ -69,8 +81,13 @@ epix2pro47mm.resourcePath = $(epix2pro47mm.resourcePath);resources-launcher-60-6
|
||||
# Screen Size 454x454 launcher icon size 60x60
|
||||
epix2pro51mm.resourcePath = $(epix2pro51mm.resourcePath);resources-launcher-60-60;resources-icons-53
|
||||
# Screen Size 240x240 launcher icon size 40x40
|
||||
fenix5.resourcePath = $(fenix5.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
fenix5plus.resourcePath = $(fenix5plus.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
# Screen Size 218x218 launcher icon size 36x36
|
||||
fenix5s.resourcePath = $(fenix5s.resourcePath);resources-launcher-36-36;resources-icons-26
|
||||
# Screen Size 240x240 launcher icon size 40x40
|
||||
fenix5splus.resourcePath = $(fenix5splus.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
fenix5x.resourcePath = $(fenix5x.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
fenix5xplus.resourcePath = $(fenix5xplus.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
# Screen Size 260x260 launcher icon size 40x40
|
||||
fenix6.resourcePath = $(fenix6.resourcePath);resources-launcher-40-40;resources-icons-30
|
||||
@ -85,6 +102,8 @@ fenix7.resourcePath = $(fenix7.resourcePath);resources-launcher-40-40;resources-
|
||||
# Screen Size 260x260 launcher icon size 40x40
|
||||
fenix7pro.resourcePath = $(fenix7pro.resourcePath);resources-launcher-40-40;resources-icons-30
|
||||
fenix7pronowifi.resourcePath = $(fenix7pronowifi.resourcePath);resources-launcher-40-40;resources-icons-30
|
||||
# Screen Size 218x218 launcher icon size 36x36
|
||||
fenixchronos.resourcePath = $(fenixchronos.resourcePath);resources-launcher-36-36;resources-icons-26
|
||||
# Screen Size 240x240 launcher icon size 40x40
|
||||
fenix7s.resourcePath = $(fenix7s.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
# Screen Size 240x240 launcher icon size 40x40
|
||||
@ -109,13 +128,19 @@ fr265s.resourcePath = $(fr265s.resourcePath);resources-launcher-60-60;resources-
|
||||
# Screen Size 208x208 launcher icon size 35x35
|
||||
fr55.resourcePath = $(fr55.resourcePath);resources-launcher-35-35;resources-icons-24
|
||||
# Screen Size 240x240 launcher icon size 40x40
|
||||
fr645.resourcePath = $(fr645.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
fr645m.resourcePath = $(fr645m.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
# Screen Size 240x240 launcher icon size 40x40
|
||||
fr745.resourcePath = $(fr745.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
fr935.resourcePath = $(fr935.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
fr945.resourcePath = $(fr945.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
fr945lte.resourcePath = $(fr945lte.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
# Screen Size 260x260 launcher icon size 40x40
|
||||
fr955.resourcePath = $(fr955.resourcePath);resources-launcher-40-40;resources-icons-30
|
||||
# Screen Size 454x454 launcher icon size 65x65
|
||||
fr965.resourcePath = $(fr965.resourcePath);resources-launcher-65-65;resources-icons-53
|
||||
# Screen Size 240x400 launcher icon size 38x33
|
||||
gpsmap67.resourcePath = $(gpsmap67.resourcePath);resources-launcher-33-33;resources-icons-28
|
||||
# Screen Size 176x176 launcher icon size 62x62
|
||||
instinct2.resourcePath = $(instinct2.resourcePath);resources-launcher-62-62;resources-icons-21
|
||||
# Screen Size 163x156 launcher icon size 54x54
|
||||
@ -131,6 +156,9 @@ legacyherofirstavenger.resourcePath = $(legacyherofirstavenger.resourcePath);res
|
||||
legacysagadarthvader.resourcePath = $(legacysagadarthvader.resourcePath);resources-launcher-35-35;resources-icons-30
|
||||
# Screen Size 218x218 launcher icon size 30x30
|
||||
legacysagarey.resourcePath = $(legacysagarey.resourcePath);resources-launcher-30-30;resources-icons-26
|
||||
# Screen Size 390x390 launcher icon size 60x60
|
||||
marq2.resourcePath = $(marq2.resourcePath);resources-launcher-60-60;resources-icons-46
|
||||
marq2aviator.resourcePath = $(marq2aviator.resourcePath);resources-launcher-60-60;resources-icons-46
|
||||
# Screen Size 240x240 launcher icon size 40x40
|
||||
marqadventurer.resourcePath = $(marqadventurer.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
marqathlete.resourcePath = $(marqathlete.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
@ -140,9 +168,8 @@ marqcommander.resourcePath = $(marqcommander.resourcePath);resources-launcher-40
|
||||
marqdriver.resourcePath = $(marqdriver.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
marqexpedition.resourcePath = $(marqexpedition.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
marqgolfer.resourcePath = $(marqgolfer.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||
# Screen Size 390x390 launcher icon size 60x60
|
||||
marq2.resourcePath = $(marq2.resourcePath);resources-launcher-60-60;resources-icons-46
|
||||
marq2aviator.resourcePath = $(marq2aviator.resourcePath);resources-launcher-60-60;resources-icons-46
|
||||
# Screen Size 480x800 launcher icon size 60x60
|
||||
montana7xx.resourcePath = $(montana7xx.resourcePath);resources-launcher-60-60;resources-icons-53
|
||||
# Screen Size 390x390 launcher icon size 60x60
|
||||
venu.resourcePath = $(venu.resourcePath);resources-launcher-60-60;resources-icons-46
|
||||
# Screen Size 416x416 launcher icon size 70x70
|
||||
@ -150,16 +177,24 @@ venu2.resourcePath = $(venu2.resourcePath);resources-launcher-70-70;resources-ic
|
||||
venu2plus.resourcePath = $(venu2plus.resourcePath);resources-launcher-70-70;resources-icons-48
|
||||
# Screen Size 360x360 launcher icon size 61x61
|
||||
venu2s.resourcePath = $(venu2s.resourcePath);resources-launcher-61-61;resources-icons-42
|
||||
# Screen Size 240x240 launcher icon size 36x36
|
||||
venusq.resourcePath = $(venusq.resourcePath);resources-launcher-36-36;resources-icons-28
|
||||
venusqm.resourcePath = $(venusqm.resourcePath);resources-launcher-36-36;resources-icons-28
|
||||
# Screen Size 320x360 launcher icon size 40x40
|
||||
venusq2.resourcePath = $(venusq2.resourcePath);resources-launcher-40-40;resources-icons-38
|
||||
venusq2m.resourcePath = $(venusq2m.resourcePath);resources-launcher-40-40;resources-icons-38
|
||||
# Screen Size 454x454 launcher icon size 70x70
|
||||
venu3.resourcePath = $(venu3.resourcePath);resources-launcher-70-70;resources-icons-53
|
||||
# Screen Size 390x390 launcher icon size 70x70
|
||||
venu3s.resourcePath = $(venu3s.resourcePath);resources-launcher-70-70;resources-icons-46
|
||||
# Screen Size 390x390 launcher icon size 60x60
|
||||
venud.resourcePath = $(venud.resourcePath);resources-launcher-60-60;resources-icons-46
|
||||
# Screen Size 240x240 launcher icon size 36x36
|
||||
venusq.resourcePath = $(venusq.resourcePath);resources-launcher-36-36;resources-icons-28
|
||||
# Screen Size 320x360 launcher icon size 40x40
|
||||
venusq2.resourcePath = $(venusq2.resourcePath);resources-launcher-40-40;resources-icons-38
|
||||
# Screen Size 320x360 launcher icon size 40x40
|
||||
venusq2m.resourcePath = $(venusq2m.resourcePath);resources-launcher-40-40;resources-icons-38
|
||||
# Screen Size 240x240 launcher icon size 36x36
|
||||
venusqm.resourcePath = $(venusqm.resourcePath);resources-launcher-36-36;resources-icons-28
|
||||
# Screen Size 240x240 launcher icon size 40x33
|
||||
vivoactive3.resourcePath = $(vivoactive3.resourcePath);resources-launcher-33-33;resources-icons-28
|
||||
vivoactive3m.resourcePath = $(vivoactive3m.resourcePath);resources-launcher-33-33;resources-icons-28
|
||||
vivoactive3mlte.resourcePath = $(vivoactive3mlte.resourcePath);resources-launcher-33-33;resources-icons-28
|
||||
# Screen Size 260x260 launcher icon size 35x35
|
||||
vivoactive4.resourcePath = $(vivoactive4.resourcePath);resources-launcher-35-35;resources-icons-30
|
||||
# Screen Size 218x218 launcher icon size 30x30
|
||||
|
17
resources-launcher-33-33/drawables.xml
Normal file
17
resources-launcher-33-33/drawables.xml
Normal file
@ -0,0 +1,17 @@
|
||||
<!--
|
||||
|
||||
Distributed under MIT Licence
|
||||
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||
|
||||
|
||||
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||
tested on a Venu 2 device. The source code is provided at:
|
||||
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||
|
||||
P A Abbey & J D Abbey & Someone0nEarth, 31 October 2023
|
||||
|
||||
-->
|
||||
|
||||
<drawables>
|
||||
<bitmap id="LauncherIcon" filename="launcher.png" />
|
||||
</drawables>
|
BIN
resources-launcher-33-33/launcher.png
Normal file
BIN
resources-launcher-33-33/launcher.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.2 KiB |
Reference in New Issue
Block a user