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; } }