package com.alibaba.genie.panel.ui.fragment.home.holder.listener;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import com.alibaba.genie.panel.R;
import com.alibaba.genie.panel.basic.base.adapter.BaseMultiItemAdapter;
import com.alibaba.genie.panel.model.data.MultiItemBean;
import com.alibaba.genie.panel.ui.fragment.home.holder.AlarmViewHolder;
import com.alibaba.genie.panel.ui.fragment.home.holder.BaseEditViewHolder;
import com.alibaba.genie.panel.ui.fragment.home.holder.ClockTimeViewHolder;
import com.alibaba.genie.panel.ui.fragment.home.holder.MusicViewHolder;
import com.alibaba.genie.panel.ui.fragment.home.holder.WeatherViewHolder;
public class WidgetAdapterListener
extends BaseMultiItemAdapter.SimpleOnMultiItemAdapterListener<MultiItemBean, BaseEditViewHolder> {
private static final String TAG = WidgetAdapterListener.class.getSimpleName();
@Override
public BaseEditViewHolder onCreate(@NonNull Context context, @NonNull ViewGroup parent, int viewType) {
if (viewType == MultiItemBean.TYPE_WIDGET_CLOCK) {
return new ClockTimeViewHolder(LayoutInflater.from(context).inflate(R.layout.iot_home_item_widget_clock, parent, false));
} else if (viewType == MultiItemBean.TYPE_WIDGET_WEATHER) {
return new WeatherViewHolder(LayoutInflater.from(context).inflate(R.layout.iot_home_item_widget_weather, parent, false));
} else if (viewType == MultiItemBean.TYPE_WIDGET_ALARM) {
return new AlarmViewHolder(LayoutInflater.from(context).inflate(R.layout.iot_home_item_widget_alarm, parent, false));
} else if (viewType == MultiItemBean.TYPE_WIDGET_MUSIC) {
return new MusicViewHolder(LayoutInflater.from(context).inflate(R.layout.iot_home_item_widget_music, parent, false));
} else
return new ClockTimeViewHolder(LayoutInflater.from(context).inflate(R.layout.iot_home_item_widget_clock, parent, false));
}
@Override
public void onBind(@NonNull BaseEditViewHolder holder, int position, @NonNull MultiItemBean item) {
if (item.disableWhenUnbind()) {
holder.refreshItemEnableState(item);
}
if (holder instanceof ClockTimeViewHolder) {
((ClockTimeViewHolder) holder).refreshLunarDate();
}
}
@Override
public boolean isFullSpanItem(int itemType) {
if (MultiItemBean.TYPE_WIDGET_CLOCK == itemType
|| MultiItemBean.TYPE_SCENE_GROUP == itemType
|| MultiItemBean.TYPE_WIDGET_MUSIC == itemType
) {
return true;
}
return super.isFullSpanItem(itemType);
}
}