package com.classic.car.utils;
import android.content.Context;
import android.support.annotation.NonNull;
import android.util.TypedValue;
import android.widget.EditText;
import com.classic.car.R;
import com.classic.car.consts.Consts;
import java.util.Locale;
/**
* 应用名称: CarAssistant
* 包 名 称: com.classic.car.utils
*
* 文件描述:TODO
* 创 建 人:续写经典
* 创建时间:16/6/4 下午8:51
*/
public final class Util {
public static int getColorByType(int type){
switch (type){
case Consts.TYPE_FUEL: //加油费
return R.color.chartreuse_light;
case Consts.TYPE_PARKING: //停车费
return R.color.blue_light;
case Consts.TYPE_REPAIR: //维修费
return R.color.orange_light;
case Consts.TYPE_ROAD_TOLL: //过路费
return R.color.saffron_light;
case Consts.TYPE_PREMIUM: //保险费
return R.color.pale_red;
case Consts.TYPE_MAINTENANCE: //汽车保养费
return R.color.green_light;
case Consts.TYPE_EXAMINATION: //汽车年审费
return R.color.purple_light;
case Consts.TYPE_TRAFFIC_VIOLATION: //交通违章罚款
return R.color.sienna_light;
default: //其它
return R.color.mediumorchid_light;
}
}
public static int getBackgroundByType(int type){
switch (type){
case Consts.TYPE_FUEL:
return R.drawable.bg_chartreuse_light;
case Consts.TYPE_PARKING:
return R.drawable.bg_blue_light;
case Consts.TYPE_REPAIR:
return R.drawable.bg_orange_light;
case Consts.TYPE_ROAD_TOLL:
return R.drawable.bg_saffron_light;
case Consts.TYPE_PREMIUM:
return R.drawable.bg_pale_red;
case Consts.TYPE_MAINTENANCE:
return R.drawable.bg_green_light;
case Consts.TYPE_EXAMINATION:
return R.drawable.bg_purple_light;
case Consts.TYPE_TRAFFIC_VIOLATION:
return R.drawable.bg_sienna_light;
default:
return R.drawable.bg_mediumorchid_light;
}
}
public static int getIconByType(int type){
switch (type){
case Consts.TYPE_FUEL:
return R.drawable.ic_fuel;
case Consts.TYPE_PARKING:
return R.drawable.ic_parking;
case Consts.TYPE_REPAIR:
return R.drawable.ic_repair;
case Consts.TYPE_ROAD_TOLL:
return R.drawable.ic_road_toll;
case Consts.TYPE_PREMIUM:
return R.drawable.ic_premium;
case Consts.TYPE_MAINTENANCE:
return R.drawable.ic_maintenance;
case Consts.TYPE_EXAMINATION:
return R.drawable.ic_examination;
case Consts.TYPE_TRAFFIC_VIOLATION:
return R.drawable.ic_traffic_violation;
default:
return R.drawable.ic_other;
}
}
public static String format(String format, Number number){
// return String.format(Locale.CHINA, format, MoneyUtil.replace(number)) ;
return String.format(Locale.CHINA, format,
MoneyUtil.replace(MoneyUtil.newInstance(number).round(2).create())) ;
}
public static String formatMoney(float money){
return format(Consts.FORMAT_MONEY, money);
}
public static String formatRMB(float money){
return format(Consts.FORMAT_RMB, money);
}
public static String formatOilMess(float oilMess){
return format(Consts.FORMAT_OIL_MESS, oilMess);
}
public static String formatPercentage(float percentage){
return MoneyUtil.replace(MoneyUtil.newInstance(percentage).round(2).create()) + "%";
}
public static String formatPercentage(float value, float totalValue){
return formatPercentage(value*100/totalValue);
}
public static void setText(EditText editText, String value){
editText.setText(MoneyUtil.replace(value));
editText.setSelection(editText.getText().length());
}
public static void setText(EditText editText, Number value){
setText(editText, String.valueOf(value));
}
public static void setFocusable(EditText editText){
editText.setFocusable(true);
editText.requestFocus();
}
public static String createImageName() {
//noinspection StringBufferReplaceableByString
return new StringBuilder("CarAssistant_")
.append(DateUtil.formatDate("yyyy-MM-dd_HH:mm:ss", System.currentTimeMillis()))
.append(".png")
.toString();
}
public static String getString(Context context, int resId){
return context.getResources().getString(resId);
}
public static int getColor(Context context, int resId){
//noinspection deprecation
return context.getResources().getColor(resId);
}
private static int[] sColorTemplate;
public static int[] getColorTemplate(Context context){
if(null == sColorTemplate){
sColorTemplate = new int[]{
getColor(context,R.color.blue_light),
getColor(context,R.color.pale_red),
getColor(context,R.color.chartreuse_light),
getColor(context,R.color.saffron_light),
getColor(context,R.color.mediumorchid_light),
getColor(context,R.color.green_light),
getColor(context,R.color.orange_light),
getColor(context,R.color.sienna_light),
getColor(context,R.color.purple_light),
getColor(context,R.color.pink_light)
};
}
return sColorTemplate;
}
public static int dp2px(@NonNull Context context, float dpVal) {
return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dpVal,
context.getResources().getDisplayMetrics());
}
// public static int getRandom(int maxValue){
// return (int)(Math.random()*maxValue);
// }
// public static SparseArray<Float> sortSparseArray(SparseArray<Float> sparseArray){
// List<Float> values = new ArrayList<>();
// for(int i =0; i < sparseArray.size();i++){
// values.add(sparseArray.valueAt(i));
// }
// // 顺序
// // Collections.sort(values);
// // 倒序
// Collections.sort(values, new Comparator<Float>() {
// @Override public int compare(Float o1, Float o2) {
// return o2.compareTo(o1);
// }
// });
// SparseArray<Float> tempArray = new SparseArray<>();
// for (Float item : values) {
// tempArray.put(sparseArray.keyAt(sparseArray.indexOfValue(item)), item);
// // XLog.d(sparseArray.keyAt(sparseArray.indexOfValue(item)) + " " + item);
// }
// sparseArray.clear();
// return tempArray;
// }
}