|
|
@@ -26,6 +26,7 @@ import com.sheep.gamegroup.model.entity.GameInfoList;
|
|
|
import com.sheep.gamegroup.model.entity.LatelyGame;
|
|
|
import com.sheep.gamegroup.model.entity.UserFocus;
|
|
|
import com.sheep.gamegroup.model.util.SheepSubscriber;
|
|
|
+import com.sheep.gamegroup.util.ApiUtil;
|
|
|
import com.sheep.gamegroup.util.CommonUtil;
|
|
|
import com.sheep.gamegroup.util.DataUtil;
|
|
|
import com.sheep.gamegroup.util.ListUtil;
|
|
|
@@ -82,8 +83,10 @@ public class ActUserAppHome extends BaseActivity {
|
|
|
TextView user_app_home_num_focus_users;
|
|
|
@BindView(R.id.user_app_home_num_focus_games)
|
|
|
TextView user_app_home_num_focus_games;
|
|
|
- @BindView(R.id.user_app_home_num_praise)
|
|
|
- TextView user_app_home_num_praise;
|
|
|
+ @BindView(R.id.user_app_home_num_like)
|
|
|
+ TextView user_app_home_num_like;
|
|
|
+ @BindView(R.id.user_app_home_focus)
|
|
|
+ TextView user_app_home_focus;
|
|
|
@BindView(R.id.user_app_home_name)
|
|
|
TextView user_app_home_name;
|
|
|
@BindView(R.id.user_app_home_game_list)
|
|
|
@@ -93,6 +96,7 @@ public class ActUserAppHome extends BaseActivity {
|
|
|
private TitleFragmentListAdapter mAdapter;
|
|
|
|
|
|
private ArrayList<GameInfoList> gameInfoListArrayList = ListUtil.emptyList();
|
|
|
+
|
|
|
@Override
|
|
|
public void initView() {
|
|
|
focus_user_id = DataUtil.getObject(getIntent(), Integer.class);
|
|
|
@@ -101,8 +105,10 @@ public class ActUserAppHome extends BaseActivity {
|
|
|
mAdapter = new TitleFragmentListAdapter(getSupportFragmentManager());
|
|
|
FgtUserAppHomeCommentList fgtUserAppHomeCommentList = new FgtUserAppHomeCommentList();
|
|
|
fgtUserAppHomeCommentList.setFocus_user_id(focus_user_id);
|
|
|
+ fgtUserAppHomeCommentList.setSmartRefreshLayout(refresh);
|
|
|
FgtUserAppHomeReplyList fgtUserAppHomeReplyList = new FgtUserAppHomeReplyList();
|
|
|
fgtUserAppHomeReplyList.setFocus_user_id(focus_user_id);
|
|
|
+ fgtUserAppHomeReplyList.setSmartRefreshLayout(refresh);
|
|
|
mAdapter.add(fgtUserAppHomeCommentList, "评论");
|
|
|
mAdapter.add(fgtUserAppHomeReplyList, "回复");
|
|
|
viewPager.setAdapter(mAdapter);
|
|
|
@@ -136,41 +142,43 @@ public class ActUserAppHome extends BaseActivity {
|
|
|
public void initData() {
|
|
|
initDetailFromACache();
|
|
|
initGameListFromACache();
|
|
|
- if (refresh != null) {
|
|
|
- refresh.autoRefresh();
|
|
|
- }
|
|
|
+ refreshData();
|
|
|
}
|
|
|
+
|
|
|
//从缓存获取用户主页详情
|
|
|
private void initDetailFromACache() {
|
|
|
UserFocus userFocus = DataUtil.getInstance().getCacheResult(ApiKey.getGameUserDetail(focus_user_id), UserFocus.class);
|
|
|
checkData(userFocus);
|
|
|
}
|
|
|
+
|
|
|
//从网络获取用户主页详情
|
|
|
private void initDetailFromNet() {
|
|
|
SheepApp.getInstance().getNetComponent().getApiService().getGameUserDetail(focus_user_id)
|
|
|
- .subscribeOn(Schedulers.io())
|
|
|
- .observeOn(AndroidSchedulers.mainThread())
|
|
|
- .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
|
|
|
- @Override
|
|
|
- public void onNext(BaseMessage baseMessage) {
|
|
|
- boolean isNewData = DataUtil.getInstance().isNewData(ApiKey.getGameUserDetail(focus_user_id));
|
|
|
- if (isNewData) {
|
|
|
- UserFocus userFocus = baseMessage.getData(UserFocus.class);
|
|
|
- checkData(userFocus);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onError(BaseMessage baseMessage) {
|
|
|
- if(TestUtil.isDev()) G.showToast(baseMessage);
|
|
|
- }
|
|
|
- });
|
|
|
+ .subscribeOn(Schedulers.io())
|
|
|
+ .observeOn(AndroidSchedulers.mainThread())
|
|
|
+ .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
|
|
|
+ @Override
|
|
|
+ public void onNext(BaseMessage baseMessage) {
|
|
|
+ boolean isNewData = DataUtil.getInstance().isNewData(ApiKey.getGameUserDetail(focus_user_id));
|
|
|
+ if (isNewData) {
|
|
|
+ UserFocus userFocus = baseMessage.getData(UserFocus.class);
|
|
|
+ checkData(userFocus);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onError(BaseMessage baseMessage) {
|
|
|
+ if (TestUtil.isDev()) G.showToast(baseMessage);
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
+
|
|
|
//从缓存获取用户主页详情
|
|
|
private void initGameListFromACache() {
|
|
|
LatelyGame latelyGame = DataUtil.getInstance().getCacheResult(ApiKey.getGameUserLatelyGame(focus_user_id), LatelyGame.class);
|
|
|
checkLatelyGame(latelyGame);
|
|
|
}
|
|
|
+
|
|
|
//从网络获取最近游戏与同类游戏
|
|
|
private void initGameList() {
|
|
|
SheepApp.getInstance().getNetComponent().getApiService().getGameUserLatelyGame(focus_user_id)
|
|
|
@@ -188,45 +196,49 @@ public class ActUserAppHome extends BaseActivity {
|
|
|
|
|
|
@Override
|
|
|
public void onError(BaseMessage baseMessage) {
|
|
|
- if(TestUtil.isDev()) G.showToast(baseMessage);
|
|
|
+ if (TestUtil.isDev()) G.showToast(baseMessage);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
+
|
|
|
//检查数据
|
|
|
private void checkLatelyGame(LatelyGame latelyGame) {
|
|
|
- if(latelyGame != null){
|
|
|
+ if (latelyGame != null) {
|
|
|
loadLatelyGame(latelyGame);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
private List<GameApp> latelyGameList = ListUtil.emptyList();
|
|
|
private List<GameApp> sameGameList = ListUtil.emptyList();
|
|
|
public static final String NAME_LATELY = "在玩的游戏";
|
|
|
public static final String NAME_SAME = "同类游戏";
|
|
|
+
|
|
|
//加载最近游戏与同类游戏
|
|
|
private void loadLatelyGame(LatelyGame latelyGame) {
|
|
|
reloadList(latelyGameList, latelyGame.getLately(), NAME_LATELY);
|
|
|
reloadList(sameGameList, latelyGame.getSame(), NAME_SAME);
|
|
|
user_app_home_game_list.getAdapter().notifyDataSetChanged();
|
|
|
}
|
|
|
+
|
|
|
//重新加载列表
|
|
|
private void reloadList(List<GameApp> list, List<GameApp> addList, final String name) {
|
|
|
list.clear();
|
|
|
- if(!ListUtil.isEmpty(addList)){
|
|
|
+ if (!ListUtil.isEmpty(addList)) {
|
|
|
list.addAll(addList);
|
|
|
}
|
|
|
- if(ListUtil.getItem(gameInfoListArrayList, new ListUtil.CallBack<GameInfoList, Boolean>() {
|
|
|
+ if (ListUtil.getItem(gameInfoListArrayList, new ListUtil.CallBack<GameInfoList, Boolean>() {
|
|
|
@Override
|
|
|
public Boolean call(GameInfoList gameInfoList) {
|
|
|
return TextUtils.equals(gameInfoList.getName(), name);
|
|
|
}
|
|
|
- }) == null){
|
|
|
+ }) == null) {
|
|
|
gameInfoListArrayList.add(new GameInfoList(name, new AdpGcGameAppList(SheepApp.getInstance(), R.layout.item_gc_game_app_63, list)).setHorizontal().setShowBottomLine(true).setShowTopLine(false));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//检查数据
|
|
|
private void checkData(UserFocus userFocus) {
|
|
|
- if(userFocus == null){
|
|
|
+ if (userFocus == null) {
|
|
|
resetView();
|
|
|
} else {
|
|
|
loadData(userFocus);
|
|
|
@@ -239,22 +251,40 @@ public class ActUserAppHome extends BaseActivity {
|
|
|
ViewUtil.setDefaultText(user_app_home_num_fans);
|
|
|
ViewUtil.setDefaultText(user_app_home_num_focus_users);
|
|
|
ViewUtil.setDefaultText(user_app_home_num_focus_games);
|
|
|
- ViewUtil.setDefaultText(user_app_home_num_praise);
|
|
|
+ ViewUtil.setDefaultText(user_app_home_num_like);
|
|
|
+ ViewUtil.setDefaultText(user_app_home_focus);
|
|
|
}
|
|
|
+
|
|
|
+ private UserFocus userFocus;
|
|
|
+
|
|
|
//加载数据
|
|
|
private void loadData(UserFocus userFocus) {
|
|
|
+ this.userFocus = userFocus;
|
|
|
ViewUtil.setText(user_app_home_name, userFocus.getNick_name());
|
|
|
ViewUtil.setAvatar(user_app_home_avatar, userFocus.getAvatar());
|
|
|
+ ViewUtil.setBlur(user_app_home_bg, userFocus.getAvatar());
|
|
|
ViewUtil.setText(user_app_home_num_fans, userFocus.getFan());
|
|
|
ViewUtil.setText(user_app_home_num_focus_users, userFocus.getFocus_user());
|
|
|
ViewUtil.setText(user_app_home_num_focus_games, userFocus.getFocus_game());
|
|
|
- ViewUtil.setText(user_app_home_num_praise, userFocus.getLike());
|
|
|
+ updateLikeTv();
|
|
|
+ updateFocusTv();
|
|
|
+ }
|
|
|
+
|
|
|
+ //更新点赞数量
|
|
|
+ private void updateLikeTv() {
|
|
|
+ ViewUtil.setText(user_app_home_num_like, userFocus.getLike());
|
|
|
+ }
|
|
|
+
|
|
|
+ //更新关注状态
|
|
|
+ private void updateFocusTv() {
|
|
|
+ ViewUtil.setText(user_app_home_focus, getString(userFocus.isIs_focus_user() ? R.string.has_focus : R.string.focus));
|
|
|
}
|
|
|
|
|
|
//refreshData调用次数
|
|
|
private int refreshDataCount = 0;
|
|
|
+
|
|
|
//刷新数据
|
|
|
- public void refreshData(){
|
|
|
+ public void refreshData() {
|
|
|
initDetailFromNet();
|
|
|
initGameList();
|
|
|
boolean isRefresh = false;
|
|
|
@@ -266,7 +296,7 @@ public class ActUserAppHome extends BaseActivity {
|
|
|
}
|
|
|
}
|
|
|
refreshDataCount++;
|
|
|
- if(!isRefresh)
|
|
|
+ if (!isRefresh)
|
|
|
notifyDataSetChanged();
|
|
|
}
|
|
|
|
|
|
@@ -297,6 +327,55 @@ public class ActUserAppHome extends BaseActivity {
|
|
|
public void onClickShareImg(View view) {
|
|
|
//TODO 点击分享游戏
|
|
|
G.showToast(R.string.coming_soon);
|
|
|
+// FIND_SHARE.onEvent("application_id", id);
|
|
|
+// Jump2View.getInstance().tryShare(this, "find_share_url", "application_id", id);
|
|
|
+ }
|
|
|
+
|
|
|
+ //点击赞
|
|
|
+ public void onClickLike(final View view) {
|
|
|
+ if (userFocus == null) {
|
|
|
+ G.showToast(R.string.loading_data);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ view.setEnabled(false);
|
|
|
+ ApiUtil.postGameUserLike(focus_user_id, new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
|
|
|
+ @Override
|
|
|
+ public void onNext(BaseMessage baseMessage) {
|
|
|
+ G.showToast(R.string.like_success);
|
|
|
+ userFocus.plusLike();
|
|
|
+ updateLikeTv();
|
|
|
+ view.setEnabled(true);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onError(BaseMessage baseMessage) {
|
|
|
+ G.showToast(R.string.like_fail);
|
|
|
+ view.setEnabled(true);
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
+ //点击关注
|
|
|
+ public void onClickFocus(final View view) {
|
|
|
+ if (userFocus == null) {
|
|
|
+ G.showToast(R.string.loading_data);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ view.setEnabled(false);
|
|
|
+ ApiUtil.postGameUserFocusUser(focus_user_id, new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
|
|
|
+ @Override
|
|
|
+ public void onNext(BaseMessage baseMessage) {
|
|
|
+ G.showToast(userFocus.isIs_focus_user() ? R.string.cancel_focus_success : R.string.focus_success);
|
|
|
+ userFocus.toggleFocusUser();
|
|
|
+ updateFocusTv();
|
|
|
+ view.setEnabled(true);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onError(BaseMessage baseMessage) {
|
|
|
+ G.showToast(userFocus.isIs_focus_user() ? R.string.cancel_focus_fail : R.string.focus_fail);
|
|
|
+ view.setEnabled(true);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|