Garmin: add more sport / subsport codes

This commit is contained in:
Thomas Kuehne
2026-04-24 20:50:55 +00:00
parent fc36a2e073
commit f0c5748eaa
5 changed files with 41 additions and 1 deletions
@@ -341,6 +341,11 @@ public enum ActivityKind {
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),
FLOORBALL(0x04000138, R.string.activity_type_floorball, R.drawable.ic_activity_hockey),
GEOCACHING(0x04000139, R.string.activity_type_geocaching, R.drawable.ic_travel_explore),
MOBILITY(0x0400013A, R.string.activity_type_mobility),
MOTOR_SPORT(0x0400013B, R.string.activity_type_motor_sport, R.drawable.ic_sports_motorsports),
CYCLING_DOWNHILL(0x0400013C, R.string.activity_type_cycling_downhill, R.drawable.ic_landscape),
INDOOR_SKIING(0x0400013D, R.string.activity_type_indoor_skiing, R.drawable.ic_activity_skiing),
;
private final int code;
@@ -446,6 +451,7 @@ public enum ActivityKind {
case GRAVEL_BIKE:
case MOUNTAIN_BIKE:
case ROAD_BIKE:
case CYCLING_DOWNHILL:
return CycleUnit.REVOLUTIONS;
case FLEXIBILITY:
case BARBELL:
@@ -10,6 +10,7 @@ import nodomain.freeyourgadget.gadgetbridge.model.ActivityKind;
// and FIT files
public enum GarminSport {
GENERIC(0, 0, ActivityKind.ACTIVITY),
ELLIPTICAL_TRAINER(0, 15, ActivityKind.ELLIPTICAL_TRAINER),
EXERCISE(0, 23, ActivityKind.EXERCISE),
NAVIGATE(0, 50, ActivityKind.NAVIGATE),
TRACK_ME(0, 51, ActivityKind.TRACK_ME),
@@ -32,6 +33,7 @@ public enum GarminSport {
BIKE_INDOOR(2, 6, ActivityKind.INDOOR_CYCLING),
ROAD_BIKE(2, 7, ActivityKind.ROAD_BIKE),
MTB(2, 8, ActivityKind.MOUNTAIN_BIKE),
CYCLING_DOWNHILL(2, 9, ActivityKind.CYCLING_DOWNHILL),
CYCLOCROSS(2, 11, ActivityKind.CYCLO_CROSS),
HANDCYCLING(2, 12, ActivityKind.HANDCYCLING),
E_BIKE(2, 28, ActivityKind.E_BIKE),
@@ -48,6 +50,7 @@ public enum GarminSport {
ELLIPTICAL(4, 15, ActivityKind.ELLIPTICAL_TRAINER),
STAIR_STEPPER(4, 16, ActivityKind.STAIR_STEPPER),
CALISTHENICS(4, 20, ActivityKind.STRENGTH_TRAINING),
INDOOR_SKIING(4, 25, ActivityKind.INDOOR_SKIING),
YOGA_EQUIPMENT(4, 43, ActivityKind.YOGA),
PILATES(4, 44, ActivityKind.PILATES),
SWIMMING(5, 0, ActivityKind.SWIMMING),
@@ -70,7 +73,7 @@ public enum GarminSport {
XC_CLASSIC_SKI(12, 0, ActivityKind.XC_CLASSIC_SKI),
XC_SKATE_SKI(12, 42, ActivityKind.XC_SKATE_SKI),
SKI(13, 0, ActivityKind.SKIING),
TELEMARKSKIING(13, 9, ActivityKind.XC_CLASSIC_SKI),
TELEMARK_SKIING(13, 9, ActivityKind.XC_CLASSIC_SKI),
BACKCOUNTRY_SKI(13, 37, ActivityKind.BACKCOUNTRY_SKIING),
SNOWBOARD(14, 0, ActivityKind.SNOWBOARDING),
BACKCOUNTRY_SNOWBOARD(14, 37, ActivityKind.BACKCOUNTRY_SNOWBOARDING),
@@ -160,12 +163,18 @@ public enum GarminSport {
VOLLEYBALL(75, 0, ActivityKind.VOLLEYBALL),
WATER_TUBING(76, 0, ActivityKind.WATER_TUBING),
WAKESURFING(77, 0, ActivityKind.WAKESURFING),
WATER_SPORT(78, 0, ActivityKind.OTHER_WATER_SPORTS),
ARCHERY(79, 0, ActivityKind.ARCHERY),
MIXED_MARTIAL_ARTS(80, 0, ActivityKind.MIXED_MARTIAL_ARTS), // aka MMA
MOTOR_SPORT(81, 0, ActivityKind.MOTOR_SPORT),
OVERLAND(81, 98, ActivityKind.OVERLANDING),
SNORKELING(82, 0, ActivityKind.SNORKELING),
DANCE(83, 0, ActivityKind.DANCE),
JUMP_ROPE(84, 0, ActivityKind.JUMP_ROPING),
POOL_APNEA(85, 0, ActivityKind.APNEA_TRAINING),
MOBILITY(86, 0, ActivityKind.MOBILITY),
GEOCACHING(87, 0, ActivityKind.GEOCACHING),
CANOEING(88, 0, ActivityKind.CANOEING),
TROLLING_MOTOR(99, 0, ActivityKind.TROLLING_MOTOR),
;
@@ -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="M40,720L280,400L460,640L760,640L560,374L460,506L410,440L560,240L920,720L40,720ZM561,640L561,640L561,640L561,640ZM200,640L360,640L280,533L200,640ZM200,640L280,640L360,640L200,640Z"/>
</vector>
@@ -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="M480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480L480,480Q480,480 480,480Q480,480 480,480ZM560,720Q660,720 730,650Q800,580 800,480Q800,379 726.5,309.5Q653,240 550,240Q502,240 457,251Q412,262 370,284L470,324Q511,341 535.5,376.5Q560,412 560,456Q560,516 518.5,558Q477,600 418,600L162,600Q160,624 160,654.5Q160,685 160,720Q160,720 160,720Q160,720 160,720L560,720ZM176,520L416,520Q443,520 461.5,501.5Q480,483 480,456Q480,437 469.5,421.5Q459,406 440,398L292,338Q250,375 220.5,422Q191,469 176,520ZM560,800L160,800Q127,800 103.5,776.5Q80,753 80,720L80,630Q80,532 117,446.5Q154,361 217.5,297.5Q281,234 367,197Q453,160 550,160Q618,160 678,185Q738,210 783,253.5Q828,297 854,355Q880,413 880,480Q880,546 855,604.5Q830,663 786.5,706.5Q743,750 684.5,775Q626,800 560,800Z"/>
</vector>
+5
View File
@@ -1813,6 +1813,11 @@
<string name="activity_type_ultra_run">Ultra Run</string>
<string name="activity_type_virtual_run">Virtual Run</string>
<string name="activity_type_xc_skate_ski">XC Skate Ski</string>
<string name="activity_type_geocaching">Geocaching</string>
<string name="activity_type_mobility">Mobility</string>
<string name="activity_type_motor_sport">Motor Sport</string>
<string name="activity_type_cycling_downhill">Downhill</string>
<string name="activity_type_indoor_skiing">Indoor Skiing</string>
<string name="activity_summaries">Sport Activities</string>
<string name="activity_summary_detail">Sport Activity Detail</string>
<string name="activity_summary_edit_name_title">Edit label</string>