集成热更

This commit is contained in:
huangzhuanghua
2016-05-10 15:09:50 +08:00
parent 547d318b4b
commit f394fdacdd
36 changed files with 15845 additions and 108 deletions

View File

@ -21,6 +21,7 @@ import com.gh.common.constant.Config;
import com.gh.common.constant.Constants;
import com.gh.common.util.ImageUtils;
import com.gh.common.util.TimestampUtils;
import com.gh.common.util.Utils;
import com.gh.common.view.Concern_LinearLayout;
import com.gh.gamecenter.db.info.ConcernInfo;
import com.gh.gamecenter.entity.GameEntity;
@ -115,27 +116,23 @@ public class ConcernActivity extends BaseActivity implements OnClickListener {
@Override
public void onResponse(JSONArray response) {
processingData(response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// 无网络连接
if (error.getClass().equals(NoConnectionError.class)) {
}
}
});
AppController
.addToRequestQueue(recommendRequest, ConcernActivity.class);
AppController.addToRequestQueue(recommendRequest, ConcernActivity.class);
}
private void processingData(JSONArray response) {
Type listType = new TypeToken<ArrayList<GameEntity>>() {
}.getType();
Type listType = new TypeToken<ArrayList<GameEntity>>() {}.getType();
Gson gson = new Gson();
List<GameEntity> list = gson.fromJson(response.toString(), listType);
for (int i = 0, size = list.size(); i < size; i++) {
@ -158,8 +155,7 @@ public class ConcernActivity extends BaseActivity implements OnClickListener {
for (int i = 0, size = list.size(); i < size; i++) {
JsonObjectExtendedRequest concernObjectRequest = new JsonObjectExtendedRequest(
TimestampUtils.addTimestamp(Config.HOST + "v1d45/game/"
+ list.get(i).getId() + "/digest",
Constants.GAME_CD),
+ list.get(i).getId() + "/digest", Constants.GAME_CD),
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
@ -173,14 +169,12 @@ public class ConcernActivity extends BaseActivity implements OnClickListener {
@Override
public void onErrorResponse(VolleyError error) {
// 无网络连接
if (error.getClass()
.equals(NoConnectionError.class)) {
if (error.getClass().equals(NoConnectionError.class)) {
}
}
});
AppController.addToRequestQueue(concernObjectRequest,
ConcernActivity.class);
AppController.addToRequestQueue(concernObjectRequest, ConcernActivity.class);
}
}
@ -188,8 +182,7 @@ public class ConcernActivity extends BaseActivity implements OnClickListener {
List<GameEntity> gameList = new ArrayList<GameEntity>();
Gson gson = new Gson();
for (int i = 0; i < data.size(); i++) {
gameList.add(gson
.fromJson(data.get(i).toString(), GameEntity.class));
gameList.add(gson.fromJson(data.get(i).toString(), GameEntity.class));
}
for (int i = 0, sizei = list.size(); i < sizei; i++) {
for (int j = 0, sizej = gameList.size(); j < sizej; j++) {
@ -199,6 +192,7 @@ public class ConcernActivity extends BaseActivity implements OnClickListener {
}
}
}
concern_rv_show.getAdapter().notifyDataSetChanged();
}
private class ConcernViewHolder extends RecyclerView.ViewHolder implements
@ -210,13 +204,9 @@ public class ConcernActivity extends BaseActivity implements OnClickListener {
public ConcernViewHolder(View convertView) {
super(convertView);
concern_item_icon = (ImageView) convertView
.findViewById(R.id.concern_item_icon);
concern_item_name = (TextView) convertView
.findViewById(R.id.concern_item_name);
concern_item_btn = (TextView) convertView
.findViewById(R.id.concern_item_btn);
concern_item_icon = (ImageView) convertView.findViewById(R.id.concern_item_icon);
concern_item_name = (TextView) convertView.findViewById(R.id.concern_item_name);
concern_item_btn = (TextView) convertView.findViewById(R.id.concern_item_btn);
concern_item_btn.setOnClickListener(this);
convertView.setOnClickListener(this);
view = convertView;
@ -232,8 +222,7 @@ public class ConcernActivity extends BaseActivity implements OnClickListener {
Map<String, Object> kv = new HashMap<String, Object>();
kv.put("状态", "取消关注");
TCAgent.onEvent(ConcernActivity.this, "游戏关注",
concernInfo.getGameName(), kv);
TCAgent.onEvent(ConcernActivity.this, "游戏关注", concernInfo.getGameName(), kv);
Map<String, Object> map = new HashMap<String, Object>();
map.put("game", concernInfo.getGameName());
@ -250,6 +239,9 @@ public class ConcernActivity extends BaseActivity implements OnClickListener {
}
concern_item_btn.setClickable(false);
view.setClickable(false);
recommendList = new ArrayList<GameEntity>();
initRecommendGame();
} else {
toast("取消失败,请稍后再试");
}
@ -265,8 +257,7 @@ public class ConcernActivity extends BaseActivity implements OnClickListener {
DataCollectionManager.onEvent(ConcernActivity.this, "click-item", map);
AppController.put("GameEntity", gameEntity);
Intent intent = new Intent(ConcernActivity.this,
GameDetailsActivity.class);
Intent intent = new Intent(ConcernActivity.this, GameDetailsActivity.class);
intent.putExtra("entrance", "我的关注-列表");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
@ -291,8 +282,7 @@ public class ConcernActivity extends BaseActivity implements OnClickListener {
concernEntity.getIcon(), holder.concern_item_icon);
holder.concern_item_name.setText(concernEntity.getGameName());
holder.concern_item_btn.setText("取消关注");
holder.concern_item_btn
.setBackgroundResource(R.drawable.textview_cancel_style);
holder.concern_item_btn.setBackgroundResource(R.drawable.textview_cancel_style);
holder.concern_item_btn.setClickable(true);
holder.view.setClickable(true);
}
@ -317,12 +307,9 @@ public class ConcernActivity extends BaseActivity implements OnClickListener {
public RecommendViewHolder(View convertView) {
super(convertView);
concern_item_icon = (ImageView) convertView
.findViewById(R.id.concern_item_icon);
concern_item_name = (TextView) convertView
.findViewById(R.id.concern_item_name);
concern_item_btn = (TextView) convertView
.findViewById(R.id.concern_item_btn);
concern_item_icon = (ImageView) convertView.findViewById(R.id.concern_item_icon);
concern_item_name = (TextView) convertView.findViewById(R.id.concern_item_name);
concern_item_btn = (TextView) convertView.findViewById(R.id.concern_item_btn);
concern_item_btn.setOnClickListener(this);
convertView.setOnClickListener(this);
view = convertView;
@ -337,8 +324,7 @@ public class ConcernActivity extends BaseActivity implements OnClickListener {
Map<String, Object> kv = new HashMap<String, Object>();
kv.put("状态", "关注");
TCAgent.onEvent(ConcernActivity.this, "游戏关注",
gameEntity.getName(), kv);
TCAgent.onEvent(ConcernActivity.this, "游戏关注", gameEntity.getName(), kv);
Map<String, Object> map = new HashMap<String, Object>();
map.put("game", gameEntity.getName());
@ -357,8 +343,7 @@ public class ConcernActivity extends BaseActivity implements OnClickListener {
concern_tv_none.setVisibility(View.GONE);
concern_rv_show.setVisibility(View.VISIBLE);
}
concern_rv_show.getAdapter()
.notifyItemInserted(list.size() - 1);
concern_rv_show.getAdapter().notifyItemInserted(list.size() - 1);
concernList.add(recommendList.remove(position));
if (recommendList.isEmpty()) {
@ -366,13 +351,10 @@ public class ConcernActivity extends BaseActivity implements OnClickListener {
concern_rv_recommend.setVisibility(View.GONE);
} else {
if (recommendList.size() < 4) {
concern_rv_recommend
.setLayoutManager(new GridLayoutManager(
ConcernActivity.this, recommendList
.size()));
concern_rv_recommend.setLayoutManager(new GridLayoutManager(
ConcernActivity.this, recommendList.size()));
}
concern_rv_recommend.getAdapter().notifyItemRemoved(
position);
concern_rv_recommend.getAdapter().notifyItemRemoved(position);
}
concern_item_btn.setClickable(false);
view.setClickable(false);
@ -388,8 +370,7 @@ public class ConcernActivity extends BaseActivity implements OnClickListener {
AppController.put("GameEntity", gameEntity);
Intent intent = new Intent(ConcernActivity.this,
GameDetailsActivity.class);
Intent intent = new Intent(ConcernActivity.this, GameDetailsActivity.class);
intent.putExtra("entrance", "我的关注-推荐");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
@ -397,8 +378,7 @@ public class ConcernActivity extends BaseActivity implements OnClickListener {
}
}
private class RecommendViewAdapter extends
RecyclerView.Adapter<RecommendViewHolder> {
private class RecommendViewAdapter extends RecyclerView.Adapter<RecommendViewHolder> {
@Override
public int getItemCount() {
@ -427,7 +407,58 @@ public class ConcernActivity extends BaseActivity implements OnClickListener {
}
@Override
private boolean isPause = false;
@Override
protected void onPause() {
super.onPause();
isPause = true;
}
@Override
protected void onResume() {
super.onResume();
Utils.log("isPause = " + isPause);
if (isPause) {
List<ConcernInfo> concernList = manager.getConcernGame();
boolean isChanged = false;
if (concernList == null) {
if (list.size() != 0){
isChanged = true;
}
} else {
if (list.isEmpty()
|| concernList.size() > list.size()
|| concernList.size() < list.size()) {
isChanged = true;
}
}
Utils.log("isChanged = " + isChanged);
if (isChanged) {
list = concernList;
if (list == null) {
list = new ArrayList<ConcernInfo>();
}
concernList = new ArrayList<ConcernInfo>();
if (!list.isEmpty()) {
concern_tv_none.setVisibility(View.GONE);
concern_rv_show.setVisibility(View.VISIBLE);
initConcernGame();
} else {
concern_tv_none.setVisibility(View.VISIBLE);
concern_rv_show.setVisibility(View.GONE);
}
recommendList = new ArrayList<GameEntity>();
initRecommendGame();
}
isPause = false;
}
}
@Override
protected void onDestroy() {
super.onDestroy();
view = null;