package treehou.se.habit.ui.widgets.factories.switches;
import android.util.Log;
import se.treehou.ng.ohcommunicator.connector.models.OHItem;
import se.treehou.ng.ohcommunicator.connector.models.OHLinkedPage;
import se.treehou.ng.ohcommunicator.connector.models.OHWidget;
import treehou.se.habit.ui.widgets.factories.IWidgetFactory;
import treehou.se.habit.ui.widgets.factories.NullWidgetFactory;
import treehou.se.habit.ui.widgets.WidgetFactory;
public class SwitchWidgetFactory implements IWidgetFactory {
private static final String TAG = "SwitchWidgetFactory";
@Override
public WidgetFactory.IWidgetHolder build(
WidgetFactory widgetFactory, OHLinkedPage page,
final OHWidget widget, final OHWidget parent) {
if(widget.getMapping() == null || widget.getMapping().size() <= 0) {
final OHItem item = widget.getItem();
if (item == null || item.getType() == null) {
Log.w(TAG, "Null switch created");
return new NullWidgetFactory().build(widgetFactory, page, widget, parent);
}
if(item.getType().equals(OHItem.TYPE_ROLLERSHUTTER)){
return RollerShutterWidgetHolder.create(widgetFactory, widget, parent);
}else{
return SwitchWidgetHolder.create(widgetFactory, widget, parent);
}
} else {
if(widget.getMapping().size() == 1) {
return SingleButtonWidgetHolder.create(widgetFactory, widget, parent);
}else {
return PickerWidgetHolder.create(widgetFactory, widget, parent);
}
}
}
}