package com.ftinc.scoop.util;
import android.support.v7.widget.SwitchCompat;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.ftinc.scoop.adapters.ColorAdapter;
import com.ftinc.scoop.adapters.DefaultColorAdapter;
import com.ftinc.scoop.adapters.ImageViewColorAdapter;
import com.ftinc.scoop.adapters.SwitchCompatColorAdapter;
import com.ftinc.scoop.adapters.TextViewColorAdapter;
import com.ftinc.scoop.adapters.ViewGroupColorAdapter;
import java.util.HashMap;
import java.util.Map;
/**
* Created by r0adkll on 6/26/16.
*/
public class BindingUtils {
private static final Map<Class, ColorAdapter> COLOR_ADAPTERS = new HashMap<Class, ColorAdapter>(){
{
put(View.class, new DefaultColorAdapter());
put(ViewGroup.class, new ViewGroupColorAdapter());
put(TextView.class, new TextViewColorAdapter());
put(ImageView.class, new ImageViewColorAdapter());
put(SwitchCompat.class, new SwitchCompatColorAdapter());
}
};
private BindingUtils(){
throw new IllegalAccessError("This class is not allowed to be instantiated");
}
public static <T extends View> ColorAdapter<T> getColorAdapter(Class<T> clazz){
ColorAdapter adapter = COLOR_ADAPTERS.get(clazz);
if(adapter == null){
// Try super class
adapter = COLOR_ADAPTERS.get(clazz.getSuperclass());
if(adapter == null) {
adapter = new DefaultColorAdapter();
}
}
return adapter;
}
}