修改用户信息(更换头像未完成)
This commit is contained in:
@ -1,5 +1,6 @@
|
||||
package com.gh.common.util;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.preference.PreferenceManager;
|
||||
@ -36,7 +37,7 @@ import rx.schedulers.Schedulers;
|
||||
public class LoginUtils {
|
||||
|
||||
public enum LoginTag {
|
||||
qq, wechat, weibo, phone
|
||||
qq, wechat, weibo, phone, refresh
|
||||
}
|
||||
|
||||
// 获取验证码
|
||||
@ -92,12 +93,16 @@ public class LoginUtils {
|
||||
|
||||
if (loginTag == LoginTag.weibo) {
|
||||
observable = RetrofitManager.getUsersea().loginByWeibo(body);
|
||||
} else if (loginTag == LoginTag.qq){
|
||||
} else if (loginTag == LoginTag.qq) {
|
||||
observable = RetrofitManager.getUsersea().loginByQQ(body);
|
||||
} else if (loginTag == LoginTag.wechat) {
|
||||
observable = RetrofitManager.getUsersea().loginByWechat(body);
|
||||
} else {
|
||||
} else if (loginTag == LoginTag.phone) {
|
||||
observable = RetrofitManager.getUsersea().loginByMobile(body);
|
||||
} else if (loginTag == LoginTag.refresh) {
|
||||
observable = RetrofitManager.getUsersea().refreshToken(body);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
observable
|
||||
@ -121,36 +126,36 @@ public class LoginUtils {
|
||||
int code = content.getInt("code");
|
||||
switch (code) {
|
||||
case 40000:
|
||||
Utils.toast(context,"参数错误或不完整");
|
||||
Utils.toast(context, "参数错误或不完整");
|
||||
case 40004:
|
||||
Utils.toast(context,"缺少mobile参数");
|
||||
Utils.toast(context, "缺少mobile参数");
|
||||
break;
|
||||
case 40005:
|
||||
Utils.toast(context,"缺少code参数");
|
||||
Utils.toast(context, "缺少code参数");
|
||||
break;
|
||||
case 40006:
|
||||
Utils.toast(context,"缺少service_id参数");
|
||||
Utils.toast(context, "缺少service_id参数");
|
||||
break;
|
||||
case 40007:
|
||||
Utils.toast(context,"服务已超时");
|
||||
Utils.toast(context, "服务已超时");
|
||||
break;
|
||||
case 40008:
|
||||
Utils.toast(context,"验证码已超时");
|
||||
Utils.toast(context, "验证码已超时");
|
||||
break;
|
||||
case 40009:
|
||||
Utils.toast(context,"验证码错误");
|
||||
Utils.toast(context, "验证码错误");
|
||||
break;
|
||||
case 40010:
|
||||
Utils.toast(context,"登录授权失败");
|
||||
Utils.toast(context, "登录授权失败");
|
||||
break;
|
||||
case 40011:
|
||||
Utils.toast(context,"缺少token参数");
|
||||
Utils.toast(context, "缺少token参数");
|
||||
break;
|
||||
case 40012:
|
||||
Utils.toast(context,"令牌已过期");
|
||||
Utils.toast(context, "令牌已过期");
|
||||
break;
|
||||
default:
|
||||
Utils.toast(context,"未知错误");
|
||||
Utils.toast(context, "未知错误");
|
||||
break;
|
||||
}
|
||||
|
||||
@ -162,7 +167,7 @@ public class LoginUtils {
|
||||
});
|
||||
}
|
||||
|
||||
public static void logout(Context context) {
|
||||
public static void cleanUserData(Context context) {
|
||||
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
SharedPreferences.Editor edit = sp.edit();
|
||||
edit.putString("user_info", null);
|
||||
@ -183,9 +188,14 @@ public class LoginUtils {
|
||||
LoginResponseEntity.RefreshToken refreshToken = loginToken.getRefreshToken();
|
||||
Long refreshExpire = refreshToken.getExpire();
|
||||
if (refreshExpire != null && refreshExpire > Utils.getTime(context)) {
|
||||
// TODO 刷新accessToken
|
||||
Map<String, String> params = new HashMap<>();
|
||||
params.put("refresh_token", refreshToken.getValue());
|
||||
RequestBody body = RequestBody.create(MediaType.parse("application/json"),
|
||||
new JSONObject(params).toString());
|
||||
login(context, body, LoginTag.refresh, listener); // TODO 刷新accessToken
|
||||
} else {
|
||||
// TODO 重新登录
|
||||
cleanUserData(context);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -197,7 +207,7 @@ public class LoginUtils {
|
||||
.getUserInfo(token)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Response<UserInfoEntity>(){
|
||||
.subscribe(new Response<UserInfoEntity>() {
|
||||
@Override
|
||||
public void onResponse(UserInfoEntity response) {
|
||||
super.onResponse(response);
|
||||
@ -216,7 +226,8 @@ public class LoginUtils {
|
||||
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
String loginData = sp.getString("user_info", null);
|
||||
if (!TextUtils.isEmpty(loginData)) {
|
||||
Type listType = new TypeToken<UserInfoEntity>() {}.getType();
|
||||
Type listType = new TypeToken<UserInfoEntity>() {
|
||||
}.getType();
|
||||
return new Gson().fromJson(loginData, listType);
|
||||
}
|
||||
return null;
|
||||
@ -238,7 +249,8 @@ public class LoginUtils {
|
||||
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
String loginData = sp.getString("login_token", null);
|
||||
if (!TextUtils.isEmpty(loginData)) {
|
||||
Type listType = new TypeToken<LoginResponseEntity>() {}.getType();
|
||||
Type listType = new TypeToken<LoginResponseEntity>() {
|
||||
}.getType();
|
||||
return new Gson().fromJson(loginData, listType);
|
||||
}
|
||||
return null;
|
||||
@ -254,6 +266,65 @@ public class LoginUtils {
|
||||
}
|
||||
}
|
||||
|
||||
public static void changeUserInfo(final onChangeUserInfoListener listener, final Context context, String content, String editType) {
|
||||
final UserInfoEntity entity = getUserInfo(context);
|
||||
if (entity == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch (editType) {
|
||||
case "nickName":
|
||||
entity.setName(content);
|
||||
break;
|
||||
case "contact":
|
||||
entity.setContact(content);
|
||||
break;
|
||||
case "sex":
|
||||
entity.setGender(content);
|
||||
break;
|
||||
case "area":
|
||||
entity.setRegion(content);
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
final Dialog loadingDialog = DialogUtils.showWaitDialog(context, "正在修改信息...");
|
||||
|
||||
RequestBody body = RequestBody.create(MediaType.parse("application/json"),
|
||||
new Gson().toJson(entity));
|
||||
RetrofitManager
|
||||
.getUsersea()
|
||||
.changeUserInfo(body)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Response<ResponseBody>() {
|
||||
@Override
|
||||
public void onResponse(ResponseBody response) {
|
||||
super.onResponse(response);
|
||||
if (loadingDialog != null) {
|
||||
loadingDialog.dismiss();
|
||||
}
|
||||
|
||||
saveUserInfo(context, entity);
|
||||
listener.onChange();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(HttpException e) {
|
||||
super.onFailure(e);
|
||||
if (loadingDialog != null) {
|
||||
loadingDialog.dismiss();
|
||||
}
|
||||
Utils.toast(context, "修改失败");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public interface onChangeUserInfoListener {
|
||||
void onChange();
|
||||
}
|
||||
|
||||
public interface onCaptchaCallBackListener {
|
||||
void onCaptcha(String serviceId);
|
||||
|
||||
@ -227,7 +227,7 @@ public class SettingActivity extends BaseActivity implements OnClickListener {
|
||||
"确定退出", "取消", new DialogUtils.ConfirmListener() {
|
||||
@Override
|
||||
public void onConfirm() {
|
||||
LoginUtils.logout(SettingActivity.this);
|
||||
LoginUtils.cleanUserData(SettingActivity.this);
|
||||
Intent intent = new Intent();
|
||||
intent.putExtra("loginStatus", LOGOUT_TAG);
|
||||
setResult(LOGIN_CODE, intent);
|
||||
|
||||
@ -12,6 +12,7 @@ import android.widget.TextView;
|
||||
|
||||
import com.gh.base.BaseActivity;
|
||||
import com.gh.common.util.DisplayUtils;
|
||||
import com.gh.common.util.LoginUtils;
|
||||
import com.gh.common.view.VerticalItemDecoration;
|
||||
import com.gh.gamecenter.adapter.AreaAdapter;
|
||||
|
||||
@ -24,7 +25,8 @@ import butterknife.BindView;
|
||||
* Created by khy on 23/06/17.
|
||||
*/
|
||||
|
||||
public class UserAreaActivity extends BaseActivity implements AreaAdapter.OnAreaCallBackLintener {
|
||||
public class UserAreaActivity extends BaseActivity implements AreaAdapter.OnAreaCallBackLintener,
|
||||
LoginUtils.onChangeUserInfoListener {
|
||||
|
||||
@BindView(R.id.area_rv_title)
|
||||
TextView mAreaRvTitle;
|
||||
@ -57,7 +59,7 @@ public class UserAreaActivity extends BaseActivity implements AreaAdapter.OnArea
|
||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
if (resultCode == 0x222) {
|
||||
setResult(0x122, data);
|
||||
setResult(0x131);
|
||||
finish();
|
||||
}
|
||||
}
|
||||
@ -132,16 +134,23 @@ public class UserAreaActivity extends BaseActivity implements AreaAdapter.OnArea
|
||||
Intent intent = getIntent(this, new ArrayList<>(cityList), area);
|
||||
startActivityForResult(intent, 0x221);
|
||||
} else {
|
||||
Intent data = new Intent();
|
||||
String content;
|
||||
if (mProvinceName != null) {
|
||||
data.putExtra("area", mProvinceName + " - " + area);
|
||||
setResult(0x222, data);
|
||||
content = mProvinceName + " - " + area;
|
||||
} else {
|
||||
data.putExtra("area", area);
|
||||
setResult(0x122, data);
|
||||
content = area;
|
||||
}
|
||||
|
||||
finish();
|
||||
LoginUtils.changeUserInfo(this, this, content, "area");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onChange() {
|
||||
if (mProvinceName != null) {
|
||||
setResult(0x222);
|
||||
} else {
|
||||
setResult(0x131);
|
||||
}
|
||||
finish();
|
||||
}
|
||||
}
|
||||
|
||||
@ -10,7 +10,8 @@ import android.widget.TextView;
|
||||
|
||||
import com.facebook.drawee.view.SimpleDraweeView;
|
||||
import com.gh.base.BaseActivity;
|
||||
import com.gh.common.util.ImageUtils;
|
||||
import com.gh.common.util.LoginUtils;
|
||||
import com.gh.gamecenter.entity.UserInfoEntity;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.OnClick;
|
||||
@ -50,35 +51,9 @@ public class UserInfoActivity extends BaseActivity {
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
if (requestCode == 0x121 && resultCode == 0x122) {
|
||||
String stringExtra = data.getStringExtra("area");
|
||||
mUserinfoAreaTv.setText(stringExtra);
|
||||
toast(stringExtra);
|
||||
if (requestCode == 0x130 && resultCode == 0x131) {
|
||||
initView();
|
||||
}
|
||||
|
||||
String editContent = null;
|
||||
if (data != null) {
|
||||
if (requestCode == 0x130) {
|
||||
editContent = data.getStringExtra("url");
|
||||
} else {
|
||||
editContent = data.getStringExtra("editContent");
|
||||
}
|
||||
}
|
||||
if (!TextUtils.isEmpty(editContent))
|
||||
switch (requestCode) {
|
||||
case 0x130:
|
||||
ImageUtils.Companion.display(mUserinfoIconSd, editContent);
|
||||
break;
|
||||
case 0x131:
|
||||
mUserinfoNicknameTv.setText(editContent);
|
||||
break;
|
||||
case 0x132:
|
||||
mUserinfoSexTv.setText(editContent);
|
||||
break;
|
||||
case 0x133:
|
||||
mUserinfoContactTv.setText(editContent);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -91,6 +66,30 @@ public class UserInfoActivity extends BaseActivity {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
initTitle(getString(R.string.personal_userinfo));
|
||||
|
||||
initView();
|
||||
}
|
||||
|
||||
private void initView() {
|
||||
UserInfoEntity userInfo = LoginUtils.getUserInfo(this);
|
||||
if (userInfo != null) {
|
||||
mUserinfoIconSd.setImageURI(userInfo.getIcon());
|
||||
mUserinfoNicknameTv.setText(userInfo.getName());
|
||||
|
||||
String region = userInfo.getRegion();
|
||||
if (!TextUtils.isEmpty(region)) {
|
||||
mUserinfoAreaTv.setText(region);
|
||||
}
|
||||
String gender = userInfo.getGender();
|
||||
if (!TextUtils.isEmpty(gender)) {
|
||||
mUserinfoSexTv.setText(gender);
|
||||
}
|
||||
|
||||
String contact = userInfo.getContact();
|
||||
if (!TextUtils.isEmpty(contact)) {
|
||||
mUserinfoContactTv.setText(contact);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@OnClick({R.id.userinfo_icon_rl, R.id.userinfo_nickname_rl, R.id.userinfo_sex_rl,
|
||||
@ -101,18 +100,16 @@ public class UserInfoActivity extends BaseActivity {
|
||||
startActivityForResult(SelectUserIconActivity.getIntent(this), 0x130);
|
||||
break;
|
||||
case R.id.userinfo_nickname_rl:
|
||||
String nickName = mUserinfoNicknameTv.getText().toString();
|
||||
startActivityForResult(UserInfoEditActivity.getIntent(this, "nickName", nickName), 0x131);
|
||||
startActivityForResult(UserInfoEditActivity.getIntent(this, "nickName"), 0x130);
|
||||
break;
|
||||
case R.id.userinfo_sex_rl:
|
||||
startActivityForResult(UserInfoEditActivity.getIntent(this, "sex", null), 0x132);
|
||||
startActivityForResult(UserInfoEditActivity.getIntent(this, "sex"), 0x130);
|
||||
break;
|
||||
case R.id.userinfo_area_rl:
|
||||
startActivityForResult(UserAreaActivity.getIntent(this), 0x121);
|
||||
startActivityForResult(UserAreaActivity.getIntent(this), 0x130);
|
||||
break;
|
||||
case R.id.userinfo_contact_rl:
|
||||
String contact = mUserinfoContactTv.getText().toString();
|
||||
startActivityForResult(UserInfoEditActivity.getIntent(this, "contact", contact), 0x133);
|
||||
startActivityForResult(UserInfoEditActivity.getIntent(this, "contact"), 0x130);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -18,6 +18,8 @@ import android.widget.TextView;
|
||||
|
||||
import com.gh.base.BaseActivity;
|
||||
import com.gh.common.util.DisplayUtils;
|
||||
import com.gh.common.util.LoginUtils;
|
||||
import com.gh.gamecenter.entity.UserInfoEntity;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.OnClick;
|
||||
@ -26,7 +28,7 @@ import butterknife.OnClick;
|
||||
* Created by khy on 30/06/17.
|
||||
*/
|
||||
|
||||
public class UserInfoEditActivity extends BaseActivity {
|
||||
public class UserInfoEditActivity extends BaseActivity implements LoginUtils.onChangeUserInfoListener {
|
||||
@BindView(R.id.userinfo_sex_man)
|
||||
TextView mUserinfoSexMan;
|
||||
@BindView(R.id.userinfo_sex_woman)
|
||||
@ -49,13 +51,12 @@ public class UserInfoEditActivity extends BaseActivity {
|
||||
TextView mSaveTv;
|
||||
|
||||
private String mEditType;
|
||||
private String mEditContent;
|
||||
private UserInfoEntity mUserInfoEntity;
|
||||
|
||||
@NonNull
|
||||
public static Intent getIntent(Context context, String editType, String editContent) {
|
||||
public static Intent getIntent(Context context, String editType) {
|
||||
Intent intent = new Intent(context, UserInfoEditActivity.class);
|
||||
intent.putExtra("editType", editType);
|
||||
intent.putExtra("editContent", editContent);
|
||||
return intent;
|
||||
}
|
||||
|
||||
@ -68,7 +69,7 @@ public class UserInfoEditActivity extends BaseActivity {
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
mEditType = getIntent().getStringExtra("editType");
|
||||
mEditContent = getIntent().getStringExtra("editContent");
|
||||
mUserInfoEntity = LoginUtils.getUserInfo(this);
|
||||
|
||||
// 添加分享图标
|
||||
mSaveTv = new TextView(this);
|
||||
@ -87,7 +88,9 @@ public class UserInfoEditActivity extends BaseActivity {
|
||||
R.id.reuse_actionbar);
|
||||
reuse_actionbar.addView(mSaveTv, params);
|
||||
|
||||
initView();
|
||||
if (mUserInfoEntity != null) {
|
||||
initView();
|
||||
}
|
||||
|
||||
mSaveTv.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
@ -109,8 +112,9 @@ public class UserInfoEditActivity extends BaseActivity {
|
||||
mSaveTv.setVisibility(View.VISIBLE);
|
||||
mUserinfoNicknameEt.addTextChangedListener(new UserInfoEditTextWatcher(mUserinfoNicknameEt));
|
||||
title = "修改昵称";
|
||||
if (!TextUtils.isEmpty(mEditContent)) {
|
||||
mUserinfoNicknameEt.setText(mEditContent);
|
||||
String name = mUserInfoEntity.getName();
|
||||
if (!TextUtils.isEmpty(name)) {
|
||||
mUserinfoNicknameEt.setText(name);
|
||||
}
|
||||
break;
|
||||
case "contact":
|
||||
@ -118,8 +122,9 @@ public class UserInfoEditActivity extends BaseActivity {
|
||||
mSaveTv.setVisibility(View.VISIBLE);
|
||||
mUserinfoContactEt.addTextChangedListener(new UserInfoEditTextWatcher(mUserinfoContactEt));
|
||||
title = "联系方式";
|
||||
if (!TextUtils.isEmpty(mEditContent)) {
|
||||
mUserinfoContactEt.setText(mEditContent);
|
||||
String contact = mUserInfoEntity.getContact();
|
||||
if (!TextUtils.isEmpty(contact)) {
|
||||
mUserinfoContactEt.setText(contact);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@ -130,22 +135,17 @@ public class UserInfoEditActivity extends BaseActivity {
|
||||
}
|
||||
|
||||
private void saveData() {
|
||||
Intent data = new Intent();
|
||||
if ("nickName".equals(mEditType)) {
|
||||
String value = mUserinfoNicknameEt.getText().toString();
|
||||
if (!TextUtils.isEmpty(value)) {
|
||||
data.putExtra("editContent", value);
|
||||
setResult(0x131, data);
|
||||
finish();
|
||||
LoginUtils.changeUserInfo(this, this, value, mEditType);
|
||||
} else {
|
||||
toast("昵称不能为空");
|
||||
}
|
||||
} else if ("contact".equals(mEditType)) {
|
||||
String value = mUserinfoContactEt.getText().toString();
|
||||
if (!TextUtils.isEmpty(value)) {
|
||||
data.putExtra("editContent", value);
|
||||
setResult(0x133, data);
|
||||
finish();
|
||||
LoginUtils.changeUserInfo(this, this, value, mEditType);
|
||||
} else {
|
||||
toast("请输入QQ或邮箱");
|
||||
}
|
||||
@ -162,20 +162,20 @@ public class UserInfoEditActivity extends BaseActivity {
|
||||
mUserinfoContactEt.setText("");
|
||||
break;
|
||||
case R.id.userinfo_sex_man:
|
||||
Intent data = new Intent();
|
||||
data.putExtra("editContent", "男");
|
||||
setResult(0x132, data);
|
||||
finish();
|
||||
LoginUtils.changeUserInfo(this, this, "男", mEditType);
|
||||
break;
|
||||
case R.id.userinfo_sex_woman:
|
||||
Intent data2 = new Intent();
|
||||
data2.putExtra("editContent", "女");
|
||||
setResult(0x132, data2);
|
||||
finish();
|
||||
LoginUtils.changeUserInfo(this, this, "女", mEditType);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onChange() {
|
||||
setResult(0x131);
|
||||
finish();
|
||||
}
|
||||
|
||||
private class UserInfoEditTextWatcher implements TextWatcher {
|
||||
private EditText mEditText;
|
||||
|
||||
@ -192,11 +192,11 @@ public class UserInfoEditActivity extends BaseActivity {
|
||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||
int tvCount = s.length();
|
||||
if (mEditText == mUserinfoNicknameEt) {
|
||||
if (tvCount > 0) {
|
||||
mUserinfoNicknameIv.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
mUserinfoNicknameIv.setVisibility(View.GONE);
|
||||
}
|
||||
if (tvCount > 0) {
|
||||
mUserinfoNicknameIv.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
mUserinfoNicknameIv.setVisibility(View.GONE);
|
||||
}
|
||||
} else {
|
||||
if (tvCount > 0) {
|
||||
mUserinfoContactIv.setVisibility(View.VISIBLE);
|
||||
|
||||
@ -1,14 +0,0 @@
|
||||
package com.gh.gamecenter;
|
||||
|
||||
import com.gh.base.BaseActivity;
|
||||
|
||||
/**
|
||||
* Created by khy on 25/06/17.
|
||||
*/
|
||||
|
||||
public class UsreContactActivity extends BaseActivity {
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@ -9,12 +9,11 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
|
||||
import com.gh.base.AppController;
|
||||
import com.gh.base.OnRequestCallBackListener;
|
||||
import com.lightgame.adapter.BaseRecyclerAdapter;
|
||||
import com.gh.common.util.EntranceUtils;
|
||||
import com.gh.common.util.ImageUtils;
|
||||
import com.gh.common.util.MD5Utils;
|
||||
import com.lightgame.utils.Utils;
|
||||
import com.gh.gamecenter.NewsDetailActivity;
|
||||
import com.gh.gamecenter.R;
|
||||
import com.gh.gamecenter.SuggestionActivity;
|
||||
@ -28,6 +27,8 @@ import com.gh.gamecenter.manager.ConcernManager;
|
||||
import com.gh.gamecenter.retrofit.ObservableUtil;
|
||||
import com.gh.gamecenter.retrofit.Response;
|
||||
import com.gh.gamecenter.retrofit.RetrofitManager;
|
||||
import com.lightgame.adapter.BaseRecyclerAdapter;
|
||||
import com.lightgame.utils.Utils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
@ -167,8 +168,10 @@ public class ToolBoxRvAdapter extends BaseRecyclerAdapter {
|
||||
mLoadKeyOver = true;
|
||||
loadData(mIsSearch, 0);
|
||||
} else {
|
||||
if (response.size() > 0) {
|
||||
mEntityList.addAll(response);
|
||||
if (response.size() >= 0) {
|
||||
if (response.size() > 0) {
|
||||
mEntityList.addAll(response);
|
||||
}
|
||||
mCallBackListener.loadDone();
|
||||
|
||||
if (response.size() < 20) {
|
||||
@ -209,7 +212,7 @@ public class ToolBoxRvAdapter extends BaseRecyclerAdapter {
|
||||
public int getItemViewType(int position) {
|
||||
if (position == 0) {
|
||||
return 0;
|
||||
} else if (position == getItemCount() - 1) {
|
||||
} else if (position == 1 || position == getItemCount() - 1) {
|
||||
return 1;
|
||||
} else {
|
||||
return 2;
|
||||
@ -235,11 +238,11 @@ public class ToolBoxRvAdapter extends BaseRecyclerAdapter {
|
||||
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
|
||||
if (holder instanceof ToolBoxViewHolder) {
|
||||
ToolBoxViewHolder viewHolder = (ToolBoxViewHolder) holder;
|
||||
ToolBoxEntity toolBoxEntity = mEntityList.get(position - 1);
|
||||
ToolBoxEntity toolBoxEntity = mEntityList.get(position - 2);
|
||||
initToolBoxViewHolder(viewHolder, toolBoxEntity);
|
||||
} else if (holder instanceof FooterViewHolder) {
|
||||
FooterViewHolder viewHolder = (FooterViewHolder) holder;
|
||||
initFooterViewHolder(viewHolder);
|
||||
initFooterViewHolder(viewHolder, position);
|
||||
} else if (holder instanceof LibaoSearchViewHolder) {
|
||||
LibaoSearchViewHolder viewHolder = (LibaoSearchViewHolder) holder;
|
||||
initSearchViewHolder(viewHolder);
|
||||
@ -249,7 +252,7 @@ public class ToolBoxRvAdapter extends BaseRecyclerAdapter {
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
if (mEntityList.size() > 0) {
|
||||
return mEntityList.size() + 2;
|
||||
return mEntityList.size() + 3;
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
@ -301,21 +304,10 @@ public class ToolBoxRvAdapter extends BaseRecyclerAdapter {
|
||||
}
|
||||
|
||||
|
||||
private void initFooterViewHolder(FooterViewHolder viewHolder) {
|
||||
private void initFooterViewHolder(FooterViewHolder viewHolder, int position) {
|
||||
viewHolder.initItemPadding();
|
||||
if (mIsNetworkError) {
|
||||
viewHolder.lineLeft.setVisibility(View.GONE);
|
||||
viewHolder.lineRight.setVisibility(View.GONE);
|
||||
viewHolder.loading.setVisibility(View.GONE);
|
||||
viewHolder.hint.setText("加载失败,点击重试");
|
||||
viewHolder.itemView.setClickable(true);
|
||||
viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
loadData(mIsSearch, mEntityList.size());
|
||||
}
|
||||
});
|
||||
} else if (mIsOver) {
|
||||
|
||||
if (position == 1) {
|
||||
viewHolder.lineLeft.setVisibility(View.VISIBLE);
|
||||
viewHolder.lineRight.setVisibility(View.VISIBLE);
|
||||
viewHolder.loading.setVisibility(View.GONE);
|
||||
@ -328,11 +320,31 @@ public class ToolBoxRvAdapter extends BaseRecyclerAdapter {
|
||||
}
|
||||
});
|
||||
} else {
|
||||
viewHolder.lineLeft.setVisibility(View.GONE);
|
||||
viewHolder.lineRight.setVisibility(View.GONE);
|
||||
viewHolder.loading.setVisibility(View.VISIBLE);
|
||||
viewHolder.hint.setText(loading);
|
||||
viewHolder.itemView.setClickable(false);
|
||||
if (mIsNetworkError) {
|
||||
viewHolder.lineLeft.setVisibility(View.GONE);
|
||||
viewHolder.lineRight.setVisibility(View.GONE);
|
||||
viewHolder.loading.setVisibility(View.GONE);
|
||||
viewHolder.hint.setText("加载失败,点击重试");
|
||||
viewHolder.itemView.setClickable(true);
|
||||
viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
loadData(mIsSearch, mEntityList.size());
|
||||
}
|
||||
});
|
||||
} else if (mIsOver) {
|
||||
viewHolder.lineLeft.setVisibility(View.VISIBLE);
|
||||
viewHolder.lineRight.setVisibility(View.VISIBLE);
|
||||
viewHolder.loading.setVisibility(View.GONE);
|
||||
viewHolder.hint.setText("加载完毕");
|
||||
viewHolder.itemView.setClickable(false);
|
||||
} else {
|
||||
viewHolder.lineLeft.setVisibility(View.GONE);
|
||||
viewHolder.lineRight.setVisibility(View.GONE);
|
||||
viewHolder.loading.setVisibility(View.VISIBLE);
|
||||
viewHolder.hint.setText(loading);
|
||||
viewHolder.itemView.setClickable(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -353,11 +365,11 @@ public class ToolBoxRvAdapter extends BaseRecyclerAdapter {
|
||||
intent.putExtra(EntranceUtils.KEY_ENTRANCE, "工具箱列表");
|
||||
mContext.startActivity(intent);
|
||||
} else {
|
||||
AppController.put("ToolBoxEntity", toolBoxEntity);
|
||||
Intent intent = new Intent(mContext, WebActivity.class);
|
||||
intent.putExtra("url", toolBoxEntity.getUrl());
|
||||
intent.putExtra("isTools", true);
|
||||
intent.putExtra("gameName", toolBoxEntity.getName());
|
||||
intent.putExtra("ToolBoxEntity", toolBoxEntity);
|
||||
mContext.startActivity(intent);
|
||||
}
|
||||
}
|
||||
|
||||
@ -12,4 +12,6 @@ class UserInfoEntity {
|
||||
var gender: String? = null
|
||||
|
||||
var region: String? = null
|
||||
|
||||
var contact: String? = null
|
||||
}
|
||||
@ -173,10 +173,12 @@ public class PersonalFragment extends BaseFragment implements GetLoginDataUtils.
|
||||
}
|
||||
break;
|
||||
case R.id.personal_user_icon:
|
||||
startActivityForResult(LoginActivity.getIntent(getContext()), LOGIN_CODE);
|
||||
break;
|
||||
case R.id.personal_user_name:
|
||||
getContext().startActivity(UserInfoActivity.getIntent(getContext()));
|
||||
if (mUserInfoEntity != null) {
|
||||
getContext().startActivity(UserInfoActivity.getIntent(getContext()));
|
||||
} else {
|
||||
startActivityForResult(LoginActivity.getIntent(getContext()), LOGIN_CODE);
|
||||
}
|
||||
break;
|
||||
case R.id.personal_game:
|
||||
getContext().startActivity(InstallActivity.getIntent(getContext()));
|
||||
@ -263,7 +265,7 @@ public class PersonalFragment extends BaseFragment implements GetLoginDataUtils.
|
||||
|
||||
@Override
|
||||
public void onLogin(UserInfoEntity entity, LoginUtils.LoginTag loginTag) {
|
||||
Utils.log("======登录成功" + entity.getIcon() + "==" + entity.getName() );
|
||||
Utils.log("======登录成功" + entity.getIcon() + "==" + entity.getName());
|
||||
mUserInfoEntity = entity;
|
||||
changeLoginState(true);
|
||||
}
|
||||
|
||||
@ -46,4 +46,14 @@ public interface UserseaService {
|
||||
// 获取用户信息(头像/用户名)
|
||||
@GET("profile")
|
||||
Observable<UserInfoEntity> getUserInfo(@Header("TOKEN") String token);
|
||||
|
||||
// 刷新accessToken
|
||||
@Headers({"Content-Type: application/json", "Accept: application/json"})
|
||||
@POST("login/wechat")
|
||||
Observable<LoginResponseEntity> refreshToken(@Body RequestBody body);
|
||||
|
||||
// 刷新accessToken
|
||||
@Headers({"Content-Type: application/json", "Accept: application/json"})
|
||||
@POST("login/meta")
|
||||
Observable<ResponseBody> changeUserInfo(@Body RequestBody body);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user