package com.vanco.abplayer.fragment;
import java.util.ArrayList;
import java.util.List;
import net.youmi.android.banner.AdSize;
import net.youmi.android.banner.AdView;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;
import com.vanco.abplayer.R;
import com.vanco.abplayer.VideoViewActivity;
import com.vanco.abplayer.adapter.ArrayAdapter;
import com.vanco.abplayer.model.OnlineVideo;
import com.vanco.abplayer.util.XmlReaderHelper;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
public class OnlineFragment extends Fragment implements OnItemClickListener {
/** 缓存视频列表 */
private static ArrayList<String[]> mOnlineList = new ArrayList<String[]>();
/** 缓存视频LOGO列表 */
private static ArrayList<Integer> mOnlineLogoList = new ArrayList<Integer>();
private ListView mListView;
/** 历史记录 */
private List<String> mHistory = new ArrayList<String>();
/** 显示当前正在加载的url */
private TextView mUrl;
private String mTitle;
private ArrayList<OnlineVideo> tvs;
private int level = 1;
private DataAdapter mAdapter;
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
tvs = XmlReaderHelper.getAllCategory(getActivity());
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View mView = inflater.inflate(R.layout.fragment_online, container,false);
// 实例化广告条
AdView adView = new AdView(getActivity(), AdSize.FIT_SCREEN);
// 获取要嵌入广告条的布局
LinearLayout adLayout=(LinearLayout)mView.findViewById(R.id.adLayout);
// 将广告条加入到布局中
adLayout.addView(adView);
mListView = (ListView) mView.findViewById(android.R.id.list);
mListView.setOnItemClickListener(this);
mAdapter = new DataAdapter(getActivity(),tvs);
mListView.setAdapter(mAdapter);
return mView;
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
final OnlineVideo item = mAdapter.getItem(position);
switch (level) {
case 1:// 顶级
level = 2;
mAdapter.replace(XmlReaderHelper.getVideos(getActivity(),item.id));
mListView.setAdapter(mAdapter);
break;
case 2:
// clearAndLoad(item.url);
Intent intent = new Intent(getActivity(), VideoViewActivity.class);
intent.setData(Uri.parse(item.url));
//intent.putExtra("path", item.url);
intent.putExtra("displayName",item.title);
startActivity(intent);
break;
}
}
public boolean onBackPressed() {
switch (level) {
case 1:
return false;
case 2://
level = 1;
mAdapter.replace(tvs);
break;
}
mListView.setAdapter(mAdapter);
return true;
}
/** 数据适配 */
private class DataAdapter extends ArrayAdapter<OnlineVideo> {
private ImageLoader imageLoader = ImageLoader.getInstance();// 得到图片加载器
private DisplayImageOptions options; // 显示图像设置
public DataAdapter(Context ctx,ArrayList<OnlineVideo> root) {
super(ctx, root);
// 图片加载器初始化
imageLoader.init(ImageLoaderConfiguration.createDefault(getActivity()));
// 使用DisplayImageOptions.Builder()创建DisplayImageOptions
options = new DisplayImageOptions.Builder()
.showStubImage(R.drawable.ica_light_ic_action_important) // 设置图片下载期间显示的图片
.showImageForEmptyUri(R.drawable.ica_light_ic_action_important) // 设置图片Uri为空或是错误的时候显示的图片
.showImageOnFail(R.drawable.ica_light_ic_action_important) // 设置图片加载或解码过程中发生错误显示的图片
.cacheInMemory() // 设置下载的图片是否缓存在内存中
.cacheOnDisc() // 设置下载的图片是否缓存在SD卡中
.build(); // 创建配置过得DisplayImageOption对象
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final OnlineVideo item = getItem(position);
if (convertView == null) {
final LayoutInflater mInflater = getActivity()
.getLayoutInflater();
convertView = mInflater.inflate(R.layout.fragment_online_item,
null);
}
ImageView thumbnail = (ImageView) convertView.findViewById(R.id.thumbnail);
if (item.iconId > 0)
thumbnail.setImageResource(item.iconId);
else
{
thumbnail.setImageDrawable(null);
// 异步加载图片
imageLoader.displayImage(item.icon_url, thumbnail, options);
}
((TextView) convertView.findViewById(R.id.title))
.setText(item.title);
return convertView;
}
}
@Override
public void onPause() {
super.onPause();
}
@Override
public void onResume() {
super.onResume();
}
}
/*
* private boolean loadVideo(final String url) { if (StringUtils.isEmpty(url))
* return false;
*
* mCurrentUrl = url;
*
* new AsyncTask<Void, Void, OnlineVideo>() {
*
* @Override protected OnlineVideo doInBackground(Void... params) {
* Log.d("Youku", url); if (url.startsWith("http://m.youku.com")) { return
* VideoHelper.getYoukuVideo(url); } return null; }
*
* @Override protected void onPostExecute(OnlineVideo result) {
* super.onPostExecute(result); if (result != null) { Intent intent = new
* Intent(getActivity(), VideoPlayerActivity.class); intent.putExtra("path",
* result.url); intent.putExtra("title", result.title); startActivity(intent); }
* else { mWebView.loadUrl(url); } } }.execute(); return true; }
*/