@Override protected void applyDataUpdate(BatteryData.Builder internalBuilder, ServiceType serviceType) { switch (serviceType) { case BATTERY_STATE_SERVICE: if (!internalBuilder.getBatteryState().hasValue() || internalBuilder.getBatteryState().getValue() == BatteryState.State.UNKNOWN) { if (internalBuilder.getBatteryState().getLevel() <= 5) { internalBuilder.getBatteryStateBuilder().setValue(BatteryState.State.INSUFFICIENT); } else if (internalBuilder.getBatteryState().getLevel() <= 15) { internalBuilder.getBatteryStateBuilder().setValue(BatteryState.State.CRITICAL); } else { internalBuilder.getBatteryStateBuilder().setValue(BatteryState.State.OK); } } break; } } }