处理一部分activity的toolbar,已经处理完毕的标记为Deprecated,为了保持MTA数据上报兼容性,暂时未删除对应的Activity
This commit is contained in:
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user