1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-12-13 04:07:50 +01:00
Gadgetbridge/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/entities/AbstractActivitySample.java

106 lines
3.0 KiB
Java
Raw Normal View History

2021-01-10 23:37:09 +01:00
/* Copyright (C) 2016-2021 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
along with this program. If not, see <http://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());
}
@Override
public int getRawKind() {
return NOT_MEASURED;
}
2016-05-05 10:19:01 +02:00
@Override
public float getIntensity() {
return getProvider().normalizeIntensity(getRawIntensity());
}
public void setRawKind(int kind) {
}
2016-05-16 23:45:21 +02:00
public void setRawIntensity(int intensity) {
}
2016-05-16 23:45:21 +02:00
public void setSteps(int steps) {
}
2016-06-16 21:54:53 +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);
public abstract void setUserId(long userId);
2016-06-16 21:54:53 +02:00
@Override
public void setHeartRate(int heartRate) {
}
@Override
public int getHeartRate() {
return NOT_MEASURED;
}
2016-06-16 21:54:53 +02:00
public abstract void setDeviceId(long deviceId);
2016-06-16 21:54:53 +02:00
public abstract long getDeviceId();
2016-06-16 21:54:53 +02:00
public abstract long getUserId();
@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() {
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())) +
", intensity=" + intensity +
2016-05-05 10:19:01 +02:00
", steps=" + getSteps() +
", heartrate=" + getHeartRate() +
", type=" + kind +
2016-06-16 21:54:53 +02:00
", userId=" + getUserId() +
", deviceId=" + getDeviceId() +
2016-05-05 10:19:01 +02:00
'}';
}
}