2019-11-07 22:39:29 +01:00
|
|
|
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 android.util.Log;
|
|
|
|
|
|
|
|
import info.nightscout.androidaps.R;
|
2019-11-27 20:32:42 +01:00
|
|
|
import info.nightscout.androidaps.data.RawDisplayData;
|
2019-11-07 22:39:29 +01:00
|
|
|
import info.nightscout.androidaps.interaction.utils.SmallestDoubleString;
|
|
|
|
|
2019-11-27 20:32:42 +01:00
|
|
|
import static info.nightscout.androidaps.interaction.utils.DisplayFormat.MAX_FIELD_LEN_SHORT;
|
2019-11-07 22:39:29 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Created by dlvoy on 2019-11-12
|
|
|
|
*/
|
|
|
|
public class IobIconComplication extends BaseComplicationProviderService {
|
|
|
|
|
|
|
|
private static final String TAG = IobIconComplication.class.getSimpleName();
|
|
|
|
|
2019-11-27 20:32:42 +01:00
|
|
|
public ComplicationData buildComplicationData(int dataType, RawDisplayData raw, PendingIntent complicationPendingIntent) {
|
2019-11-07 22:39:29 +01:00
|
|
|
|
|
|
|
ComplicationData complicationData = null;
|
|
|
|
|
|
|
|
if (dataType == ComplicationData.TYPE_SHORT_TEXT) {
|
2019-11-27 20:32:42 +01:00
|
|
|
final String iob = new SmallestDoubleString(raw.sIOB1, SmallestDoubleString.Units.USE).minimise(MAX_FIELD_LEN_SHORT);
|
2019-11-07 22:39:29 +01:00
|
|
|
|
|
|
|
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 {
|
|
|
|
if (Log.isLoggable(TAG, Log.WARN)) {
|
|
|
|
Log.w(TAG, "Unexpected complication type " + dataType);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return complicationData;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public String getProviderCanonicalName() {
|
|
|
|
return IobIconComplication.class.getCanonicalName();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public ComplicationAction getComplicationAction() {
|
|
|
|
return ComplicationAction.BOLUS;
|
|
|
|
};
|
|
|
|
}
|