package com.tejia.lijin.app.ui.mine;
|
|
import android.content.Intent;
|
import android.graphics.drawable.AnimationDrawable;
|
import android.os.Bundle;
|
import android.provider.Settings;
|
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.RecyclerView;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.ViewGroup;
|
import android.widget.AutoCompleteTextView;
|
import android.widget.FrameLayout;
|
import android.widget.ImageView;
|
import android.widget.LinearLayout;
|
import android.widget.TextView;
|
import android.widget.Toast;
|
|
import com.google.gson.Gson;
|
import com.google.gson.GsonBuilder;
|
import com.google.gson.reflect.TypeToken;
|
import com.tejia.lijin.app.ShoppingApplication;
|
import com.wpc.library.content.ConnectivityChangeHelper;
|
import com.wpc.library.recyclerviewhelper.DividerItemDecoration;
|
import com.wpc.library.util.NetUtils;
|
import com.wpc.library.util.common.DimenUtils;
|
import com.wpc.library.util.common.StringUtils;
|
import com.tejia.lijin.app.BasicTextHttpResponseHandler;
|
import com.tejia.lijin.app.R;
|
import com.tejia.lijin.app.ShoppingApi;
|
import com.tejia.lijin.app.entity.CountMyTeam;
|
import com.tejia.lijin.app.entity.InvitePlayer;
|
import com.tejia.lijin.app.entity.user.TeamScreenInfo;
|
import com.tejia.lijin.app.ui.BaseActivity;
|
import com.tejia.lijin.app.ui.dialog.ShapeLoadingDialog;
|
import com.tejia.lijin.app.util.MultipleContentPopUps;
|
import com.tejia.lijin.app.util.TopStatusSettings;
|
import com.tejia.lijin.app.util.user.UserUtil;
|
|
import org.apache.http.Header;
|
import org.json.JSONObject;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* 我的队员
|
*/
|
public class MyPlayerSearchResultActivity extends BaseActivity implements View.OnClickListener {
|
|
private SwipeRefreshLayout srl_player;
|
private RecyclerView rv_player;
|
private View bottom, v_1, v_2;
|
private ImageView iv_loading;
|
private TextView tv_loading, tv_no_data_hint, tv_first_player_title,
|
tv_first_player, tv_second_player_title, tv_second_player, tv_invite_player;
|
private ConnectivityChangeHelper mChangeHelper;
|
private LinearLayout ll_no_net, ll_no_data, ll_request_failture;
|
private ImageView iv_no_data;
|
private AutoCompleteTextView et_team_search;
|
|
private List<InvitePlayer> mList;
|
private MyPlayerListAdapter adapter;
|
String type = "1";
|
private int page = 1;
|
int count = 1;
|
private boolean isLoad = false;
|
private ShapeLoadingDialog loadingDialog;
|
|
private TeamScreenInfo screenInfo = null;
|
private String key = null;
|
|
@Override
|
protected void onCreate(Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
setContentView(R.layout.activity_myplayer_search_result);
|
TopStatusSettings.setStatusViewAndDeepColor(this);
|
|
loadingDialog = new ShapeLoadingDialog.Builder(this).build();
|
|
String screenInfoStr = getIntent().getStringExtra("screenInfo");
|
if (!StringUtils.isEmpty(screenInfoStr))
|
screenInfo = new Gson().fromJson(screenInfoStr, TeamScreenInfo.class);
|
key = getIntent().getStringExtra("key");
|
|
|
srl_player = findViewById(R.id.srl_player);
|
rv_player = findViewById(R.id.rv_player);
|
tv_first_player_title = findViewById(R.id.tv_first_player_title);
|
tv_first_player = findViewById(R.id.tv_first_player);
|
tv_second_player_title = findViewById(R.id.tv_second_player_title);
|
tv_second_player = findViewById(R.id.tv_second_player);
|
tv_invite_player = findViewById(R.id.tv_invite_player);
|
et_team_search = findViewById(R.id.et_team_search);
|
v_1 = findViewById(R.id.v_1);
|
v_2 = findViewById(R.id.v_2);
|
|
if (!StringUtils.isEmpty(key)) {
|
et_team_search.setText(key);
|
et_team_search.setSelection(key.length());
|
}
|
et_team_search.clearFocus();
|
findViewById(R.id.tv_top_bar_left).setOnClickListener(this);
|
findViewById(R.id.tv_search).setOnClickListener(this);
|
findViewById(R.id.ll_first_player).setOnClickListener(this);
|
findViewById(R.id.ll_second_player).setOnClickListener(this);
|
tv_invite_player.setVisibility(View.GONE);
|
|
srl_player.setColorSchemeColors(getResources().getColor(R.color.theme));
|
mList = new ArrayList<>();
|
bottom = LayoutInflater.from(this).inflate(R.layout.item_recyclerview_bottom, null);
|
adapter = new MyPlayerListAdapter(this, type, mList, new MyPlayerListAdapter.IDeleteListener() {
|
@Override
|
public void delete(final InvitePlayer invitePlayer, final int position) {
|
//删除接口
|
if (invitePlayer != null) {
|
ShoppingApi.remvoeTeamBreak(getApplicationContext(), invitePlayer.getInviteId(), UserUtil.getUid(getApplicationContext()), invitePlayer.getWorkerId(), new BasicTextHttpResponseHandler() {
|
@Override
|
public void onStart() {
|
if (!loadingDialog.isShowing())
|
loadingDialog.show();
|
super.onStart();
|
}
|
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
super.onSuccessPerfect(statusCode, headers, jsonObject);
|
if (jsonObject.optInt("code") == 0) {
|
//删除对应的项
|
if (position < mList.size() && mList.get(position).getInviteId().equalsIgnoreCase(invitePlayer.getInviteId())) {
|
mList.remove(position);
|
adapter.notifyDataSetChanged();
|
}
|
} else {
|
Toast.makeText(MyPlayerSearchResultActivity.this, jsonObject.optString("msg"), Toast.LENGTH_SHORT).show();
|
}
|
}
|
|
@Override
|
public void onFinish() {
|
super.onFinish();
|
if (loadingDialog.isShowing())
|
loadingDialog.dismiss();
|
}
|
});
|
|
}
|
}
|
});
|
tv_loading = bottom.findViewById(R.id.tv_loading);
|
iv_loading = bottom.findViewById(R.id.iv_loading);
|
AnimationDrawable animationDrawable = (AnimationDrawable) getResources().getDrawable(
|
R.drawable.anim_list_loading);
|
iv_loading.setImageDrawable(animationDrawable);
|
animationDrawable.start();
|
// Glide.with(this).load(R.drawable.gif_loading).into(iv_loading);
|
adapter.addFooterView(bottom);
|
bottom.setVisibility(View.GONE);
|
|
View header = LayoutInflater.from(this).inflate(R.layout.item_recyclerview_bottom, null);
|
header.findViewById(R.id.iv_loading).setVisibility(View.GONE);
|
header.findViewById(R.id.tv_loading).setVisibility(View.GONE);
|
header.findViewById(R.id.ll_loading).setLayoutParams(new FrameLayout.LayoutParams(
|
ViewGroup.LayoutParams.MATCH_PARENT, DimenUtils.dip2px(this, 8)));
|
adapter.addHeaderView(header);
|
|
rv_player.setLayoutManager(new LinearLayoutManager(this));
|
DividerItemDecoration vDivider = new DividerItemDecoration();
|
vDivider.setColor(getResources().getColor(R.color.register_gray));
|
vDivider.setSize(1);
|
rv_player.addItemDecoration(vDivider);
|
rv_player.setAdapter(adapter);
|
|
ll_no_net = findViewById(R.id.ll_no_net);
|
ll_no_data = findViewById(R.id.ll_no_data);
|
ll_request_failture = findViewById(R.id.ll_request_failture);
|
tv_no_data_hint = findViewById(R.id.tv_no_data_hint);
|
iv_no_data = findViewById(R.id.iv_no_data);
|
tv_no_data_hint.setText("未找到符合筛选条件的粉丝~");
|
iv_no_data.setImageDrawable(getResources().getDrawable(R.drawable.ic_search_no_firends));
|
findViewById(R.id.tv_net_setting).setOnClickListener(this);
|
findViewById(R.id.tv_refresh).setOnClickListener(this);
|
mChangeHelper = new ConnectivityChangeHelper(this,
|
new ConnectivityChangeHelper.OnConnectivityChangeListener() {
|
|
@Override
|
public void onNetworkUnAvailable() {
|
if (mList.size() == 0)
|
requestState(3);
|
}
|
|
@Override
|
public void onNetworkAvailable() {
|
requestState(0);
|
if (mList.size() == 0) {
|
getMyPlayer();
|
}
|
}
|
});
|
|
srl_player.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
|
@Override
|
public void onRefresh() {
|
page = 1;
|
getMyPlayer();
|
}
|
});
|
rv_player.addOnScrollListener(new RecyclerView.OnScrollListener() {
|
@Override
|
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
|
super.onScrollStateChanged(recyclerView, newState);
|
LinearLayoutManager manager = (LinearLayoutManager) recyclerView.getLayoutManager();
|
int last = manager.findLastVisibleItemPosition();
|
int total = manager.getItemCount();
|
if (newState == RecyclerView.SCROLL_STATE_IDLE) {
|
if (last == total - 1 && mList.size() < count && isLoad) {
|
page++;
|
isLoad = false;
|
iv_loading.setVisibility(View.VISIBLE);
|
tv_loading.setText("正在加载更多数据");
|
getMyPlayer();
|
}
|
}
|
}
|
|
@Override
|
public void onScrolled(RecyclerView recyclerView, int dx, final int dy) {
|
super.onScrolled(recyclerView, dx, dy);
|
}
|
});
|
}
|
|
private CountMyTeam myTeam;
|
|
private boolean bindWXNotify = false;
|
|
MultipleContentPopUps ups;
|
|
|
String helpLink = "";
|
String highLevelNickName = "";
|
String highLevelportrait = "";
|
String inviteTime = "";
|
|
private void getMyPlayer() {
|
ShoppingApi.getMyTeamV2(this, UserUtil.getUid(ShoppingApplication.application), page, key, Integer.parseInt(type), screenInfo, new BasicTextHttpResponseHandler() {
|
@Override
|
public void onStart() {
|
super.onStart();
|
if (page > 0) {
|
bottom.setVisibility(View.VISIBLE);
|
} else {
|
bottom.setVisibility(View.GONE);
|
}
|
}
|
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
if (jsonObject.optInt("code") == 0) {
|
if (page == 1)
|
mList.clear();
|
JSONObject object = jsonObject.optJSONObject("data");
|
Gson gson = new GsonBuilder().serializeNulls().create();
|
List<InvitePlayer> list = gson.fromJson(
|
object.optJSONArray("list").toString(),
|
new TypeToken<List<InvitePlayer>>() {
|
}.getType());
|
mList.addAll(list);
|
adapter.setType(type);
|
adapter.notifyDataSetChanged();
|
|
count = object.optInt("count");
|
tv_first_player.setText(object.optInt("firstTeam") + "");
|
tv_second_player.setText(object.optInt("secondTeam") + "");
|
|
if (count == 0) {
|
requestState(1);
|
} else {
|
requestState(0);
|
}
|
if (mList.size() == count) {
|
bottom.setVisibility(View.VISIBLE);
|
iv_loading.setVisibility(View.GONE);
|
tv_loading.setText(getResources().getString(R.string.list_no_more));
|
}
|
}
|
}
|
|
@Override
|
public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
|
super.onFailure(statusCode, headers, responseString, throwable);
|
bottom.setVisibility(View.GONE);
|
if (mList.size() == 0) {
|
if (NetUtils.getNetworkState(MyPlayerSearchResultActivity.this).equalsIgnoreCase(NetUtils.NETWORK_NONE)) {
|
requestState(3);
|
} else {
|
requestState(2);
|
}
|
} else {
|
if (NetUtils.getNetworkState(MyPlayerSearchResultActivity.this).equalsIgnoreCase(NetUtils.NETWORK_NONE)) {
|
Toast.makeText(MyPlayerSearchResultActivity.this, "网络未连接,请检测网络设置", Toast.LENGTH_SHORT).show();
|
} else {
|
Toast.makeText(MyPlayerSearchResultActivity.this, "网络连接异常,请检测网络设置", Toast.LENGTH_SHORT).show();
|
}
|
}
|
}
|
|
@Override
|
public void onFinish() {
|
super.onFinish();
|
srl_player.setRefreshing(false);
|
isLoad = true;
|
}
|
});
|
}
|
|
@Override
|
protected void onResume() {
|
super.onResume();
|
mChangeHelper.registerReceiver();
|
}
|
|
@Override
|
protected void onPause() {
|
super.onPause();
|
mChangeHelper.unregisterReceiver();
|
if (ups != null) {
|
ups.dialog_dismiss();
|
ups = null;
|
}
|
}
|
|
@Override
|
protected void onDestroy() {
|
super.onDestroy();
|
if (ups != null) {
|
ups.dialog_dismiss();
|
ups = null;
|
}
|
}
|
|
@Override
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
super.onActivityResult(requestCode, resultCode, data);
|
if (requestCode == 111) {
|
if (data == null)
|
return;
|
int position = data.getIntExtra("position", 0);
|
if (resultCode == 11) {
|
String memoName = data.getStringExtra("memoName");
|
mList.get(position).setMemoName(memoName);
|
} else if (resultCode == 12) {
|
mList.remove(position);
|
}
|
adapter.notifyDataSetChanged();
|
}
|
}
|
|
/**
|
* 请求状态 0 数据正常展示;1 返回数据为空;2 网络请求失败;3 没有连接网络
|
*
|
* @param state
|
*/
|
private void requestState(int state) {
|
rv_player.setVisibility(state == 0 ? View.VISIBLE : View.GONE);
|
srl_player.setVisibility(state == 0 ? View.VISIBLE : View.GONE);
|
ll_no_data.setVisibility(state == 1 ? View.VISIBLE : View.GONE);
|
ll_no_data.setVisibility(state == 1 ? View.VISIBLE : View.GONE);
|
ll_request_failture.setVisibility(state == 2 ? View.VISIBLE : View.GONE);
|
ll_no_net.setVisibility(state == 3 ? View.VISIBLE : View.GONE);
|
}
|
|
@Override
|
public void onClick(View v) {
|
switch (v.getId()) {
|
case R.id.tv_top_bar_left:
|
finish();
|
break;
|
|
case R.id.tv_search:
|
if (!StringUtils.isEmpty(et_team_search.getText()))
|
key = et_team_search.getText().toString().trim();
|
else
|
key = "";
|
getMyPlayer();
|
break;
|
case R.id.ll_first_player: {//一级队员
|
setPlayerTitleColor(1);
|
page = 1;
|
type = "1";
|
getMyPlayer();
|
}
|
break;
|
case R.id.ll_second_player: {//二级队员
|
setPlayerTitleColor(2);
|
page = 1;
|
type = "2";
|
getMyPlayer();
|
}
|
break;
|
|
|
case R.id.tv_refresh:
|
case R.id.tv_net_setting:
|
startActivity(new Intent(Settings.ACTION_SETTINGS));
|
break;
|
}
|
}
|
|
/**
|
* 文字颜色修改
|
*
|
* @param type
|
*/
|
private void setPlayerTitleColor(int type) {
|
v_1.setVisibility(type == 1 ? View.VISIBLE : View.GONE);
|
v_2.setVisibility(type == 2 ? View.VISIBLE : View.GONE);
|
tv_first_player.setTextColor(type == 1 ? getResources().getColor(R.color.main_text_color) : getResources().getColor(R.color.black));
|
tv_first_player_title.setTextColor(type == 1 ? getResources().getColor(R.color.main_text_color) : getResources().getColor(R.color.black));
|
tv_second_player.setTextColor(type == 2 ? getResources().getColor(R.color.main_text_color) : getResources().getColor(R.color.black));
|
tv_second_player_title.setTextColor(type == 2 ? getResources().getColor(R.color.main_text_color) : getResources().getColor(R.color.black));
|
}
|
|
|
}
|