package me.wakao.app;


import java.io.File;

import com.umeng.analytics.MobclickAgent;

import me.wakao.app.bean.UserObj;
import me.wakao.app.common.PropertyManger;
import android.app.Application;
import android.util.Log;

public class MyApplication extends Application {
	
	public static UserObj user;

	private PropertyManger propertyManger;
	@Override
	public void onCreate() {
		super.onCreate();
		propertyManger = new PropertyManger(this);
		propertyManger.setProsPath(PropertyManger.PATH_USERINFO);
		user = getUserInfo();
		
		MobclickAgent.openActivityDurationTrack(false);
	}
	
	/**
	 * 获取登录信息
	 * @return
	 */
	public UserObj getUserInfo() {
		if(user != null){
			return user;
		}
		UserObj userObj = null;
		if(!propertyManger.getProperties().isEmpty()){
			userObj = new UserObj();
			userObj.setWeiboName(propertyManger.getProperty("user.name"));
			userObj.setWeiboId(propertyManger.getProperty("user.media_uid"));
			userObj.setFaceUrl(propertyManger.getProperty("user.tinyurl"));
			Log.e("TAG", userObj.getWeiboId()+";"+userObj.getWeiboName()+";"+userObj.getFaceUrl());
		}
		return userObj;
	}
	public void logoutAccount(){
		user = null;
		propertyManger.removeProperty("user.name", "user.media_uid", "user.tinyurl");
	}
	/**
	 * 清除app缓存
	 */
	public void clearAppCache()
	{
		deleteDatabase("webview.db");  
		deleteDatabase("webview.db-shm");  
		deleteDatabase("webview.db-wal");  
		deleteDatabase("webviewCache.db");  
		deleteDatabase("webviewCache.db-shm");  
		deleteDatabase("webviewCache.db-wal");  
		//清除数据缓存
		clearCacheFolder(getFilesDir(),System.currentTimeMillis());
		clearCacheFolder(getCacheDir(),System.currentTimeMillis());
		//2.2版本才有将应用缓存转移到sd卡的功能
//		if(isMethodsCompat(android.os.Build.VERSION_CODES.FROYO)){
//			clearCacheFolder(MethodsCompat.getExternalCacheDir(this),System.currentTimeMillis());
//		}
	}	
	
	/**
	 * 清除缓存目录
	 * @param dir 目录
	 * @param numDays 当前系统时间
	 * @return
	 */
	private int clearCacheFolder(File dir, long curTime) {          
	    int deletedFiles = 0;         
	    if (dir!= null && dir.isDirectory()) {             
	        try {                
	            for (File child:dir.listFiles()) {    
	                if (child.isDirectory()) {              
	                    deletedFiles += clearCacheFolder(child, curTime);          
	                }  
	                if (child.lastModified() < curTime) {     
	                    if (child.delete()) {                   
	                        deletedFiles++;           
	                    }    
	                }    
	            }             
	        } catch(Exception e) {       
	            e.printStackTrace();    
	        }     
	    }       
	    return deletedFiles;     
	}
}