package cn.net.caoyao.cpzshandset.service.tools;

import java.io.DataOutputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;

import android.annotation.SuppressLint;
import android.util.Log;

/**
 * 根据网络时间，设置现在的时间 目前使用位置，在Socket创建的时候使用，handset
 * 
 * @author zwj 2014-8-13
 */
public class ResetBJTime {
	/**
	 * 根据网络时间，设置现在的时间 不带线程的
	 */
	@SuppressLint("SimpleDateFormat")
	public ResetBJTime() {
		try {

			URLConnection conn = new URL("http://www.baidu.com")
					.openConnection();
			String dateStr = conn.getHeaderField("Date");
			DateFormat httpDateFormat = new SimpleDateFormat(
					"E, dd MMM yyyy HH:mm:ss z", Locale.US);
			httpDateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
			Date date = httpDateFormat.parse(dateStr);

			DateFormat dateTimeFormat = new SimpleDateFormat("yyyyMMdd.HHmmss",
					Locale.US);
			dateTimeFormat.setTimeZone(TimeZone.getTimeZone("GMT+8"));
			String strDate = dateTimeFormat.format(date);
			timeSynchronization(strDate);
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (ParseException e) {
			e.printStackTrace();
		}

	}

	/**
	 * 测试成功的 2014-8-13下午2:39:49
	 */
	private void timeSynchronization(String date) {
		try {
			Process process = Runtime.getRuntime().exec("su");
			String datetime = date;// "20131023.112800";
									// 测试的设置的时间【时间格式yyyyMMdd.HHmmss】
			// 20140813.484800
			// 20150508.173712
			DataOutputStream os = new DataOutputStream(
					process.getOutputStream());
//			os.writeBytes("setprop persist.sys.timezone GMT+8:00\n");
			os.writeBytes("/system/bin/date -s " + datetime + "\n");
			os.writeBytes("clock -w\n");
			os.writeBytes("exit\n");
			os.flush();
		} catch (IOException e) {
			Log.i("JYMF", "err->" + date);
			e.printStackTrace();
		}
	}
	
}
