package com.ved.musicmapapp.fragments;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import com.ved.musicmapapp.R;
import com.ved.musicmapapp.Objects.Artist;
import com.ved.musicmapapp.adapters.ArtistAdapter;
import com.ved.musicmapapp.fragments.MainFragment.TabInfo;
import com.ved.musicmapapp.providers.GetLikeDataTask;
import com.ved.musicmapapp.utils.Statics;
public class LikeFragment extends Fragment {
private ListView mList;
private GetLikeDataTask mTask;
private ArtistAdapter aAdapter;
private List<Artist> mArtists = null;
private View loadingLayout;
private Activity mContext;
private boolean isDestroyView;
private Handler mHandler;
@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) {
return inflater.inflate(R.layout.fragment_like, container, false);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Log.d("Men", "OnactivityCreated");
mList = (ListView) getView().findViewById(R.id.list_like);
loadingLayout = getView().findViewById(R.id.loadingLayout);
if (null == getActivity() || null == Statics.likeDatas) {
mList.setVisibility(View.GONE);
return;
}
mArtists = Statics.likeDatas;
aAdapter = new ArtistAdapter(getActivity(), mArtists, true);
Log.d("Men", mArtists.size() + "");
mList.setAdapter(aAdapter);
if (Statics.likeDatas.size() > 0) {
mList.setVisibility(View.VISIBLE);
} else {
mList.setVisibility(View.GONE);
}
mList.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int pos,
long arg3) {
if (Statics.likeDatas.get(pos).getSongs().size() == 0)
return;
try {
LikeDetailFragment fragment = new LikeDetailFragment();
fragment.setArtist(mArtists.get(pos));
// Statics.dynamicArtist = Statics.likeDatas.get(pos);
FragmentTransaction fragmentTransaction = getActivity()
.getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.frame_content, fragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
} catch (Exception e) {
e.printStackTrace();
}
}
});
if (Statics.curUser != null) {
getData(getActivity());
}
}
public void getViewTmp(){
mList = (ListView) getView().findViewById(R.id.list_like);
loadingLayout = getView().findViewById(R.id.loadingLayout);
if (null == getActivity() || null == Statics.likeDatas) {
mList.setVisibility(View.GONE);
return;
}
mArtists = Statics.likeDatas;
aAdapter = new ArtistAdapter(getActivity(), mArtists, true);
Log.d("Men", mArtists.size() + "");
mList.setAdapter(aAdapter);
if (Statics.likeDatas.size() > 0) {
mList.setVisibility(View.VISIBLE);
} else {
mList.setVisibility(View.GONE);
}
mList.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int pos,
long arg3) {
if (Statics.likeDatas.get(pos).getSongs().size() == 0)
return;
try {
LikeDetailFragment fragment = new LikeDetailFragment();
fragment.setArtist(mArtists.get(pos));
// Statics.dynamicArtist = Statics.likeDatas.get(pos);
FragmentTransaction fragmentTransaction = getActivity()
.getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.frame_content, fragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
} catch (Exception e) {
e.printStackTrace();
}
}
});
if (mArtists == null) {
getData(getActivity());
}
}
public void setData(){
mArtists = Statics.likeDatas;
int likeCount = 0;
for (Artist art : mArtists) {
if (art.getSongs() != null) {
likeCount += art.getSongs().size();
}
}
if (null != aAdapter) {
aAdapter.setData(Statics.likeDatas);
}
// TabInfo tab = ((MainFragment) getParentFragment())
// .getTab(2);
//
// tab.tvCount.setText(likeCount + "");
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
Log.d("Men", "onViewCreated");
}
@Override
public void onResume() {
super.onResume();
}
public void getData(final Activity act) {
if (null != mTask){
mTask.cancel(true);
}
mTask = new GetLikeDataTask(act) {
protected void onPreExecute() {
super.onPreExecute();
if (null != loadingLayout)
loadingLayout.setVisibility(View.VISIBLE);
Log.i("LIKE_DATA", "START");
};
protected void onPostExecute(String result) {
Log.i("Men", "END");
if (null != mList)
mList.setVisibility(View.VISIBLE);
if (null != loadingLayout)
loadingLayout.setVisibility(View.GONE);
super.onPostExecute(result);
};
public void onSuccess() {
Log.i("Men", "END231");
try {
mArtists = Statics.likeDatas;
int likeCount = 0;
for (Artist art : mArtists) {
if (art.getSongs() != null) {
likeCount += art.getSongs().size();
}
}
if (null != aAdapter) {
Log.d("Men", "Updated Adapter");
aAdapter.setData(Statics.likeDatas);
}else{
Log.d("Men", "OnactivityCreatedAgain : " + mArtists.size());
getViewTmp();
}
} catch (Exception e) {
e.printStackTrace();
}
};
};
mTask.execute();
}
@Override
public void onDestroy() {
if (null != mTask)
mTask.cancel(true);
super.onDestroy();
}
@Override
public void onDestroyView() {
if (getView() != null) {
((ViewGroup) getView().getParent()).removeView(getView());
}
// getActivity().unregisterReceiver(mLikeBroadcastReceiver);
isDestroyView = true;
super.onDestroyView();
}
public boolean getIsDestroyView(){
return isDestroyView;
}
}