package org.aisen.weibo.sina.ui.fragment.friendship;
import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import org.aisen.android.support.bean.TabItem;
import org.aisen.android.support.inject.InjectUtility;
import org.aisen.android.ui.activity.basic.BaseActivity;
import org.aisen.android.ui.activity.container.FragmentArgs;
import org.aisen.android.ui.fragment.ATabsTabLayoutFragment;
import org.aisen.weibo.sina.R;
import org.aisen.weibo.sina.base.AppContext;
import org.aisen.weibo.sina.sinasdk.bean.WeiBoUser;
import org.aisen.weibo.sina.support.utils.AisenUtils;
import org.aisen.weibo.sina.support.utils.UMengUtil;
import org.aisen.weibo.sina.ui.activity.base.SinaCommonActivity;
import java.util.ArrayList;
/**
* Created by wangdan on 16/1/22.
*/
public class FriendshipPagerFragment extends ATabsTabLayoutFragment<TabItem> {
/**
* 用户关系
*
* @param from
* @param user
* @param type 1:粉丝 0:关注 2:互粉
*/
public static void launch(Activity from, WeiBoUser user, int type) {
FragmentArgs args = new FragmentArgs();
args.add("user", user);
args.add(SET_INDEX, type);
SinaCommonActivity.launch(from, FriendshipPagerFragment.class, args);
}
private WeiBoUser mUser;
private int type;
@Override
public int inflateContentView() {
return -1;
}
@Override
public int inflateActivityContentView() {
return R.layout.ui_tabs;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
InjectUtility.initInjectedView(getActivity(), this, ((BaseActivity) getActivity()).getRootView());
layoutInit(inflater, savedInstanceState);
return null;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mUser = savedInstanceState == null ? (WeiBoUser) getArguments().getSerializable("user")
: (WeiBoUser) savedInstanceState.getSerializable("user");
type = savedInstanceState == null ? getArguments().getInt("index", type)
: savedInstanceState.getInt("index");
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
BaseActivity activity = (BaseActivity) getActivity();
activity.getSupportActionBar().setDisplayHomeAsUpEnabled(true);
activity.getSupportActionBar().setTitle(AisenUtils.getUserScreenName(mUser));
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putSerializable("user", mUser);
outState.putInt("index", type);
}
@Override
protected ArrayList<TabItem> generateTabs() {
ArrayList<TabItem> beans = new ArrayList<TabItem>();
beans.add(new TabItem("300", String.format(getString(R.string.friends_format), AisenUtils.getCounter(mUser.getFriends_count()))));
beans.add(new TabItem("301", String.format(getString(R.string.followers_format), AisenUtils.getCounter(mUser.getFollowers_count()))));
// 是当前授权用户时,显示互粉
if (mUser.getIdstr().equals(AppContext.getAccount().getUser().getIdstr()))
beans.add(new TabItem("302", String.format(getString(R.string.bilateral_format), AisenUtils.getCounter(mUser.getBi_followers_count()))));
return beans;
}
@Override
protected Fragment newFragment(TabItem bean) {
switch (Integer.parseInt(bean.getType())) {
case 300:
return FriendsFragment.newInstance(mUser);
case 301:
return FollowersFragment.newInstance(mUser);
case 302:
return BilateralFragment.newInstance(mUser);
}
return null;
}
@Override
public void onResume() {
super.onResume();
UMengUtil.onPageStart(getActivity(), "朋友关系页");
}
@Override
public void onPause() {
super.onPause();
UMengUtil.onPageEnd(getActivity(), "朋友关系页");
}
}