package com.tikal.share;
import java.util.ArrayList;
import java.util.List;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.google.cloud.backend.android.tikal.share.sync.CloudSync;
import com.tikal.share.youtube.YoutubePlaylist;
import com.tikal.share.youtube.YoutubeVideoInfo;
@SuppressLint("ValidFragment")
public class MyListFragment extends ListFragment {
List<YoutubeVideoInfo> listVideos = new ArrayList<YoutubeVideoInfo>();
public MyListFragment() {
}
public MyListFragment(YoutubePlaylist youtubePlaylist) {
List<YoutubeVideoInfo> list = youtubePlaylist.getYoutubeVideoInfo();
for (YoutubeVideoInfo node : list) {
listVideos.add(node);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
VideoListAdapter vla = new VideoListAdapter(getActivity(),
R.layout.list_videos_row, listVideos);
setListAdapter(vla);
return super.onCreateView(inflater, container, savedInstanceState);
}
@Override
public void onStart() {
super.onStart();
getListView().setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent i = new Intent(getActivity(), PlayerActivity.class);
String videoId = listVideos.get(position).getId();
i.putExtra(CloudSync.INTENT_VIDEO_ID, videoId);
startActivity(i);
}
});
}
public class VideoListAdapter extends ArrayAdapter<YoutubeVideoInfo> {
private int resource;
private LayoutInflater inflater;
public VideoListAdapter(Context ctx, int resourceId, List<YoutubeVideoInfo> objects) {
super(ctx, resourceId, objects);
resource = resourceId;
inflater = LayoutInflater.from(ctx);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
/* create a new view of my layout and inflate it in the row */
convertView = (RelativeLayout) inflater.inflate(resource, null);
/* Extract the city's object to show */
YoutubeVideoInfo video = (YoutubeVideoInfo) getItem(position);
ImageView imageView = (ImageView) convertView.findViewById(R.id.video_image);
if (video.getThumbnailBmp() != null) {
imageView.setImageBitmap(video.getThumbnailBmp());
}
/* Set Video Title */
TextView txtName = (TextView) convertView
.findViewById(R.id.video_title);
txtName.setText(video.getTitle());
/* Set Video Description */
txtName = (TextView) convertView
.findViewById(R.id.video_discreption);
txtName.setText(video.getSummary());
/* Set Video length */
txtName = (TextView) convertView.findViewById(R.id.video_length);
txtName.setText(Integer.toString(video.getDuration()));
/* Set Video created */
txtName = (TextView) convertView.findViewById(R.id.video_created);
txtName.setText(video.getPublished());
return convertView;
}
}
}