package com.ved.musicmapapp.fragments;
import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
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.ListView;
import android.widget.TextView;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.assist.FailReason;
import com.nostra13.universalimageloader.core.listener.ImageLoadingListener;
import com.ved.musicmapapp.MainActivity;
import com.ved.musicmapapp.R;
import com.ved.musicmapapp.Objects.Artist;
import com.ved.musicmapapp.Objects.User;
import com.ved.musicmapapp.adapters.LikeDetailAdapter;
import com.ved.musicmapapp.utils.Statics;
import com.ved.musicmapapp.utils.Utils;
public class LikeDetailFragment extends Fragment {
private ListView mList;
private LikeDetailAdapter mAdapter;
private Artist mArtist;
private ImageLoader imageLoader;
private DisplayImageOptions options;
private Activity mContext;
@Override
public void onAttach(Activity activity) {
// TODO Auto-generated method stub
super.onAttach(activity);
this.mContext = activity;
}
public void setArtist(Artist artist) {
mArtist = artist;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater
.inflate(R.layout.fragment_like_detail, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
if (null == mContext || null == mArtist)
return;
mList = (ListView) view.findViewById(R.id.list_like_detail);
// mList.setOnItemClickListener(new OnItemClickListener() {
//
// @Override
// public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
// String fbid = arg1.getTag().toString();
// if (null == Statics.hashUsers || null == Statics.hashUsers.get(fbid))
// return;
// try {
// User user = Statics.hashUsers.get(fbid);
// UserDetailFragment fragment = new UserDetailFragment();
// fragment.setUser(user);
//
// FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
// fragmentTransaction.replace(R.id.frame_content, fragment);
// fragmentTransaction.addToBackStack(null);
// fragmentTransaction.commit();
// }
// catch(Exception e){
// e.printStackTrace();
// }
// }
// });
mAdapter = new LikeDetailAdapter(mContext, mArtist)
{
@Override
public void onClick(View v) {
super.onClick(v);
String fbid = v.getTag().toString();
if (null == Statics.hashUsers || null == Statics.hashUsers.get(fbid))
return;
User user = Statics.hashUsers.get(fbid);
UserDetailsFragment fragment = new UserDetailsFragment();
fragment.setUser(user);
FragmentTransaction fragmentTransaction = ((MainActivity)mContext)
.getSupportFragmentManager()
.beginTransaction();
fragmentTransaction.replace(R.id.frame_content,
fragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
// UserDetailFragment fragment = new UserDetailFragment();
// fragment.setUser(user);
//
// FragmentTransaction fragmentTransaction = getFragmentManager()
// .beginTransaction();
// fragmentTransaction.replace(R.id.frame_content, fragment);
// fragmentTransaction.addToBackStack(null);
// fragmentTransaction.commit();
}
};
mList.setAdapter(mAdapter);
imageLoader = ImageLoader.getInstance();
options = new DisplayImageOptions.Builder()
.showImageOnLoading(R.drawable.img_no_image)
.showImageForEmptyUri(R.drawable.img_no_image)
.showImageOnFail(R.drawable.img_no_image).cacheInMemory(true)
.cacheOnDisc(true).bitmapConfig(Bitmap.Config.RGB_565).build();
TextView tv_name = (TextView) view.findViewById(R.id.tv_name_musician);
tv_name.setText(mArtist.getName());
TextView tvNoSong = (TextView) view.findViewById(R.id.tvNoSong);
tvNoSong.setText(mArtist.getSongs().size() + " likes");
final ImageView imv_av = (ImageView) view
.findViewById(R.id.imv_musician_av);
imageLoader.displayImage(mArtist.getAvatar(), imv_av, options,
new ImageLoadingListener() {
@Override
public void onLoadingStarted(String imageUri, View view) {
}
@Override
public void onLoadingFailed(String imageUri, View view,
FailReason failReason) {
}
@Override
public void onLoadingComplete(String imageUri, View view,
Bitmap loadedImage) {
imv_av.setImageBitmap(loadedImage);
}
@Override
public void onLoadingCancelled(String imageUri, View view) {
}
});
}
@Override
public void onDestroyView() {
if (getView() != null) {
((ViewGroup) getView().getParent()).removeView(getView());
}
super.onDestroyView();
}
}