diff --git a/app/src/main/java/com/gh/common/util/LoginUtils.java b/app/src/main/java/com/gh/common/util/LoginUtils.java index 9b47687d2b..228a6e0d94 100644 --- a/app/src/main/java/com/gh/common/util/LoginUtils.java +++ b/app/src/main/java/com/gh/common/util/LoginUtils.java @@ -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 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(){ + .subscribe(new Response() { @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() {}.getType(); + Type listType = new TypeToken() { + }.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() {}.getType(); + Type listType = new TypeToken() { + }.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() { + @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); diff --git a/app/src/main/java/com/gh/gamecenter/SettingActivity.java b/app/src/main/java/com/gh/gamecenter/SettingActivity.java index 6d5d6dc7e6..183ec6206b 100644 --- a/app/src/main/java/com/gh/gamecenter/SettingActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SettingActivity.java @@ -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); diff --git a/app/src/main/java/com/gh/gamecenter/UserAreaActivity.java b/app/src/main/java/com/gh/gamecenter/UserAreaActivity.java index 338b53a86e..8035d5216f 100644 --- a/app/src/main/java/com/gh/gamecenter/UserAreaActivity.java +++ b/app/src/main/java/com/gh/gamecenter/UserAreaActivity.java @@ -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(); + } } diff --git a/app/src/main/java/com/gh/gamecenter/UserInfoActivity.java b/app/src/main/java/com/gh/gamecenter/UserInfoActivity.java index ec4a8b270f..fa1bd077da 100644 --- a/app/src/main/java/com/gh/gamecenter/UserInfoActivity.java +++ b/app/src/main/java/com/gh/gamecenter/UserInfoActivity.java @@ -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; } } diff --git a/app/src/main/java/com/gh/gamecenter/UserInfoEditActivity.java b/app/src/main/java/com/gh/gamecenter/UserInfoEditActivity.java index ca8ca3298f..1a932930ef 100644 --- a/app/src/main/java/com/gh/gamecenter/UserInfoEditActivity.java +++ b/app/src/main/java/com/gh/gamecenter/UserInfoEditActivity.java @@ -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); diff --git a/app/src/main/java/com/gh/gamecenter/UsreContactActivity.java b/app/src/main/java/com/gh/gamecenter/UsreContactActivity.java deleted file mode 100644 index 953c202d8d..0000000000 --- a/app/src/main/java/com/gh/gamecenter/UsreContactActivity.java +++ /dev/null @@ -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; - } -} diff --git a/app/src/main/java/com/gh/gamecenter/adapter/ToolBoxRvAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/ToolBoxRvAdapter.java index e78841d4cb..826d71dd94 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/ToolBoxRvAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/ToolBoxRvAdapter.java @@ -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); } } diff --git a/app/src/main/java/com/gh/gamecenter/entity/UserInfoEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/UserInfoEntity.kt index e321d4778b..839f8ea2bb 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/UserInfoEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/UserInfoEntity.kt @@ -12,4 +12,6 @@ class UserInfoEntity { var gender: String? = null var region: String? = null + + var contact: String? = null } \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java index e369747d07..e8d6c1638c 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java +++ b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java @@ -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); } diff --git a/app/src/main/java/com/gh/gamecenter/retrofit/UserseaService.java b/app/src/main/java/com/gh/gamecenter/retrofit/UserseaService.java index ddb9fd2482..1823d1edb9 100644 --- a/app/src/main/java/com/gh/gamecenter/retrofit/UserseaService.java +++ b/app/src/main/java/com/gh/gamecenter/retrofit/UserseaService.java @@ -46,4 +46,14 @@ public interface UserseaService { // 获取用户信息(头像/用户名) @GET("profile") Observable getUserInfo(@Header("TOKEN") String token); + + // 刷新accessToken + @Headers({"Content-Type: application/json", "Accept: application/json"}) + @POST("login/wechat") + Observable refreshToken(@Body RequestBody body); + + // 刷新accessToken + @Headers({"Content-Type: application/json", "Accept: application/json"}) + @POST("login/meta") + Observable changeUserInfo(@Body RequestBody body); } diff --git a/app/src/main/res/layout/activity_userinfo.xml b/app/src/main/res/layout/activity_userinfo.xml index 90d35eb5b3..49a4345212 100644 --- a/app/src/main/res/layout/activity_userinfo.xml +++ b/app/src/main/res/layout/activity_userinfo.xml @@ -55,7 +55,6 @@ android:layout_height = "wrap_content" android:layout_alignParentRight = "true" android:layout_centerVertical = "true" - android:text = "用户昵称" android:textColor = "@color/hint" android:textSize = "13dp" /> @@ -83,7 +82,6 @@ android:layout_height = "wrap_content" android:layout_alignParentRight = "true" android:layout_centerVertical = "true" - android:text = "男" android:textColor = "@color/hint" android:textSize = "13dp" /> @@ -111,7 +109,6 @@ android:layout_height = "wrap_content" android:layout_alignParentRight = "true" android:layout_centerVertical = "true" - android:text = "广东-广州" android:textColor = "@color/hint" android:textSize = "13dp" /> @@ -130,7 +127,7 @@ android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:layout_centerVertical = "true" - android:text = "QQ号" + android:text = "联系方式" android:textColor = "@color/title" android:textSize = "15sp" /> @@ -140,7 +137,6 @@ android:layout_height = "wrap_content" android:layout_alignParentRight = "true" android:layout_centerVertical = "true" - android:text = "853035994" android:textColor = "@color/hint" android:textSize = "13dp" />