package com.yzy.supercleanmaster.fragment; import android.content.Context; import android.os.Bundle; import android.support.annotation.Nullable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import com.umeng.update.UmengUpdateAgent; import com.yzy.supercleanmaster.R; import com.yzy.supercleanmaster.base.BaseFragment; import com.yzy.supercleanmaster.model.SDCardInfo; import com.yzy.supercleanmaster.ui.AutoStartManageActivity; import com.yzy.supercleanmaster.ui.MemoryCleanActivity; import com.yzy.supercleanmaster.ui.RubbishCleanActivity; import com.yzy.supercleanmaster.ui.SoftwareManageActivity; import com.yzy.supercleanmaster.utils.AppUtil; import com.yzy.supercleanmaster.utils.StorageUtil; import com.yzy.supercleanmaster.widget.circleprogress.ArcProgress; import java.util.Timer; import java.util.TimerTask; import butterknife.ButterKnife; import butterknife.InjectView; import butterknife.OnClick; public class MainFragment extends BaseFragment { @InjectView(R.id.arc_store) ArcProgress arcStore; @InjectView(R.id.arc_process) ArcProgress arcProcess; @InjectView(R.id.capacity) TextView capacity; Context mContext; private Timer timer; private Timer timer2; @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { // TODO Auto-generated method stub View view = inflater.inflate(R.layout.fragment_main, container, false); ButterKnife.inject(this, view); mContext = getActivity(); return view; } @Override public void onResume() { super.onResume(); fillData(); } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { // TODO Auto-generated method stub super.onActivityCreated(savedInstanceState); UmengUpdateAgent.update(getActivity()); } private void fillData() { // TODO Auto-generated method stub timer = null; timer2 = null; timer = new Timer(); timer2 = new Timer(); long l = AppUtil.getAvailMemory(mContext); long y = AppUtil.getTotalMemory(mContext); final double x = (((y - l) / (double) y) * 100); // arcProcess.setProgress((int) x); arcProcess.setProgress(0); timer.schedule(new TimerTask() { @Override public void run() { getActivity().runOnUiThread(new Runnable() { @Override public void run() { if (arcProcess.getProgress() >= (int) x) { timer.cancel(); } else { arcProcess.setProgress(arcProcess.getProgress() + 1); } } }); } }, 50, 20); SDCardInfo mSDCardInfo = StorageUtil.getSDCardInfo(); SDCardInfo mSystemInfo = StorageUtil.getSystemSpaceInfo(mContext); long nAvailaBlock; long TotalBlocks; if (mSDCardInfo != null) { nAvailaBlock = mSDCardInfo.free + mSystemInfo.free; TotalBlocks = mSDCardInfo.total + mSystemInfo.total; } else { nAvailaBlock = mSystemInfo.free; TotalBlocks = mSystemInfo.total; } final double percentStore = (((TotalBlocks - nAvailaBlock) / (double) TotalBlocks) * 100); capacity.setText(StorageUtil.convertStorage(TotalBlocks - nAvailaBlock) + "/" + StorageUtil.convertStorage(TotalBlocks)); arcStore.setProgress(0); timer2.schedule(new TimerTask() { @Override public void run() { getActivity().runOnUiThread(new Runnable() { @Override public void run() { if (arcStore.getProgress() >= (int) percentStore) { timer2.cancel(); } else { arcStore.setProgress(arcStore.getProgress() + 1); } } }); } }, 50, 20); } @OnClick(R.id.card1) void speedUp() { startActivity(MemoryCleanActivity.class); } @OnClick(R.id.card2) void rubbishClean() { startActivity(RubbishCleanActivity.class); } @OnClick(R.id.card3) void AutoStartManage() { startActivity(AutoStartManageActivity.class); } @OnClick(R.id.card4) void SoftwareManage() { startActivity(SoftwareManageActivity.class); } @Override public void onDestroyView() { super.onDestroyView(); ButterKnife.reset(this); } @Override public void onDestroy() { timer.cancel(); timer2.cancel(); super.onDestroy(); } }