mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2026-07-31 07:44:24 +02:00
Huawei/Honor: Enable VO2 Max for supported devices
This commit is contained in:
+1
-1
@@ -330,7 +330,7 @@ public abstract class AbstractDeviceCoordinator implements DeviceCoordinator {
|
||||
@Override
|
||||
@Nullable
|
||||
public Vo2MaxSampleProvider<? extends Vo2MaxSample> getVo2MaxSampleProvider(GBDevice device, DaoSession session) {
|
||||
return null;
|
||||
return new WorkoutVo2MaxSampleProvider(device, session);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+2
-10
@@ -1,9 +1,9 @@
|
||||
package nodomain.freeyourgadget.gadgetbridge.devices.garmin;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.net.Uri;
|
||||
import android.app.Activity;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
@@ -28,12 +28,10 @@ import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpec
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.GenericTrainingLoadAcuteSampleProvider;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.GenericTrainingLoadChronicSampleProvider;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.WorkoutLoadSampleProvider;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.WorkoutVo2MaxSampleProvider;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.TimeSampleProvider;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.Vo2MaxSampleProvider;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.WorkoutLoadSampleProvider;
|
||||
import nodomain.freeyourgadget.gadgetbridge.entities.BaseActivitySummaryDao;
|
||||
import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession;
|
||||
import nodomain.freeyourgadget.gadgetbridge.entities.GarminActivitySampleDao;
|
||||
@@ -70,7 +68,6 @@ import nodomain.freeyourgadget.gadgetbridge.model.RestingMetabolicRateSample;
|
||||
import nodomain.freeyourgadget.gadgetbridge.model.SleepScoreSample;
|
||||
import nodomain.freeyourgadget.gadgetbridge.model.Spo2Sample;
|
||||
import nodomain.freeyourgadget.gadgetbridge.model.StressSample;
|
||||
import nodomain.freeyourgadget.gadgetbridge.model.Vo2MaxSample;
|
||||
import nodomain.freeyourgadget.gadgetbridge.model.WorkoutLoadSample;
|
||||
import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport;
|
||||
import nodomain.freeyourgadget.gadgetbridge.service.devices.garmin.GarminSupport;
|
||||
@@ -191,11 +188,6 @@ public abstract class GarminCoordinator extends AbstractBLEDeviceCoordinator {
|
||||
return new GenericTrainingLoadChronicSampleProvider(device, session);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Vo2MaxSampleProvider<? extends Vo2MaxSample> getVo2MaxSampleProvider(final GBDevice device, final DaoSession session) {
|
||||
return new WorkoutVo2MaxSampleProvider(device, session);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TimeSampleProvider<? extends Spo2Sample> getSpo2SampleProvider(final GBDevice device, final DaoSession session) {
|
||||
return new GarminSpo2SampleProvider(device, session);
|
||||
|
||||
-8
@@ -51,8 +51,6 @@ import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.SleepAsAndroidFeature;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.Vo2MaxSampleProvider;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.WorkoutVo2MaxSampleProvider;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiCoordinator;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiExtendedSampleProvider;
|
||||
@@ -60,7 +58,6 @@ import nodomain.freeyourgadget.gadgetbridge.entities.AbstractActivitySample;
|
||||
import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession;
|
||||
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
|
||||
import nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryParser;
|
||||
import nodomain.freeyourgadget.gadgetbridge.model.Vo2MaxSample;
|
||||
import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport;
|
||||
import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.HuamiLanguageType;
|
||||
import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.HuamiVibrationPatternNotificationType;
|
||||
@@ -314,11 +311,6 @@ public abstract class ZeppOsCoordinator extends HuamiCoordinator {
|
||||
return new HuamiExtendedSampleProvider(device, session);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Vo2MaxSampleProvider<? extends Vo2MaxSample> getVo2MaxSampleProvider(final GBDevice device, final DaoSession session) {
|
||||
return new WorkoutVo2MaxSampleProvider(device, session);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActivitySummaryParser getActivitySummaryParser(final GBDevice device, final Context context) {
|
||||
return new ZeppOsActivitySummaryParser(context);
|
||||
|
||||
+6
@@ -311,6 +311,12 @@ public abstract class HuaweiCoordinator extends AbstractDeviceCoordinator {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean supportsVO2Max(@NonNull final GBDevice device) {
|
||||
// #5770 - most Huawei and Honor devices seem to support it
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean supportsHeartRateMeasurement(@NonNull final GBDevice device) {
|
||||
return HuaweiDeviceStateManager.get(device).supportsHeartRate(device);
|
||||
|
||||
+5
@@ -51,4 +51,9 @@ public class HonorBand3Coordinator extends HuaweiLECoordinator {
|
||||
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
|
||||
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean supportsVO2Max(@NonNull final GBDevice device) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
+5
@@ -46,4 +46,9 @@ public class HonorBand4Coordinator extends HuaweiLECoordinator {
|
||||
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
|
||||
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean supportsVO2Max(@NonNull final GBDevice device) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
+5
@@ -46,4 +46,9 @@ public class HonorBand5Coordinator extends HuaweiLECoordinator {
|
||||
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
|
||||
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean supportsVO2Max(@NonNull final GBDevice device) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
+5
@@ -46,4 +46,9 @@ public class HonorBand7Coordinator extends HuaweiLECoordinator {
|
||||
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
|
||||
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean supportsVO2Max(@NonNull final GBDevice device) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
+5
@@ -46,4 +46,9 @@ public class HuaweiBandAw70Coordinator extends HuaweiLECoordinator {
|
||||
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
|
||||
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean supportsVO2Max(@NonNull final GBDevice device) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
+5
@@ -46,4 +46,9 @@ public class HuaweiTalkBandB6Coordinator extends HuaweiBRCoordinator {
|
||||
public DeviceCoordinator.DeviceKind getDeviceKind(@NonNull GBDevice device) {
|
||||
return DeviceCoordinator.DeviceKind.FITNESS_BAND;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean supportsVO2Max(@NonNull final GBDevice device) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user