package org.qii.weiciyuan.othercomponent; import org.qii.weiciyuan.support.debug.AppLogger; import org.qii.weiciyuan.support.file.FileManager; import org.qii.weiciyuan.support.utils.AppConfig; import org.qii.weiciyuan.support.utils.GlobalContext; import org.qii.weiciyuan.support.utils.Utility; import android.text.TextUtils; import java.io.File; import java.util.List; import java.util.concurrent.TimeUnit; /** * User: qii * Date: 12-10-25 */ @Deprecated public class ClearCacheTask implements Runnable { private long now = System.currentTimeMillis(); @Override public void run() { Thread.currentThread().setPriority(Thread.MIN_PRIORITY); AppLogger.d("clear cache task start"); if (Utility.isWifi(GlobalContext.getInstance())) { List<String> pathList = FileManager.getCachePath(); for (String path : pathList) { if (!TextUtils.isEmpty(path)) { handleDir(new File(path)); } } AppLogger.d("clear cache task stop"); } else { AppLogger.d("this device dont have wifi network, clear cache task stop"); } } private void clearEmptyDir(File file) { File[] fileArray = file.listFiles(); if (fileArray == null) { return; } if (fileArray.length == 0) { if (file.delete()) { clearEmptyDir(file.getParentFile()); } } } private void handleDir(File file) { File[] fileArray = file.listFiles(); if (fileArray != null) { if (fileArray.length != 0) { for (File fileSI : fileArray) { if (fileSI.isDirectory()) { handleDir(fileSI); } if (fileSI.isFile()) { handleFile(fileSI); } } } else { clearEmptyDir(file); } } } private void handleFile(File file) { long time = file.lastModified(); long calcMills = now - time; long day = TimeUnit.MILLISECONDS.toDays(calcMills); if (day > AppConfig.SAVED_DAYS) { AppLogger.d(file.getAbsolutePath()); if (file.delete()) { clearEmptyDir(file.getParentFile()); } } } }