///* // * Copyright © 2012-2013 LiuZhongnan. All rights reserved. // * // * Email:qq81595157@126.com // * // * PROPRIETARY/CONFIDENTIAL. // */ // //package com.youku.player.fragment; // //import java.util.ArrayList; //import java.util.Collections; //import java.util.Iterator; //import java.util.Map; //import java.util.Map.Entry; //import android.annotation.SuppressLint; //import android.annotation.TargetApi; //import android.app.AlertDialog; //import android.app.AlertDialog.Builder; //import android.content.DialogInterface; //import android.content.res.Configuration; //import android.os.AsyncTask; //import android.os.Build; //import android.os.Bundle; //import android.os.Handler; //import android.os.Message; //import android.view.LayoutInflater; //import android.view.View; //import android.view.View.OnClickListener; //import android.view.ViewGroup; //import android.widget.AbsListView; //import android.widget.AbsListView.OnScrollListener; //import android.widget.AdapterView; //import android.widget.AdapterView.OnItemClickListener; //import android.widget.GridView; //import com.baseproject.utils.Util; //import com.youku.player.YoukuPlayerApplication; //import com.youku.player.adapter.CachingListAdapter; //import com.youku.player.ui.R; //import com.youku.player.ui.widget.YoukuLoading; //import com.youku.service.download.DownloadInfo; //import com.youku.service.download.DownloadManager; //import com.youku.ui.activity.CachePageActivity; // ///** // * CachingFragment.缓存中的分页 // * // * @author 刘仲男 qq81595157@126.com // * @version v3.5 // * @created time 2012-11-5 下午1:16:28 // */ //public class CachingFragment extends YoukuFragment { // // private GridView gridView; // private DownloadManager download; // // private CachingListAdapter adapter; // private ArrayList<DownloadInfo> downloadingList; // private ArrayList<DownloadInfo> deleteDownloadingList_show=new ArrayList<DownloadInfo>(); // /** 可编辑的 */ //// private boolean mEditable = false; // private boolean needwait = true; // /** 是否是横屏 */ // private boolean isLand = false; // private static long time = 0l; // // private Handler handler = new Handler() { // // @Override // public void handleMessage(Message msg) { // // downloadingList = download.getDownloadingList(); // getData(); // if (adapter == null) { // adapter = new CachingListAdapter(getActivity(), // downloadingList, gridView); // adapter.setdeleteDownloadingList_show(deleteDownloadingList_show); //// adapter.setEdit(mEditable); // gridView.setAdapter(adapter); // } else { // adapter.setData(downloadingList); // adapter.setdeleteDownloadingList_show(deleteDownloadingList_show); // adapter.notifyDataSetChanged(); // } // } // // }; // // @Override // public View onCreateView(LayoutInflater inflater, ViewGroup container, // Bundle savedInstanceState) { // download = DownloadManager.getInstance(); // View view = inflater.inflate(R.layout.fragment_cache, container, false); // gridView = (GridView) view.findViewById(R.id.gridview); // gridView.setOnItemClickListener(downloadOnItemClickListener); // gridView.setOnScrollListener(downloadOnScrollListener); // return view; // } // // @Override // public void onActivityCreated(Bundle s) { // super.onActivityCreated(s); // if (s != null) { // if (s.containsKey("downloading_editable")) //// mEditable = s.getBoolean("downloading_editable"); // if (s.containsKey("downloading_needwait")) // needwait = s.getBoolean("downloading_needwait"); // } // if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { // isLand = true; // gridView.setNumColumns(4); // } else { // isLand = false; // gridView.setNumColumns(2); // } // } // // @Override // public void onResume() { // if (needwait) { // handler.sendEmptyMessageDelayed(0, 100L); // needwait = false; // } else // handler.sendEmptyMessage(0); // super.onResume(); //// setEditable(((CachePageActivity)getActivity()).ismIsEditState()); // } // // @Override // public void onSaveInstanceState(Bundle outState) { //// outState.putBoolean("downloading_editable", mEditable); // outState.putBoolean("downloading_needwait", needwait); // super.onSaveInstanceState(outState); // } // // @SuppressWarnings("rawtypes") // private void getData() { // downloadingList=new ArrayList<DownloadInfo>(); // DownloadManager manager = DownloadManager.getInstance(); // Map<String, DownloadInfo> map = manager.getDownloadingData(); // if (map == null) { // return; // } // Iterator iter = map.entrySet().iterator(); // 获得map的Iterator // while (iter.hasNext()) { // Entry entry = (Entry) iter.next(); // downloadingList.add((DownloadInfo) entry.getValue()); // } // DownloadInfo.compareBySeq = false; // Collections.sort(downloadingList); // } // // public void setUpdate(DownloadInfo info) { // DownloadInfo infos = null; // for (int i = 0, n = downloadingList.size(); i < n; i++) { // infos = downloadingList.get(i); // if (info.taskId.equals(infos.taskId)) { // downloadingList.set(i, info); // break; // } // } // adapter.setUpdate(info); // } // // public void notifyData() { // if (!CachePageActivity.mIsEditState) { // deleteDownloadingList_show.clear(); // for (DownloadInfo item:downloadingList) { // item.iseditState=0; // } // } // if (adapter != null) { // adapter.notifyDataSetChanged(); // } // } // // /** 刷新数据及页面 */ // public void refresh() { // handler.sendEmptyMessageDelayed(0, 500L); // } // // private boolean editisshow = true; // private int tempItem = 0; // private OnScrollListener downloadOnScrollListener = new OnScrollListener() { // // @Override // public void onScrollStateChanged(AbsListView view, int scrollState) { // // FIXME onScrollStateChanged // // } // // @Override // public void onScroll(AbsListView view, int firstVisibleItem, // int visibleItemCount, int totalItemCount) { // if (!YoukuPlayerApplication.isTablet && isLand) { // if (firstVisibleItem != tempItem) { // if (firstVisibleItem > tempItem && editisshow) { // ((CachePageActivity) getActivity()).editGone(); // editisshow = false; // } else if (firstVisibleItem < tempItem && !editisshow) { // ((CachePageActivity) getActivity()).editShow(); // editisshow = true; // } // tempItem = firstVisibleItem; // } // } // } // }; // private OnItemClickListener downloadOnItemClickListener = new OnItemClickListener() { // // @Override // public void onItemClick(AdapterView<?> arg0, View arg1, int position, // long arg3) { // if (downloadingList.size() - 1 < position) // return; // final String pageName = "缓存页-正在缓存页"; // DownloadInfo info = downloadingList.get(position); // if (!CachePageActivity.mIsEditState) {// 非编辑状态时 // int state = info.getState(); // if (state == DownloadInfo.STATE_DOWNLOADING // || state == DownloadInfo.STATE_WAITING // || state == DownloadInfo.STATE_INIT // || state == DownloadInfo.STATE_EXCEPTION) { // download.pauseDownload(info.taskId); // } else if (state == DownloadInfo.STATE_PAUSE) { // if (!Util.hasInternet()) { // YoukuPlayerApplication.showTips(R.string.tips_no_network); // return; // } // if (!Util.hasSDCard()) { // YoukuPlayerApplication.showTips(R.string.download_no_sdcard); // return; // } // if (Util.isWifi() == false // && download.canUse3GDownload() == false) { // YoukuPlayerApplication.showTips(R.string.download_cannot_ues_3g); // return; // } // download.startDownload(info.taskId); // } // } else {// 编辑状态 //// delete(info); // if (info.iseditState==0) { // info.iseditState=1; // deleteDownloadingList_show.add(info); // }else { // info.iseditState=0; // for (DownloadInfo item:deleteDownloadingList_show) { // if (info.videoid.equals(item.videoid)) { // deleteDownloadingList_show.remove(item); // } // } // } // showTopbar_delete_icon(); // adapter.notifyDataSetChanged(); // } // } // // }; // void showTopbar_delete_icon(){ ///* if (deleteDownloadingList_show.size()>0) { // ((BaseActivity)getActivity()).getEditModeDeleteMenu().setIcon(R.drawable.topbar_delete_icon); // }else { // ((BaseActivity)getActivity()).getEditModeDeleteMenu().setIcon(R.drawable.topbar_delete_gray_icon); // }*/ // } // // /** 删除选中 */ // private void delete(final DownloadInfo info) { //// final YoukuDialog d = new YoukuDialog(getActivity(), TYPE.normal); // AlertDialog.Builder builder = new Builder(getActivity()); // builder.setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() { // // @TargetApi(Build.VERSION_CODES.HONEYCOMB) // @SuppressLint("NewApi") // @Override // public void onClick(DialogInterface dialog, int which) { // // TODO Auto-generated method stub // YoukuLoading.show(getActivity()); // AsyncTask<Void, Void, Boolean> my_task = new AsyncTask<Void, Void, Boolean>() { // // @Override // protected Boolean doInBackground(Void... params) { // return download.deleteDownloading(info.taskId); // } // // @Override // protected void onPostExecute(Boolean result) { // YoukuLoading.dismiss(); // CachePageActivity a = (CachePageActivity) getActivity(); // if (a != null) { // a.setProgressValues(a); // } // handler.sendEmptyMessage(0); // super.onPostExecute(result); // } // // }; // if (Build.VERSION.SDK_INT >= 11) // my_task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, // (Void[]) null); // else // my_task.execute((Void[]) null); // YoukuPlayerApplication.isMyYoukuNeedRefresh = true; // } // }); // builder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { // // @Override // public void onClick(DialogInterface dialog, int which) { // // TODO Auto-generated method stub // // } // }); // builder.setMessage(R.string.delete_my_tag_message); // builder.setTitle("删除缓存"); // builder.create().show(); // } // // /** 删除所有 */ // public void deleteAll() { // if (downloadingList == null || downloadingList.size() == 0) { // return; // } // long now = System.currentTimeMillis(); // if ((now - time) < 1000l) { // return; // } else { // time = now; // } //// final YoukuDialog d = new YoukuDialog(getActivity(), TYPE.normal); // AlertDialog.Builder builder = new Builder(getActivity()); // builder.setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() { // // @TargetApi(Build.VERSION_CODES.HONEYCOMB) // @Override // public void onClick(DialogInterface dialog, int which) { // // TODO Auto-generated method stub // YoukuLoading.show(getActivity()); // AsyncTask<Void, Void, Boolean> my_task = new AsyncTask<Void, Void, Boolean>() { // // @Override // protected Boolean doInBackground(Void... params) { // download.deleteAllDownloading(); // return false; // } // // @Override // protected void onPostExecute(Boolean result) { // YoukuLoading.dismiss(); // CachePageActivity a = (CachePageActivity) getActivity(); // if (a != null) { // a.setProgressValues(a); // if (adapter != null) { // adapter.notifyDataSetChanged(); // } // a.setEditViewState(false); // } // handler.sendEmptyMessage(0); // super.onPostExecute(result); // } // // }; // if (Build.VERSION.SDK_INT >= 11) // my_task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, // (Void[]) null); // else // my_task.execute((Void[]) null); // YoukuPlayerApplication.isMyYoukuNeedRefresh = true; // } // }); // builder.setNegativeButton(R.string.cancel, null); // // builder.setMessage("您确定要全部删除吗?"); // builder.setTitle("删除缓存"); // builder.create().show(); // } // /** 删除选中 */ // private void delete() { //// final YoukuDialog d = new YoukuDialog(getActivity(), TYPE.normal); // AlertDialog.Builder builder = new Builder(getActivity()); // builder.setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() { // // @TargetApi(Build.VERSION_CODES.HONEYCOMB) // @SuppressLint("NewApi") // @Override // public void onClick(DialogInterface dialog, int which) { // // TODO Auto-generated method stub // YoukuLoading.show(getActivity()); // AsyncTask<Void, Void, Boolean> my_task = new AsyncTask<Void, Void, Boolean>() { // // @Override // protected Boolean doInBackground(Void... params) { // for (int i = 0; i < deleteDownloadingList_show.size(); i++) { // DownloadInfo info=deleteDownloadingList_show.get(i); // download.deleteDownloading(info.taskId); // } // deleteDownloadingList_show.clear(); // return true; // } // // @Override // protected void onPostExecute(Boolean result) { // YoukuLoading.dismiss(); // CachePageActivity a = (CachePageActivity) getActivity(); // if (a != null) { // a.setProgressValues(a); // } // showTopbar_delete_icon(); // handler.sendEmptyMessage(0); // super.onPostExecute(result); // } // // }; // if (Build.VERSION.SDK_INT >= 11) // my_task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, // (Void[]) null); // else // my_task.execute((Void[]) null); // YoukuPlayerApplication.isMyYoukuNeedRefresh = true; // } // }); // builder.setNegativeButton(R.string.cancel, null); // // builder.setMessage(R.string.delete_my_tag_message); // builder.setTitle("删除缓存"); // builder.create().show(); // } // public void deleteSelected() { // // TODO Auto-generated method stub // if (null==deleteDownloadingList_show||deleteDownloadingList_show.size()==0) { // return; // } // delete(); // } // //}