AndroidAPS/wear/src/main/java/info/nightscout/androidaps/complications/IobIconComplication.java
2022-04-22 22:19:10 +02:00

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