package com.ved.musicmapapp.fragments;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
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.LinearLayout;
import android.widget.ListView;
import com.ved.musicmapapp.R;
import com.ved.musicmapapp.Objects.Artist;
import com.ved.musicmapapp.Objects.User;
import com.ved.musicmapapp.adapters.UserAdapter;
import com.ved.musicmapapp.providers.GetGlobalUserTask;
public class GlobalUserFragment extends Fragment {
private ListView list;
private UserAdapter uAdapter;
private LinearLayout group_loadmore, group_find;
private boolean alertShowing = false;
private String fbid;
private SharedPreferences prefs;
private boolean reload = true;
private GetGlobalUserTask task;
private View loadingLayout, resultLayout;
private Artist mArtist;
private List<User> mUsers;
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) {
super.onCreateView(inflater, container, savedInstanceState);
View v = inflater.inflate(R.layout.activity_global_user, container,
false);
if (null == mContext)
return v;
loadingLayout = v.findViewById(R.id.loadingLayout);
resultLayout = v.findViewById(R.id.resultLayout);
list = (ListView) v.findViewById(R.id.list_you_follow);
group_loadmore = (LinearLayout) v.findViewById(R.id.group_loadmore);
group_find = (LinearLayout) v.findViewById(R.id.group_find);
prefs = mContext
.getSharedPreferences("MUSIC_MAP", Context.MODE_PRIVATE);
fbid = prefs.getString("FB_ID", "");
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int pos,
long arg3) {
User user = mUsers.get(pos);
UserDetailsFragment fragment = new UserDetailsFragment();
fragment.setUser(user);
FragmentTransaction fragmentTransaction = getActivity()
.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();*/
}
});
if (null != task)
task.cancel(true);
if (mUsers == null) {
task = new GetGlobalUserTask(mContext, fbid, mArtist) {
@Override
protected void onPreExecute() {
super.onPreExecute();
loadingLayout.setVisibility(View.VISIBLE);
}
public void onSuccess(ArrayList<User> users) {
loadingLayout.setVisibility(View.GONE);
mUsers = users;
if (users.size() > 0 && null != mContext) {
uAdapter = new UserAdapter(mContext, users);
list.setAdapter(uAdapter);
list.setVisibility(View.VISIBLE);
} else {
resultLayout.setVisibility(View.VISIBLE);
}
};
};
task.execute();
} else {
loadingLayout.setVisibility(View.GONE);
if (mUsers.size() > 0 && null != mContext) {
uAdapter = new UserAdapter(mContext, mUsers);
list.setAdapter(uAdapter);
list.setVisibility(View.VISIBLE);
} else {
resultLayout.setVisibility(View.VISIBLE);
}
}
return v;
}
// public void setReloadData(boolean reload){
// this.reload = reload;
// }
@Override
public void onDestroy() {
if (null != task)
task.cancel(true);
super.onDestroy();
}
@Override
public void onDestroyView() {
if (getView() != null) {
((ViewGroup) getView().getParent()).removeView(getView());
}
super.onDestroyView();
}
}