mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-06-24 14:00:48 +02:00
46 lines
1.6 KiB
Java
46 lines
1.6 KiB
Java
|
/* Copyright (C) 2015-2020 0nse, Andreas Shimokawa, Carsten Pfeiffer,
|
||
|
Daniele Gobbetti, Dikay900, Pavel Elagin, vanous, walkjivefly
|
||
|
|
||
|
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/>. */
|
||
|
package nodomain.freeyourgadget.gadgetbridge.activities.charts;
|
||
|
|
||
|
/**
|
||
|
* Awkward class that helps in translating long timestamp
|
||
|
* values to float (sic!) values. It basically rebases all
|
||
|
* timestamps to a base (the very first) timestamp value.
|
||
|
* <p>
|
||
|
* It does this so that the large timestamp values can be used
|
||
|
* floating point values, where the mantissa is just 24 bits.
|
||
|
*/
|
||
|
public class TimestampTranslation {
|
||
|
private int tsOffset = -1;
|
||
|
|
||
|
public int shorten(int timestamp) {
|
||
|
if (tsOffset == -1) {
|
||
|
tsOffset = timestamp;
|
||
|
return 0;
|
||
|
}
|
||
|
return timestamp - tsOffset;
|
||
|
}
|
||
|
|
||
|
public int toOriginalValue(int timestamp) {
|
||
|
if (tsOffset == -1) {
|
||
|
return timestamp;
|
||
|
}
|
||
|
return timestamp + tsOffset;
|
||
|
}
|
||
|
}
|