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.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 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.adapters.ArtistAdapter; import com.ved.musicmapapp.utils.Statics; import com.ved.musicmapapp.utils.Utils; public class PlaylistStatsFragment extends Fragment { private ListView list; private ArtistAdapter 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); return v; } @Override public void onDestroyView() { if (getView() != null) { ((ViewGroup) getView().getParent()).removeView(getView()); } super.onDestroyView(); } public void loadFragment(Fragment fragment){ FragmentTransaction fragmentTransaction = getFragmentManager() .beginTransaction(); fragmentTransaction.replace(R.id.frame_content, fragment); fragmentTransaction.addToBackStack(null); fragmentTransaction.commit(); } }