处理一部分activity的toolbar,已经处理完毕的标记为Deprecated,为了保持MTA数据上报兼容性,暂时未删除对应的Activity

This commit is contained in:
CsHeng
2017-12-14 17:56:54 +08:00
parent e0b70b26f3
commit bf7b0b0a82
67 changed files with 2251 additions and 2495 deletions

View File

@ -4,209 +4,21 @@ import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.content.ContextCompat;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.gh.base.BaseActivity;
import com.gh.base.OnRequestCallBackListener;
import com.gh.common.util.EntranceUtils;
import com.gh.common.view.Concern_LinearLayout;
import com.gh.gamecenter.adapter.ConcernAdapter;
import com.gh.gamecenter.adapter.ConcernRecommendAdapter;
import com.gh.gamecenter.entity.GameEntity;
import com.gh.gamecenter.eventbus.EBConcernChanged;
import com.gh.gamecenter.eventbus.EBReuse;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.util.List;
import butterknife.BindView;
import butterknife.OnClick;
import static com.gh.gamecenter.personal.PersonalFragment.LOGIN_TAG;
public class ConcernActivity extends BaseActivity implements OnClickListener, OnRequestCallBackListener {
@BindView(R.id.concern_rv_show)
RecyclerView mConcernRv;
@BindView(R.id.concern_rv_recommend)
RecyclerView mConcernRecommendRv;
@BindView(R.id.concern_rl_title)
RelativeLayout mConcernTitleRl;
@BindView(R.id.reuse_none_data)
LinearLayout mNoneData;
@BindView(R.id.reuse_tv_none_data)
TextView mNoDataTv;
@BindView(R.id.reuse_no_connection)
LinearLayout mNoConn;
private ConcernAdapter concernAdapter;
private ConcernRecommendAdapter concernRecommendAdapter;
import com.halo.assistant.fragment.ConcernFragment;
import com.halo.assistant.ui.IntentFactory;
@Deprecated
public class ConcernActivity extends CommonActivity {
@NonNull
public static Intent getIntent(Context context, String entrance) {
Intent intent = new Intent(context, ConcernActivity.class);
intent.putExtra(EntranceUtils.KEY_ENTRANCE, entrance);
return intent;
Bundle args = new Bundle();
args.putString(EntranceUtils.KEY_ENTRANCE, entrance);
return new IntentFactory.Builder(context)
.setActivity(ConcernActivity.class)
.setFragment(ConcernFragment.class).setArgs(args).build();
}
@Override
protected int getLayoutId() {
return R.layout.activity_concern;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setNavigationTitle(getString(R.string.title_concern));
mConcernTitleRl.setOnClickListener(this);
mConcernRv.setHasFixedSize(true);
mConcernRv.setLayoutManager(new GridLayoutManager(this, 3));
concernAdapter = new ConcernAdapter(this, this, mEntrance);
mConcernRv.setAdapter(concernAdapter);
mConcernRecommendRv.setHasFixedSize(true);
mConcernRecommendRv.setLayoutManager(new GridLayoutManager(this, 4));
}
@Override
public void loadDone() { // 关注推荐 回调
mConcernTitleRl.setVisibility(View.VISIBLE);
mConcernRecommendRv.setVisibility(View.VISIBLE);
int size = concernRecommendAdapter.getRecommendGameList().size();
mConcernRecommendRv.setLayoutManager(new GridLayoutManager(this, size > 4 ? 4 : size));
mConcernRecommendRv.getAdapter().notifyDataSetChanged();
}
// 关注的游戏加载完成 再加载热门推荐(根据已关注的游戏过滤)
@Override
public void loadDone(Object obj) {
mNoConn.setVisibility(View.GONE);
mNoneData.setVisibility(View.GONE);
concernRecommendAdapter = new ConcernRecommendAdapter(this, this, (List<GameEntity>)obj, mEntrance);
mConcernRecommendRv.setAdapter(concernRecommendAdapter);
if (obj == null) { // 未登录状态
mNoneData.setVisibility(View.VISIBLE);
mConcernRv.setVisibility(View.GONE);
mNoDataTv.setText(R.string.login_hint);
mNoDataTv.setTextColor(ContextCompat.getColor(ConcernActivity.this, R.color.theme));
}
}
@Override
public void loadError() {
mNoConn.setVisibility(View.VISIBLE);
mNoneData.setVisibility(View.GONE);
}
@Override
public void loadEmpty() {
if (concernAdapter.getConcernGameList() == null
|| concernAdapter.getConcernGameList().isEmpty()) {
mNoneData.setVisibility(View.VISIBLE);
mConcernRv.setVisibility(View.GONE);
mNoDataTv.setText(R.string.game_empty);
mNoDataTv.setTextColor(ContextCompat.getColor(ConcernActivity.this, R.color.c7c7c7));
}
if (concernRecommendAdapter.getRecommendGameList() == null
|| concernRecommendAdapter.getRecommendGameList().isEmpty()) {
mConcernTitleRl.setVisibility(View.GONE);
mConcernRecommendRv.setVisibility(View.GONE);
} else {
if (concernRecommendAdapter.getRecommendGameList().size() < 4) {
mConcernRecommendRv.setLayoutManager(
new GridLayoutManager(this, concernRecommendAdapter.getRecommendGameList().size()));
}
}
}
@OnClick({R.id.concern_rl_title, R.id.reuse_tv_none_data})
public void onClick(View v) {
switch (v.getId()) {
case R.id.concern_rl_title:
if (mConcernRecommendRv.getVisibility() == View.VISIBLE) {
((Concern_LinearLayout) mContentView).hideRecyclerView();
} else {
((Concern_LinearLayout) mContentView).showRecyclerView();
}
break;
case R.id.reuse_tv_none_data:
String hint = getString(R.string.login_hint);
if (hint.equals(mNoDataTv.getText().toString()))
startActivity(LoginActivity.getIntent(this, false));
break;
}
}
// 关注事件
@Subscribe(threadMode = ThreadMode.MAIN)
public void onEventMainThread(EBConcernChanged changed) {
if (!changed.isSingle()) {
return;
}
if (changed.isConcern()) {
GameEntity concernGame = concernRecommendAdapter.concernGame(changed.getGameId());
if (concernGame != null) {
concernAdapter.getConcernGameList().add(0, concernGame);
concernAdapter.notifyDataSetChanged();
if (mNoneData.getVisibility() == View.VISIBLE) {
mNoneData.setVisibility(View.GONE);
mConcernRv.setVisibility(View.VISIBLE);
}
}
for (int i = 0, size = concernRecommendAdapter.getRecommendGameList().size(); i < size; i++) {
if (changed.getGameId().equals(concernRecommendAdapter.getRecommendGameList().get(i).getId())) {
concernRecommendAdapter.getRecommendGameList().remove(i);
concernRecommendAdapter.notifyItemRemoved(i); // 删除动画
concernRecommendAdapter.notifyDataSetChanged(); // 防止列表串行
if (concernRecommendAdapter.getRecommendGameList().isEmpty()) {
mConcernTitleRl.setVisibility(View.GONE);
mConcernRecommendRv.setVisibility(View.GONE);
}
break;
}
}
} else {
GameEntity gameEntity = concernAdapter.cancelConcern(changed.getGameId());
if (gameEntity != null) {
concernRecommendAdapter.getRecommendGameList().add(0, gameEntity);
concernRecommendAdapter.notifyDataSetChanged();
}
if (concernRecommendAdapter.getRecommendGameList().isEmpty()) {
mConcernTitleRl.setVisibility(View.GONE);
mConcernRecommendRv.setVisibility(View.GONE);
} else {
mConcernTitleRl.setVisibility(View.VISIBLE);
mConcernRecommendRv.setVisibility(View.VISIBLE);
}
}
}
// 登录事件
@Subscribe(threadMode = ThreadMode.MAIN)
public void onEventMainThread(EBReuse reuse) {
if (reuse.getType().equals(LOGIN_TAG)) { // 登入
concernAdapter = new ConcernAdapter(this, this, mEntrance);
mConcernRv.setAdapter(concernAdapter);
mConcernRv.setVisibility(View.VISIBLE);
}
}
}