package com.gh.common.util;

import android.content.Context;
import android.util.TypedValue;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.TextView;

import com.gh.gamecenter.R;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.TimeZone;

/**
 * 
 * @author 温冠超
 * @email 294299195@qq.com
 * @date 2015-8-14
 * @update 2015-8-14
 * @des 设置列表中game item视图上的工具类
 */
public class GameViewUtils {

	public static void setLabelList(Context context, LinearLayout labelLayout, List<String> tag) {
		labelLayout.removeAllViews();
		if (tag == null || tag.isEmpty()) {
			labelLayout.addView(getGameTagView(context, "官方版", 0));
		} else {
			for (int i = 0, size = tag.size() > 3 ? 3 : tag.size(); i < size; i++) {
				if (i == size - 1) {
					labelLayout.addView(getGameTagView(context, tag.get(i), 0));
				} else {
					labelLayout.addView(getGameTagView(context, tag.get(i), DisplayUtils.dip2px(context, 5)));
				}
			}
		}
	}

	// 获取游戏标签列表视图
	public static void setLabelList(Context context, LinearLayout labelLayout, String tag) {
		labelLayout.removeAllViews();
		// 添加tag标签
		if (tag != null && !tag.isEmpty()) {
			String[] tags = tag.split(",");
			for (int i = 0; i < tags.length; i++) {
				if (i == tags.length - 1) {
					labelLayout.addView(getGameTagView(context, tags[i], 0));
				} else {
					labelLayout.addView(getGameTagView(context, tags[i], DisplayUtils.dip2px(context, 5)));
				}
			}
		}
	}

	public static TextView getGameTagView(Context context, String tagStr, int rightMargin) {
		LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(
				LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
		lparams.rightMargin = rightMargin;
		TextView tag = new TextView(context);
		tag.setTextSize(TypedValue.COMPLEX_UNIT_SP, 11);
		tag.setSingleLine(true);
		tag.setText(tagStr);
		if ("官方版".equals(tagStr) || "已关注".equals(tagStr)) {
			tag.setBackgroundResource(R.drawable.border_green_bg);
			tag.setTextColor(context.getResources().getColor(R.color.tag_green));
		} else {
			tag.setBackgroundResource(R.drawable.border_blue_bg);
			tag.setTextColor(context.getResources().getColor(R.color.theme));
		}
		tag.setLayoutParams(lparams);
		tag.setPadding(DisplayUtils.dip2px(context, 3),
				0,
				DisplayUtils.dip2px(context, 3),
				DisplayUtils.dip2px(context, 1));
		return tag;
	}

	public static String getGameTestDate(long testTime) {

		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA);
		format.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));

		String testDate;
		try {
			long today = format.parse(format.format(new Date())).getTime();
			long day = Long.parseLong(testTime + "000");
			Calendar calendar = Calendar.getInstance(TimeZone
					.getTimeZone("Asia/Shanghai"));
			calendar.setTimeInMillis(day);
			int hour = calendar.get(Calendar.HOUR_OF_DAY);
			if (day >= today && day < today + 86400 * 1000) {
				testDate = "今天" + hour + "点";
			} else if (day >= today + 86400 * 1000
					&& day < today + 86400 * 1000 * 2) {
				testDate = "明天" + hour + "点";
			} else if (day >= today + 86400 * 1000 * 2
					&& day < today + 86400 * 1000 * 3) {
				testDate = "后天" + hour + "点";
			} else if (day >= today - 86400 * 1000 && day < today) {
				testDate = "昨天" + hour + "点";
			} else {
				format = new SimpleDateFormat("MM-dd", Locale.CHINA);
				testDate = format.format(day) + " " + hour + "点";
			}
			return testDate;
		} catch (ParseException e) {
			e.printStackTrace();
			long day = Long.parseLong(testTime + "000");
			Calendar calendar = Calendar.getInstance(TimeZone
					.getTimeZone("Asia/Shanghai"));
			calendar.setTimeInMillis(day);
			int hour = calendar.get(Calendar.HOUR_OF_DAY);
			format = new SimpleDateFormat("MM-dd", Locale.CHINA);
			testDate = format.format(day) + " " + hour + "点";
			return testDate;
		}

	}

}
