package com.ved.musicmapapp.fragments;
import java.util.ArrayList;
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.text.TextUtils.TruncateAt;
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 android.widget.Toast;
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.R;
import com.ved.musicmapapp.Objects.Artist;
import com.ved.musicmapapp.Objects.User;
import com.ved.musicmapapp.Objects.UserLikes;
import com.ved.musicmapapp.adapters.ArtistAdapter;
import com.ved.musicmapapp.adapters.UserLikeAdapter;
import com.ved.musicmapapp.providers.GetUserArtistListTask;
import com.ved.musicmapapp.providers.GetUserLikeDataTask;
import com.ved.musicmapapp.utils.Statics;
import com.ved.musicmapapp.utils.Utils;
public class UserLikeDataFragment extends Fragment {
private ListView list;
private UserLikeAdapter aAdapter;
private ImageView ivThumb;
private TextView tvUserName, tvNoSong, tvLastUDArtist, tv_update;
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;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
View v = inflater.inflate(R.layout.activity_playlist_stats, container,
false);
if (null == mContext || null == Statics.curUser)
return v;
User user = Statics.curUser;
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();
ivThumb = (ImageView) v.findViewById(R.id.ivThumb);
imageLoader.displayImage("https://graph.facebook.com/" + user.getFbid()
+ "/picture?type=large", ivThumb, options,
new ImageLoadingListener() {
@Override
public void onLoadingStarted(String imageUri, View view) {
// TODO Auto-generated method stub
}
@Override
public void onLoadingFailed(String imageUri, View view,
FailReason failReason) {
// TODO Auto-generated method stub
}
@Override
public void onLoadingComplete(String imageUri, View view,
Bitmap loadedImage) {
ivThumb.setImageBitmap(loadedImage);
}
@Override
public void onLoadingCancelled(String imageUri, View view) {
// TODO Auto-generated method stub
}
});
tvUserName = (TextView) v.findViewById(R.id.tvUserName);
tvUserName.setText(user.getFullName());
tvNoSong = (TextView) v.findViewById(R.id.tvNumSong);
String text = user.getNoSong() > 1 ? getString(
R.string.user_details_tracks, user.getNoSong()) : getString(
R.string.user_details_track, user.getNoSong());
text += ", ";
text += user.getArtistcount() > 1 ? getString(
R.string.user_details_artists, user.getArtistcount())
: getString(R.string.user_details_artist, user.getArtistcount());
tvNoSong.setText(text);
tvLastUDArtist = (TextView) v.findViewById(R.id.tvLastUDArtist);
if (user.getArtistcount() == 0) {
text = "Added: ";
} else {
// text = "Added: " + user.getArtists().get(0).getName();
text = "Added: " + user.getLastUpdate();
}
if (user.getNoLastAdd() > 1)
text += " & " + (user.getNoLastAdd() - 1) + " other tracks";
tvLastUDArtist.setText(text);
tvLastUDArtist.setEllipsize(TruncateAt.MARQUEE);
tvLastUDArtist.setSelected(true);
tv_update = (TextView) v.findViewById(R.id.update_time);
tv_update.setText(user.getLastUDString());
v.findViewById(R.id.btn_follow).setVisibility(View.INVISIBLE);
list = (ListView) v.findViewById(R.id.list_playlist_stats);
/*
* list.setOnItemClickListener(new OnItemClickListener() {
*
* @Override public void onItemClick(AdapterView<?> arg0, View arg1, int
* pos, long arg3) { Artist art = Statics.curUser.getArtists().get(pos);
* CategoryFragment fragment = new CategoryFragment(); //
* Statics.dynamicArtist = art; fragment.setArtist(art);
* FragmentTransaction fragmentTransaction = getFragmentManager()
* .beginTransaction(); fragmentTransaction.replace(R.id.frame_content,
* fragment); fragmentTransaction.addToBackStack(null);
* fragmentTransaction.commit(); } });
*
* aAdapter = new ArtistAdapter(mContext, Statics.curUser.getArtists(),
* false); list.setAdapter(aAdapter);
*/
new GetUserLikeDataTask(getActivity(), Statics.curUser.getFbid()) {
protected void onPostExecute(ArrayList<UserLikes> result) {
if (result != null) {
super.onPostExecute(result);
aAdapter = new UserLikeAdapter(mContext, result);
list.setAdapter(aAdapter);
} else {
if (Statics.isNetworkConnected(getActivity())) {
Toast.makeText(getActivity().getApplicationContext(),
getString(R.string.error_no_saved_data),
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getActivity().getApplicationContext(),
getString(R.string.txt_not_internet),
Toast.LENGTH_SHORT).show();
}
}
};
}.execute();
return v;
}
@Override
public void onDestroyView() {
if (getView() != null) {
((ViewGroup) getView().getParent()).removeView(getView());
}
super.onDestroyView();
}
}