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),
|
||||
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),
|
||||
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;
|
||||
|
||||
+14
@@ -6,20 +6,25 @@ import nodomain.freeyourgadget.gadgetbridge.model.ActivityKind;
|
||||
|
||||
// Taken from CHANGELOG.fit of a Venu 3,
|
||||
// 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
|
||||
public enum GarminSport {
|
||||
GENERIC(0, 0, ActivityKind.ACTIVITY),
|
||||
EXERCISE(0, 23, ActivityKind.EXERCISE),
|
||||
NAVIGATE(0, 50, ActivityKind.NAVIGATE),
|
||||
TRACK_ME(0, 51, ActivityKind.TRACK_ME),
|
||||
MAP(0, 52, ActivityKind.MAP),
|
||||
BREATHING(0, 62, ActivityKind.BREATHWORK),
|
||||
EXPEDITION(0, 66, ActivityKind.EXPEDITION),
|
||||
ADVENTURE_RACE(0, 82, ActivityKind.ADVENTURE_RACE),
|
||||
ANCHOR(0, 89, ActivityKind.ANCHOR),
|
||||
RUN(1, 0, ActivityKind.RUNNING),
|
||||
TREADMILL(1, 1, ActivityKind.TREADMILL),
|
||||
STREET_RUN(1, 2, ActivityKind.STREET_RUNNING),
|
||||
TRAIL_RUN(1, 3, ActivityKind.TRAIL_RUN),
|
||||
TRACK_RUN(1, 4, ActivityKind.TRACK_RUN),
|
||||
INDOOR_TRACK(1, 45, ActivityKind.INDOOR_TRACK),
|
||||
ORIENTEERING(1, 50, ActivityKind.ORIENTEERING),
|
||||
VIRTUAL_RUN(1, 58, ActivityKind.VIRTUAL_RUN),
|
||||
OBSTACLE_RACING(1, 59, ActivityKind.OBSTACLE_RACE),
|
||||
ULTRA_RUN(1, 67, ActivityKind.ULTRA_RUN),
|
||||
@@ -35,11 +40,15 @@ public enum GarminSport {
|
||||
E_MTB(2, 47, ActivityKind.E_MOUNTAIN_BIKE),
|
||||
BIKE_COMMUTE(2, 48, ActivityKind.BIKE_COMMUTE),
|
||||
BIKE_TOUR(2, 49, ActivityKind.BIKE_TOUR),
|
||||
VIRTUAL_CYCLING(2, 58, ActivityKind.INDOOR_CYCLING),
|
||||
HANDCYCLING_INDOOR(2, 88, ActivityKind.HANDCYCLING_INDOOR),
|
||||
TRANSITION(3, 0, ActivityKind.TRANSITION),
|
||||
FITNESS_EQUIPMENT(4, 0, ActivityKind.FITNESS_EQUIPMENT),
|
||||
INDOOR_ROWING(4, 14, ActivityKind.ROWING_MACHINE),
|
||||
ELLIPTICAL(4, 15, ActivityKind.ELLIPTICAL_TRAINER),
|
||||
STAIR_STEPPER(4, 16, ActivityKind.STAIR_STEPPER),
|
||||
CALISTHENICS(4, 20, ActivityKind.STRENGTH_TRAINING),
|
||||
YOGA_EQUIPMENT(4, 43, ActivityKind.YOGA),
|
||||
PILATES(4, 44, ActivityKind.PILATES),
|
||||
SWIMMING(5, 0, ActivityKind.SWIMMING),
|
||||
POOL_SWIM(5, 17, ActivityKind.POOL_SWIM),
|
||||
@@ -51,6 +60,7 @@ public enum GarminSport {
|
||||
TABLE_TENNIS(8, 97, ActivityKind.TABLE_TENNIS),
|
||||
AMERICAN_FOOTBALL(9, 0, ActivityKind.AMERICAN_FOOTBALL),
|
||||
TRAINING(10, 0, ActivityKind.TRAINING),
|
||||
STRETCHING(10, 19, ActivityKind.FLEXIBILITY),
|
||||
STRENGTH(10, 20, ActivityKind.STRENGTH_TRAINING),
|
||||
CARDIO(10, 26, ActivityKind.CARDIO),
|
||||
YOGA(10, 43, ActivityKind.YOGA),
|
||||
@@ -60,12 +70,14 @@ 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),
|
||||
BACKCOUNTRY_SKI(13, 37, ActivityKind.BACKCOUNTRY_SKIING),
|
||||
SNOWBOARD(14, 0, ActivityKind.SNOWBOARDING),
|
||||
BACKCOUNTRY_SNOWBOARD(14, 37, ActivityKind.BACKCOUNTRY_SNOWBOARDING),
|
||||
ROWING(15, 0, ActivityKind.ROWING),
|
||||
ROW_INDOOR(15, 14, ActivityKind.ROWING_MACHINE),
|
||||
MOUNTAINEERING(16, 0, ActivityKind.MOUNTAINEERING),
|
||||
BACKCOUNTRY_MOUNTAINEERING(16, 37, ActivityKind.MOUNTAINEERING),
|
||||
HIKE(17, 0, ActivityKind.HIKING),
|
||||
MULTISPORT(18, 0, ActivityKind.MULTISPORT),
|
||||
PADDLING(19, 0, ActivityKind.PADDLING),
|
||||
@@ -107,11 +119,13 @@ public enum GarminSport {
|
||||
BASEBALL(49, 0, ActivityKind.BASEBALL),
|
||||
SOFTBALL(50, 0, ActivityKind.SOFTBALL),
|
||||
SOFTBALL_SLOW_PITCH(51, 0, ActivityKind.SOFTBALL_SLOW_PITCH),
|
||||
STOPWATCH(52, 0, ActivityKind.STOP_WATCH),
|
||||
SINGLE_GAS_DIVING(53, 53, ActivityKind.SCUBA_DIVING),
|
||||
MULTI_GAS_DIVING(53, 54, ActivityKind.SCUBA_DIVING),
|
||||
GAUGE_DIVING(53, 55, ActivityKind.DIVING),
|
||||
APNEA_DIVING(53, 56, ActivityKind.FREE_DIVING),
|
||||
APNEA_HUNTING(53, 57, ActivityKind.FREE_DIVING),
|
||||
CCR_DIVING(53, 63, ActivityKind.CCR_DIVING),
|
||||
SHOOTING(56, 0, ActivityKind.SHOOTING),
|
||||
AUTO_RACING(57, 0, ActivityKind.AUTO_RACING),
|
||||
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="error_showing_changelog">Error showing Changelog</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="bottom_nav_dashboard">Dashboard</string>
|
||||
<string name="bottom_nav_devices">Devices</string>
|
||||
|
||||
Reference in New Issue
Block a user