package cn.koolcloud.ipos.appstore.fragment.tab; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; import cn.koolcloud.ipos.appstore.AppStorePreference; import cn.koolcloud.ipos.appstore.R; import cn.koolcloud.ipos.appstore.cache.DataCleanManager; import cn.koolcloud.ipos.appstore.cache.database.CacheDB; import cn.koolcloud.ipos.appstore.download.database.DownloadDBOperator; import cn.koolcloud.ipos.appstore.fragment.base.BaseFragment; import cn.koolcloud.ipos.appstore.utils.Env; import cn.koolcloud.ipos.appstore.utils.ToastUtil; public class DownloadSettingFragment extends BaseFragment implements View.OnClickListener { private static final String TAG = "DownloadSettingFragment"; private static final int HANDLE_CLEAR_SD_CARD = 0; private static final int HANDLE_CLEAR_INTERNAL_CACHE = 1; private LinearLayout clearCacheLayout; private LinearLayout clearSDCardLayout; private LinearLayout wifiSwitchLayout; private ImageView wifiSwitchImageView; private boolean wifiSwitchTag = false; public static DownloadSettingFragment getInstance() { DownloadSettingFragment noNetworkFragment = new DownloadSettingFragment(); //save params // Bundle args = new Bundle(); // args.putInt("index", index); // localSoftFragment.setArguments(args); return noNetworkFragment; } @Override public void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); this.wifiSwitchTag = AppStorePreference.getWifiSwitchTag(application); } @Override public View onCreateView(LayoutInflater inflate, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub return inflate.inflate(R.layout.setting_download_main, container, false); } @Override public void onActivityCreated(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onActivityCreated(savedInstanceState); initViews(); } @Override public void onStart() { // TODO Auto-generated method stub super.onStart(); } Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case HANDLE_CLEAR_SD_CARD: dismissLoading(); ToastUtil.showToast(application, R.string.msg_setting_clear_SDCard_success); break; case HANDLE_CLEAR_INTERNAL_CACHE: dismissLoading(); ToastUtil.showToast(application, R.string.msg_setting_clear_internal_cache_success); break; default: break; } } }; private void initViews() { clearCacheLayout = (LinearLayout) getActivity().findViewById(R.id.clearCachelayout); clearCacheLayout.setOnClickListener(this); clearSDCardLayout = (LinearLayout) getActivity().findViewById(R.id.clearSDLayout); clearSDCardLayout.setOnClickListener(this); wifiSwitchLayout = (LinearLayout) getActivity().findViewById(R.id.wifiSwitchLayout); wifiSwitchLayout.setOnClickListener(this); wifiSwitchImageView = (ImageView) getActivity().findViewById(R.id.wifiSwitchImageView); switchImageStatus(); } @Override public void onClick(View view) { // TODO Auto-generated method stub switch (view.getId()) { case R.id.clearCachelayout: showLoading(); new ClearAppCacheThread().start(); break; case R.id.clearSDLayout: showLoading(); new ClearSDCardThread().start(); break; case R.id.wifiSwitchLayout: wifiSwitchTag = switchStatus(wifiSwitchTag); AppStorePreference.saveWifiSwitchTag(application, wifiSwitchTag); switchImageStatus(); break; default: break; } } private void switchImageStatus() { if (wifiSwitchTag) { wifiSwitchImageView.setImageResource(R.drawable.checkbox_kai); } else { wifiSwitchImageView.setImageResource(R.drawable.checkbox_guan); } } //class for clearing SDCard cache class ClearSDCardThread extends Thread { @Override public void run() { DataCleanManager.cleanCustomCache(Env.SD_CARD_APK_CACHE_DIR); DataCleanManager.cleanCustomCache(Env.SD_CARD_IMAGE_CACHE_DIR); mHandler.sendEmptyMessage(HANDLE_CLEAR_SD_CARD); } } //class for clearing internal cache class ClearAppCacheThread extends Thread { @Override public void run() { // DataCleanManager.cleanDatabases(application); CacheDB.getInstance(application).cleanCacheDBTables(); DownloadDBOperator.getInstance(application).cleanDownloadDataBaseTables(); DataCleanManager.cleanFiles(application); DataCleanManager.cleanInternalCache(application); mHandler.sendEmptyMessage(HANDLE_CLEAR_INTERNAL_CACHE); } } }