50 lines
1.9 KiB
Java
50 lines
1.9 KiB
Java
package info.nightscout.androidaps.complications;
|
|
|
|
import android.app.PendingIntent;
|
|
import android.graphics.drawable.Icon;
|
|
import android.support.wearable.complications.ComplicationData;
|
|
import android.support.wearable.complications.ComplicationText;
|
|
|
|
import info.nightscout.androidaps.R;
|
|
import info.nightscout.androidaps.data.RawDisplayData;
|
|
import info.nightscout.androidaps.interaction.utils.SmallestDoubleString;
|
|
import info.nightscout.shared.logging.LTag;
|
|
|
|
/*
|
|
* Created by dlvoy on 2019-11-12
|
|
*/
|
|
public class IobIconComplication extends BaseComplicationProviderService {
|
|
|
|
public ComplicationData buildComplicationData(int dataType, RawDisplayData raw, PendingIntent complicationPendingIntent) {
|
|
|
|
ComplicationData complicationData = null;
|
|
|
|
if (dataType == ComplicationData.TYPE_SHORT_TEXT) {
|
|
final String iob = new SmallestDoubleString(raw.getStatus().getIobSum(), SmallestDoubleString.Units.USE).minimise(displayFormat.MAX_FIELD_LEN_SHORT);
|
|
|
|
final ComplicationData.Builder builder = new ComplicationData.Builder(ComplicationData.TYPE_SHORT_TEXT)
|
|
.setShortText(ComplicationText.plainText(iob))
|
|
.setIcon(Icon.createWithResource(
|
|
this, R.drawable.ic_ins))
|
|
.setBurnInProtectionIcon(
|
|
Icon.createWithResource(
|
|
this, R.drawable.ic_ins_burnin))
|
|
.setTapAction(complicationPendingIntent);
|
|
|
|
complicationData = builder.build();
|
|
} else {
|
|
aapsLogger.warn(LTag.WEAR, "Unexpected complication type " + dataType);
|
|
}
|
|
return complicationData;
|
|
}
|
|
|
|
@Override
|
|
public String getProviderCanonicalName() {
|
|
return IobIconComplication.class.getCanonicalName();
|
|
}
|
|
|
|
@Override
|
|
public ComplicationAction getComplicationAction() {
|
|
return ComplicationAction.BOLUS;
|
|
}
|
|
}
|