package com.abewy.android.apps.klyph.fragment;
import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import com.abewy.android.apps.klyph.Klyph;
import com.abewy.android.apps.klyph.R;
import com.abewy.android.apps.klyph.adapter.MultiObjectAdapter;
import com.abewy.android.apps.klyph.core.fql.Friend;
import com.abewy.android.apps.klyph.core.fql.Tag;
import com.abewy.android.apps.klyph.core.graph.GraphObject;
public class UserListDialog extends KlyphDialogFragment implements OnItemClickListener
{
private List<GraphObject> list;
private int customTitle = -1;
private String customStringTitle;
public UserListDialog()
{
super();
}
public UserListDialog(boolean hideTitleBar)
{
super();
setStyle(DialogFragment.STYLE_NO_TITLE, 0);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState)
{
super.onViewCreated(view, savedInstanceState);
defineEmptyText(R.string.empty_list_no_user);
setEmptyViewVisible(false);
setListAdapter(new MultiObjectAdapter(getListView()));
getListView().setOnItemClickListener(this);
setListVisible(false);
if (list != null)
{
populate(list);
setNoMoreData(true);
}
}
public void loadList(List<Tag> list)
{
this.list = new ArrayList<GraphObject>();
this.list.addAll(list);
}
public void setCustomTitle(int title)
{
this.customTitle = title;
}
public void setCustomTitle(String title)
{
this.customStringTitle = title;
}
@Override
protected String getTitle()
{
if (customTitle != -1)
return getString(customTitle);
if (customStringTitle != null)
return customStringTitle;
return getResources().getString(R.string.user_like);
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3)
{
GraphObject object = (GraphObject) arg0.getItemAtPosition(position);
if (object instanceof Tag)
{
Tag tag = (Tag) object;
startActivity(Klyph.getIntentForGraphObject(getActivity(), tag));
}
else if (object instanceof Friend)
{
Friend friend = (Friend) object;
startActivity(Klyph.getIntentForGraphObject(getActivity(), friend));
}
}
@Override
public void onDestroy()
{
super.onDestroy();
list = null;
}
}