2024-01-10 18:54:00 +01:00
|
|
|
/* Copyright (C) 2016-2024 Andreas Shimokawa, Carsten Pfeiffer
|
2017-03-10 14:53:19 +01:00
|
|
|
|
|
|
|
This file is part of Gadgetbridge.
|
|
|
|
|
|
|
|
Gadgetbridge is free software: you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU Affero General Public License as published
|
|
|
|
by the Free Software Foundation, either version 3 of the License, or
|
|
|
|
(at your option) any later version.
|
|
|
|
|
|
|
|
Gadgetbridge is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU Affero General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU Affero General Public License
|
2024-01-10 18:54:00 +01:00
|
|
|
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
2016-05-05 10:19:01 +02:00
|
|
|
package nodomain.freeyourgadget.gadgetbridge.entities;
|
|
|
|
|
|
|
|
import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider;
|
|
|
|
import nodomain.freeyourgadget.gadgetbridge.model.ActivitySample;
|
|
|
|
import nodomain.freeyourgadget.gadgetbridge.util.DateTimeUtils;
|
|
|
|
|
|
|
|
public abstract class AbstractActivitySample implements ActivitySample {
|
|
|
|
private SampleProvider mProvider;
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public SampleProvider getProvider() {
|
|
|
|
return mProvider;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setProvider(SampleProvider provider) {
|
|
|
|
mProvider = provider;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public int getKind() {
|
|
|
|
return getProvider().normalizeType(getRawKind());
|
|
|
|
}
|
|
|
|
|
2016-07-27 23:34:13 +02:00
|
|
|
@Override
|
|
|
|
public int getRawKind() {
|
|
|
|
return NOT_MEASURED;
|
|
|
|
}
|
|
|
|
|
2016-05-05 10:19:01 +02:00
|
|
|
@Override
|
|
|
|
public float getIntensity() {
|
|
|
|
return getProvider().normalizeIntensity(getRawIntensity());
|
|
|
|
}
|
|
|
|
|
2016-07-27 23:34:13 +02:00
|
|
|
public void setRawKind(int kind) {
|
|
|
|
}
|
2016-05-16 23:45:21 +02:00
|
|
|
|
2016-07-27 23:34:13 +02:00
|
|
|
public void setRawIntensity(int intensity) {
|
|
|
|
}
|
2016-05-16 23:45:21 +02:00
|
|
|
|
2016-07-27 23:34:13 +02:00
|
|
|
public void setSteps(int steps) {
|
|
|
|
}
|
2016-06-16 21:54:53 +02:00
|
|
|
|
2016-09-04 00:02:58 +02:00
|
|
|
/**
|
|
|
|
* Unix timestamp of the sample, i.e. the number of seconds since 1970-01-01 00:00:00 UTC.
|
|
|
|
*/
|
2016-06-16 21:54:53 +02:00
|
|
|
public abstract void setTimestamp(int timestamp);
|
|
|
|
|
2016-09-06 00:00:48 +02:00
|
|
|
public abstract void setUserId(long userId);
|
2016-06-16 21:54:53 +02:00
|
|
|
|
2016-07-27 23:34:13 +02:00
|
|
|
@Override
|
|
|
|
public void setHeartRate(int heartRate) {
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public int getHeartRate() {
|
|
|
|
return NOT_MEASURED;
|
|
|
|
}
|
2016-06-16 21:54:53 +02:00
|
|
|
|
2016-09-06 00:00:48 +02:00
|
|
|
public abstract void setDeviceId(long deviceId);
|
2016-06-16 21:54:53 +02:00
|
|
|
|
2016-09-06 00:00:48 +02:00
|
|
|
public abstract long getDeviceId();
|
2016-06-16 21:54:53 +02:00
|
|
|
|
2016-09-06 00:00:48 +02:00
|
|
|
public abstract long getUserId();
|
2016-07-27 23:34:13 +02:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public int getRawIntensity() {
|
|
|
|
return NOT_MEASURED;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public int getSteps() {
|
|
|
|
return NOT_MEASURED;
|
|
|
|
}
|
|
|
|
|
2016-05-05 10:19:01 +02:00
|
|
|
@Override
|
|
|
|
public String toString() {
|
2016-11-22 00:03:23 +01:00
|
|
|
int kind = getProvider() != null ? getKind() : ActivitySample.NOT_MEASURED;
|
|
|
|
float intensity = getProvider() != null ? getIntensity() : ActivitySample.NOT_MEASURED;
|
2016-05-05 10:19:01 +02:00
|
|
|
return getClass().getSimpleName() + "{" +
|
|
|
|
"timestamp=" + DateTimeUtils.formatDateTime(DateTimeUtils.parseTimeStamp(getTimestamp())) +
|
2016-11-22 00:03:23 +01:00
|
|
|
", intensity=" + intensity +
|
2016-05-05 10:19:01 +02:00
|
|
|
", steps=" + getSteps() +
|
2016-07-27 23:34:13 +02:00
|
|
|
", heartrate=" + getHeartRate() +
|
2016-11-22 00:03:23 +01:00
|
|
|
", type=" + kind +
|
2016-06-16 21:54:53 +02:00
|
|
|
", userId=" + getUserId() +
|
|
|
|
", deviceId=" + getDeviceId() +
|
2016-05-05 10:19:01 +02:00
|
|
|
'}';
|
|
|
|
}
|
|
|
|
}
|