mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2026-07-31 07:44:24 +02:00
Garmin: add more FIT sport types
example FIT files for testing: STREET_RUN (sport:1, subsport:2) https://github.com/ThomasKuehne/FIT-test-files/tree/main/Activity/2025/Activity_20250410_Running_Nike_1794463148babf53fb33b260a19a91fe.fit VIRTUAL_CYCLING (sport:2, subsport:58) https://github.com/ThomasKuehne/FIT-test-files/tree/main/Activity/2026/Activity_20260110_Cycling_Mywhoosh_cbefa61fcd6d7c0f9916e07d119fbceb.fit INDOOR_ROWING (sport:4, subsport:14) https://github.com/ThomasKuehne/FIT-test-files/tree/main/Activity/2017/Activity_20170518_FitnessEquipment_VivoActiveHr_94dbffeb8be296bb39027edc041a2963.fit STOPWATCH (sport:52, subsport:0) https://github.com/ThomasKuehne/FIT-test-files/tree/main/Activity/2023/Activity_20221129_52_Fenix5Plus_43621059f6fc664f8f3b577e2f1d8695.fit CCR_DIVING (sport:53, subsport:63) https://github.com/ThomasKuehne/FIT-test-files/tree/main/Activity/2017/Activity_20230816_Diving_Descent_d602dcb95b6701d1921e9d6a26594ebe.fit
This commit is contained in:
@@ -337,6 +337,9 @@ public enum ActivityKind {
|
|||||||
ULTRA_RUN(0x04000132, R.string.activity_type_ultra_run, R.drawable.ic_activity_trail_run),
|
ULTRA_RUN(0x04000132, R.string.activity_type_ultra_run, R.drawable.ic_activity_trail_run),
|
||||||
VIRTUAL_RUN(0x04000133, R.string.activity_type_virtual_run, R.drawable.ic_activity_indoor_running),
|
VIRTUAL_RUN(0x04000133, R.string.activity_type_virtual_run, R.drawable.ic_activity_indoor_running),
|
||||||
XC_SKATE_SKI(0x04000134, R.string.activity_type_xc_skate_ski, R.drawable.ic_activity_skiing),
|
XC_SKATE_SKI(0x04000134, R.string.activity_type_xc_skate_ski, R.drawable.ic_activity_skiing),
|
||||||
|
STREET_RUNNING(0x04000135, R.string.activity_type_street_running, R.drawable.ic_activity_road),
|
||||||
|
STOP_WATCH(0x04000136, R.string.activity_type_stop_watch, R.drawable.ic_timer),
|
||||||
|
CCR_DIVING(0x04000137, R.string.activity_type_ccr_diving, R.drawable.ic_activity_diving),
|
||||||
;
|
;
|
||||||
|
|
||||||
private final int code;
|
private final int code;
|
||||||
|
|||||||
+14
@@ -6,20 +6,25 @@ import nodomain.freeyourgadget.gadgetbridge.model.ActivityKind;
|
|||||||
|
|
||||||
// Taken from CHANGELOG.fit of a Venu 3,
|
// Taken from CHANGELOG.fit of a Venu 3,
|
||||||
// Garmin API doc (https://developer.garmin.com/connect-iq/api-docs/Toybox/Activity.html)
|
// Garmin API doc (https://developer.garmin.com/connect-iq/api-docs/Toybox/Activity.html)
|
||||||
|
// Suunto doc (https://aspartnercontent.blob.core.windows.net/apizone/docs/Activities.pdf)
|
||||||
// and FIT files
|
// and FIT files
|
||||||
public enum GarminSport {
|
public enum GarminSport {
|
||||||
GENERIC(0, 0, ActivityKind.ACTIVITY),
|
GENERIC(0, 0, ActivityKind.ACTIVITY),
|
||||||
|
EXERCISE(0, 23, ActivityKind.EXERCISE),
|
||||||
NAVIGATE(0, 50, ActivityKind.NAVIGATE),
|
NAVIGATE(0, 50, ActivityKind.NAVIGATE),
|
||||||
TRACK_ME(0, 51, ActivityKind.TRACK_ME),
|
TRACK_ME(0, 51, ActivityKind.TRACK_ME),
|
||||||
MAP(0, 52, ActivityKind.MAP),
|
MAP(0, 52, ActivityKind.MAP),
|
||||||
|
BREATHING(0, 62, ActivityKind.BREATHWORK),
|
||||||
EXPEDITION(0, 66, ActivityKind.EXPEDITION),
|
EXPEDITION(0, 66, ActivityKind.EXPEDITION),
|
||||||
ADVENTURE_RACE(0, 82, ActivityKind.ADVENTURE_RACE),
|
ADVENTURE_RACE(0, 82, ActivityKind.ADVENTURE_RACE),
|
||||||
ANCHOR(0, 89, ActivityKind.ANCHOR),
|
ANCHOR(0, 89, ActivityKind.ANCHOR),
|
||||||
RUN(1, 0, ActivityKind.RUNNING),
|
RUN(1, 0, ActivityKind.RUNNING),
|
||||||
TREADMILL(1, 1, ActivityKind.TREADMILL),
|
TREADMILL(1, 1, ActivityKind.TREADMILL),
|
||||||
|
STREET_RUN(1, 2, ActivityKind.STREET_RUNNING),
|
||||||
TRAIL_RUN(1, 3, ActivityKind.TRAIL_RUN),
|
TRAIL_RUN(1, 3, ActivityKind.TRAIL_RUN),
|
||||||
TRACK_RUN(1, 4, ActivityKind.TRACK_RUN),
|
TRACK_RUN(1, 4, ActivityKind.TRACK_RUN),
|
||||||
INDOOR_TRACK(1, 45, ActivityKind.INDOOR_TRACK),
|
INDOOR_TRACK(1, 45, ActivityKind.INDOOR_TRACK),
|
||||||
|
ORIENTEERING(1, 50, ActivityKind.ORIENTEERING),
|
||||||
VIRTUAL_RUN(1, 58, ActivityKind.VIRTUAL_RUN),
|
VIRTUAL_RUN(1, 58, ActivityKind.VIRTUAL_RUN),
|
||||||
OBSTACLE_RACING(1, 59, ActivityKind.OBSTACLE_RACE),
|
OBSTACLE_RACING(1, 59, ActivityKind.OBSTACLE_RACE),
|
||||||
ULTRA_RUN(1, 67, ActivityKind.ULTRA_RUN),
|
ULTRA_RUN(1, 67, ActivityKind.ULTRA_RUN),
|
||||||
@@ -35,11 +40,15 @@ public enum GarminSport {
|
|||||||
E_MTB(2, 47, ActivityKind.E_MOUNTAIN_BIKE),
|
E_MTB(2, 47, ActivityKind.E_MOUNTAIN_BIKE),
|
||||||
BIKE_COMMUTE(2, 48, ActivityKind.BIKE_COMMUTE),
|
BIKE_COMMUTE(2, 48, ActivityKind.BIKE_COMMUTE),
|
||||||
BIKE_TOUR(2, 49, ActivityKind.BIKE_TOUR),
|
BIKE_TOUR(2, 49, ActivityKind.BIKE_TOUR),
|
||||||
|
VIRTUAL_CYCLING(2, 58, ActivityKind.INDOOR_CYCLING),
|
||||||
HANDCYCLING_INDOOR(2, 88, ActivityKind.HANDCYCLING_INDOOR),
|
HANDCYCLING_INDOOR(2, 88, ActivityKind.HANDCYCLING_INDOOR),
|
||||||
TRANSITION(3, 0, ActivityKind.TRANSITION),
|
TRANSITION(3, 0, ActivityKind.TRANSITION),
|
||||||
FITNESS_EQUIPMENT(4, 0, ActivityKind.FITNESS_EQUIPMENT),
|
FITNESS_EQUIPMENT(4, 0, ActivityKind.FITNESS_EQUIPMENT),
|
||||||
|
INDOOR_ROWING(4, 14, ActivityKind.ROWING_MACHINE),
|
||||||
ELLIPTICAL(4, 15, ActivityKind.ELLIPTICAL_TRAINER),
|
ELLIPTICAL(4, 15, ActivityKind.ELLIPTICAL_TRAINER),
|
||||||
STAIR_STEPPER(4, 16, ActivityKind.STAIR_STEPPER),
|
STAIR_STEPPER(4, 16, ActivityKind.STAIR_STEPPER),
|
||||||
|
CALISTHENICS(4, 20, ActivityKind.STRENGTH_TRAINING),
|
||||||
|
YOGA_EQUIPMENT(4, 43, ActivityKind.YOGA),
|
||||||
PILATES(4, 44, ActivityKind.PILATES),
|
PILATES(4, 44, ActivityKind.PILATES),
|
||||||
SWIMMING(5, 0, ActivityKind.SWIMMING),
|
SWIMMING(5, 0, ActivityKind.SWIMMING),
|
||||||
POOL_SWIM(5, 17, ActivityKind.POOL_SWIM),
|
POOL_SWIM(5, 17, ActivityKind.POOL_SWIM),
|
||||||
@@ -51,6 +60,7 @@ public enum GarminSport {
|
|||||||
TABLE_TENNIS(8, 97, ActivityKind.TABLE_TENNIS),
|
TABLE_TENNIS(8, 97, ActivityKind.TABLE_TENNIS),
|
||||||
AMERICAN_FOOTBALL(9, 0, ActivityKind.AMERICAN_FOOTBALL),
|
AMERICAN_FOOTBALL(9, 0, ActivityKind.AMERICAN_FOOTBALL),
|
||||||
TRAINING(10, 0, ActivityKind.TRAINING),
|
TRAINING(10, 0, ActivityKind.TRAINING),
|
||||||
|
STRETCHING(10, 19, ActivityKind.FLEXIBILITY),
|
||||||
STRENGTH(10, 20, ActivityKind.STRENGTH_TRAINING),
|
STRENGTH(10, 20, ActivityKind.STRENGTH_TRAINING),
|
||||||
CARDIO(10, 26, ActivityKind.CARDIO),
|
CARDIO(10, 26, ActivityKind.CARDIO),
|
||||||
YOGA(10, 43, ActivityKind.YOGA),
|
YOGA(10, 43, ActivityKind.YOGA),
|
||||||
@@ -60,12 +70,14 @@ public enum GarminSport {
|
|||||||
XC_CLASSIC_SKI(12, 0, ActivityKind.XC_CLASSIC_SKI),
|
XC_CLASSIC_SKI(12, 0, ActivityKind.XC_CLASSIC_SKI),
|
||||||
XC_SKATE_SKI(12, 42, ActivityKind.XC_SKATE_SKI),
|
XC_SKATE_SKI(12, 42, ActivityKind.XC_SKATE_SKI),
|
||||||
SKI(13, 0, ActivityKind.SKIING),
|
SKI(13, 0, ActivityKind.SKIING),
|
||||||
|
TELEMARKSKIING(13, 9, ActivityKind.XC_CLASSIC_SKI),
|
||||||
BACKCOUNTRY_SKI(13, 37, ActivityKind.BACKCOUNTRY_SKIING),
|
BACKCOUNTRY_SKI(13, 37, ActivityKind.BACKCOUNTRY_SKIING),
|
||||||
SNOWBOARD(14, 0, ActivityKind.SNOWBOARDING),
|
SNOWBOARD(14, 0, ActivityKind.SNOWBOARDING),
|
||||||
BACKCOUNTRY_SNOWBOARD(14, 37, ActivityKind.BACKCOUNTRY_SNOWBOARDING),
|
BACKCOUNTRY_SNOWBOARD(14, 37, ActivityKind.BACKCOUNTRY_SNOWBOARDING),
|
||||||
ROWING(15, 0, ActivityKind.ROWING),
|
ROWING(15, 0, ActivityKind.ROWING),
|
||||||
ROW_INDOOR(15, 14, ActivityKind.ROWING_MACHINE),
|
ROW_INDOOR(15, 14, ActivityKind.ROWING_MACHINE),
|
||||||
MOUNTAINEERING(16, 0, ActivityKind.MOUNTAINEERING),
|
MOUNTAINEERING(16, 0, ActivityKind.MOUNTAINEERING),
|
||||||
|
BACKCOUNTRY_MOUNTAINEERING(16, 37, ActivityKind.MOUNTAINEERING),
|
||||||
HIKE(17, 0, ActivityKind.HIKING),
|
HIKE(17, 0, ActivityKind.HIKING),
|
||||||
MULTISPORT(18, 0, ActivityKind.MULTISPORT),
|
MULTISPORT(18, 0, ActivityKind.MULTISPORT),
|
||||||
PADDLING(19, 0, ActivityKind.PADDLING),
|
PADDLING(19, 0, ActivityKind.PADDLING),
|
||||||
@@ -107,11 +119,13 @@ public enum GarminSport {
|
|||||||
BASEBALL(49, 0, ActivityKind.BASEBALL),
|
BASEBALL(49, 0, ActivityKind.BASEBALL),
|
||||||
SOFTBALL(50, 0, ActivityKind.SOFTBALL),
|
SOFTBALL(50, 0, ActivityKind.SOFTBALL),
|
||||||
SOFTBALL_SLOW_PITCH(51, 0, ActivityKind.SOFTBALL_SLOW_PITCH),
|
SOFTBALL_SLOW_PITCH(51, 0, ActivityKind.SOFTBALL_SLOW_PITCH),
|
||||||
|
STOPWATCH(52, 0, ActivityKind.STOP_WATCH),
|
||||||
SINGLE_GAS_DIVING(53, 53, ActivityKind.SCUBA_DIVING),
|
SINGLE_GAS_DIVING(53, 53, ActivityKind.SCUBA_DIVING),
|
||||||
MULTI_GAS_DIVING(53, 54, ActivityKind.SCUBA_DIVING),
|
MULTI_GAS_DIVING(53, 54, ActivityKind.SCUBA_DIVING),
|
||||||
GAUGE_DIVING(53, 55, ActivityKind.DIVING),
|
GAUGE_DIVING(53, 55, ActivityKind.DIVING),
|
||||||
APNEA_DIVING(53, 56, ActivityKind.FREE_DIVING),
|
APNEA_DIVING(53, 56, ActivityKind.FREE_DIVING),
|
||||||
APNEA_HUNTING(53, 57, ActivityKind.FREE_DIVING),
|
APNEA_HUNTING(53, 57, ActivityKind.FREE_DIVING),
|
||||||
|
CCR_DIVING(53, 63, ActivityKind.CCR_DIVING),
|
||||||
SHOOTING(56, 0, ActivityKind.SHOOTING),
|
SHOOTING(56, 0, ActivityKind.SHOOTING),
|
||||||
AUTO_RACING(57, 0, ActivityKind.AUTO_RACING),
|
AUTO_RACING(57, 0, ActivityKind.AUTO_RACING),
|
||||||
WINTER_SPORT(58, 0, ActivityKind.WINTER_SPORT),
|
WINTER_SPORT(58, 0, ActivityKind.WINTER_SPORT),
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:viewportWidth="960"
|
||||||
|
android:viewportHeight="960"
|
||||||
|
android:tint="?attr/colorControlNormal">
|
||||||
|
<path
|
||||||
|
android:fillColor="@android:color/white"
|
||||||
|
android:pathData="M160,800L160,160L240,160L240,800L160,800ZM440,800L440,640L520,640L520,800L440,800ZM720,800L720,160L800,160L800,800L720,800ZM440,560L440,400L520,400L520,560L440,560ZM440,320L440,160L520,160L520,320L440,320Z"/>
|
||||||
|
</vector>
|
||||||
@@ -3921,6 +3921,9 @@
|
|||||||
<string name="devicesetting_scannable_rssi_summary">The minimum RSSI threshold for detection</string>
|
<string name="devicesetting_scannable_rssi_summary">The minimum RSSI threshold for detection</string>
|
||||||
<string name="error_showing_changelog">Error showing Changelog</string>
|
<string name="error_showing_changelog">Error showing Changelog</string>
|
||||||
<string name="activity_type_worn">Worn</string>
|
<string name="activity_type_worn">Worn</string>
|
||||||
|
<string name="activity_type_street_running">Street Running</string>
|
||||||
|
<string name="activity_type_stop_watch">Stop Watch</string>
|
||||||
|
<string name="activity_type_ccr_diving">Closed-Circuit Rebreather</string>
|
||||||
<string name="dashboard_settings">Dashboard settings</string>
|
<string name="dashboard_settings">Dashboard settings</string>
|
||||||
<string name="bottom_nav_dashboard">Dashboard</string>
|
<string name="bottom_nav_dashboard">Dashboard</string>
|
||||||
<string name="bottom_nav_devices">Devices</string>
|
<string name="bottom_nav_devices">Devices</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user