//E:\edison\zhyshop_app\platforms\android\WeexFrameworkWrapper\pluginsimple\pluginsimple\src\main\java\com\benmu\pluginsimple\ErosPluginSimple.java
@JSMethod(uiThread = false)
public String setThemeConfig(String params) {
String res = "ok";
JSONObject obj2 = null;
try {
Map<String, Integer> themeColorMap = new HashMap();
String data[] = new String[7];
data[0] = "tomato";
data[1] = "aliceblue";
data[2] = "peru";
data[3] = "papayawhip";
data[4] = "orangered";
data[5] = "lavenderblush";
data[6] = "mintcream";
obj2 = new JSONObject(params);
for(int i=0; i < 7; ++i){
String key = data[i];
String value = obj2.getString(key);
themeColorMap.put(key, Color.parseColor(value));
}
WXResourceUtils.setThemeConfig(themeColorMap);
Log.i("erosplugin","setThemeConfig");
} catch (JSONException e) {
e.printStackTrace();
}
return res;
}
//E:\edison\zhyshop_app\platforms\android\WeexFrameworkWrapper\nexus\sdk\src\main\java\com\taobao\weex\utils\WXResourceUtils.java
public static int getColor(String color, int defaultColor) {
if (TextUtils.isEmpty(color)) {
return defaultColor;
}
color = color.trim(); //remove non visible codes
switch (color){
case "#FF6347":{
color = "tomato";
break;
}
case "#F0F8FF":{
color = "aliceblue";
break;
}
case "#CD853F":{
color = "peru";
break;
}
case "#FFEFD5":{
color = "papayawhip";
break;
}
case "#FF4500":{
color = "orangered";
break;
}
case "#FFF0F5":{
color = "lavenderblush";
break;
}
case "#F5FFFA":{
color = "mintcream";
break;
}
}
int resultColor = defaultColor;
Pair<Boolean, Integer> result;
ColorConvertHandler[] handlers = ColorConvertHandler.values();
for (ColorConvertHandler handler : handlers) {
try {
result = handler.handle(color);
if (result.first) {
resultColor = result.second;
break;
}
} catch (RuntimeException e) {
WXLogUtils.v("Color_Parser", WXLogUtils.getStackTrace(e));
}
}
return resultColor;
}
public static void setThemeConfig(Map<String, Integer> themeColorMap){
Iterator iter = themeColorMap.keySet().iterator();
Log.i("color1","setThemeConfig");
while (iter.hasNext()) {
Object key = iter.next();
Object val = themeColorMap.get(key);
String key1 = key.toString();
Integer val1 = Integer.parseInt(String.valueOf(val));
Log.i("color1",key1);
Log.i("color1",val1.toString());
colorMap.put(key1, val1);
}
}