package com.dappervision.wearscript.dataproviders; import com.dappervision.wearscript.managers.DataManager; public abstract class DataProvider { protected DataManager parent; protected long samplePeriod; private long lastTimestamp; private int type; private String name; DataProvider(DataManager parent, long samplePeriod, int type, String name) { this.parent = parent; this.samplePeriod = samplePeriod; this.type = type; this.name = name; } public String getName() { return name; } public int getType() { return type; } public void unregister() { this.parent = null; } public void remoteSample(DataPoint dp) { if (!useSample(dp.timestampRaw)) return; parent.queue(dp); } protected boolean useSample(long timestamp) { if (timestamp - lastTimestamp < samplePeriod) return false; lastTimestamp = timestamp; return true; } }