package com.mcxiaoke.minicat.fragment;
import android.content.Loader;
import android.database.Cursor;
import android.os.Bundle;
import android.util.Log;
import com.mcxiaoke.minicat.AppContext;
import com.mcxiaoke.minicat.api.Paging;
import com.mcxiaoke.minicat.controller.DataController;
import com.mcxiaoke.minicat.dao.model.StatusModel;
import com.mcxiaoke.minicat.service.SyncService;
import com.mcxiaoke.minicat.util.StringHelper;
/**
* @author mcxiaoke
* @version 1.3 2012.03.08
*/
public class UserFavoritesFragment extends BaseTimlineFragment {
private static final String TAG = UserFavoritesFragment.class
.getSimpleName();
private String userId;
private int page;
public static UserFavoritesFragment newInstance(String userId) {
return newInstance(userId, false);
}
public static UserFavoritesFragment newInstance(String userId,
boolean refresh) {
Bundle args = new Bundle();
args.putString("id", userId);
args.putBoolean("refresh", refresh);
UserFavoritesFragment fragment = new UserFavoritesFragment();
fragment.setArguments(args);
if (AppContext.DEBUG) {
Log.d(TAG, "newInstance() " + fragment);
}
return fragment;
}
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
return DataController.getUserFavoritesCursorLoader(getActivity(),
userId);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (AppContext.DEBUG) {
Log.d(TAG, "onCreate() userId=" + userId);
}
}
@Override
protected void doFetch(boolean doGetMore) {
if (AppContext.DEBUG) {
Log.d(TAG, "doFetch() doGetMore=" + doGetMore);
}
final ResultHandler handler = new ResultHandler(this);
Paging p = new Paging();
if (doGetMore) {
page++;
} else {
page = 1;
}
p.page = page;
if (AppContext.DEBUG) {
Log.d(TAG, "doFetch() doGetMore=" + doGetMore + " Paging=" + p);
}
SyncService.getTimeline(getActivity(), StatusModel.TYPE_FAVORITES,
handler, userId, p);
}
@Override
protected int getType() {
return StatusModel.TYPE_FAVORITES;
}
@Override
protected void parseArguments(Bundle args) {
if (args != null) {
userId = args.getString("id");
}
if (StringHelper.isEmpty(userId)) {
userId = AppContext.getAccount();
}
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
// getActivity().setTitle("我的收藏");
}
@Override
public String getTitle() {
return "收藏";
}
}