Commit 425522c4fcb962836f3639ab3d687e69a1b2abd0
1 parent
915b1b18
修改更新用户信息的逻辑和token失效的代码处理
Showing
3 changed files
with
54 additions
and
5 deletions
app/src/main/java/com/cnlive/gundam/main/ui/fragment/ConfigFragment.java
| @@ -17,7 +17,10 @@ import com.cnlive.gundam.user.activity.LoginActivity; | @@ -17,7 +17,10 @@ import com.cnlive.gundam.user.activity.LoginActivity; | ||
| 17 | import com.cnlive.gundam.user.activity.UserPersonalActivity; | 17 | import com.cnlive.gundam.user.activity.UserPersonalActivity; |
| 18 | import com.cnlive.gundam.user.auth.UserService; | 18 | import com.cnlive.gundam.user.auth.UserService; |
| 19 | import com.cnlive.gundam.user.model.User; | 19 | import com.cnlive.gundam.user.model.User; |
| 20 | - | 20 | +import com.cnlive.libs.user.IUserService; |
| 21 | +import com.cnlive.libs.user.UserUtil; | ||
| 22 | +import com.cnlive.libs.user.model.UserData; | ||
| 23 | +import com.cnlive.libs.util.data.network.Callback; | ||
| 21 | 24 | ||
| 22 | 25 | ||
| 23 | /** | 26 | /** |
| @@ -27,6 +30,8 @@ import com.cnlive.gundam.user.model.User; | @@ -27,6 +30,8 @@ import com.cnlive.gundam.user.model.User; | ||
| 27 | public class ConfigFragment extends Fragment implements View.OnClickListener { | 30 | public class ConfigFragment extends Fragment implements View.OnClickListener { |
| 28 | private UserFragmentBinding binding; | 31 | private UserFragmentBinding binding; |
| 29 | 32 | ||
| 33 | + private User user; | ||
| 34 | + | ||
| 30 | @Nullable | 35 | @Nullable |
| 31 | @Override | 36 | @Override |
| 32 | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { | 37 | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { |
| @@ -81,7 +86,11 @@ public class ConfigFragment extends Fragment implements View.OnClickListener { | @@ -81,7 +86,11 @@ public class ConfigFragment extends Fragment implements View.OnClickListener { | ||
| 81 | @Override | 86 | @Override |
| 82 | public void onResume() { | 87 | public void onResume() { |
| 83 | super.onResume(); | 88 | super.onResume(); |
| 84 | - notifyUI(UserService.getInstance(getActivity()).getActiveAccountInfo().getUid() != 0); | 89 | + user = UserService.getInstance(getActivity()).getActiveAccountInfo(); |
| 90 | + boolean isLogin = user != null && user.getUid() != 0; | ||
| 91 | + notifyUI(isLogin); | ||
| 92 | + if (!isLogin) return; | ||
| 93 | + updateUserInfo(); | ||
| 85 | } | 94 | } |
| 86 | 95 | ||
| 87 | private void notifyUI(boolean isLogin) { | 96 | private void notifyUI(boolean isLogin) { |
| @@ -94,4 +103,22 @@ public class ConfigFragment extends Fragment implements View.OnClickListener { | @@ -94,4 +103,22 @@ public class ConfigFragment extends Fragment implements View.OnClickListener { | ||
| 94 | binding.tvNickname.setText(getString(R.string.click_login)); | 103 | binding.tvNickname.setText(getString(R.string.click_login)); |
| 95 | } | 104 | } |
| 96 | } | 105 | } |
| 106 | + | ||
| 107 | + private void updateUserInfo() { | ||
| 108 | + UserUtil.queryUserInfo(String.valueOf(user.getUid()), String.valueOf(user.getUid()), new Callback() { | ||
| 109 | + @Override | ||
| 110 | + public void onState(int i, String s, Object obj) { | ||
| 111 | + if (i == IUserService.SUCCESS) { | ||
| 112 | + UserData userData = (UserData) obj; | ||
| 113 | + UserService userService = UserService.getInstance(getActivity()); | ||
| 114 | + userService.setActiveAccountInfo(userData.getData()); | ||
| 115 | + notifyUI(true); | ||
| 116 | + } else if (i == IUserService.ERROR_TOKEN_INVALID) { | ||
| 117 | + UserService userService = UserService.getInstance(getActivity()); | ||
| 118 | + userService.clearUser(); | ||
| 119 | + notifyUI(false); | ||
| 120 | + } | ||
| 121 | + } | ||
| 122 | + }); | ||
| 123 | + } | ||
| 97 | } | 124 | } |
app/src/main/java/com/cnlive/gundam/user/fragment/UserPersonalEditFragment.java
| @@ -129,6 +129,10 @@ public class UserPersonalEditFragment extends Fragment implements Callback, View | @@ -129,6 +129,10 @@ public class UserPersonalEditFragment extends Fragment implements Callback, View | ||
| 129 | if (i == IUserService.SUCCESS) { | 129 | if (i == IUserService.SUCCESS) { |
| 130 | updateUserInfo(); | 130 | updateUserInfo(); |
| 131 | Toast.makeText(getActivity(), "提交成功", Toast.LENGTH_LONG).show(); | 131 | Toast.makeText(getActivity(), "提交成功", Toast.LENGTH_LONG).show(); |
| 132 | + } else if (i == IUserService.ERROR_TOKEN_INVALID) { | ||
| 133 | + UserService userService = UserService.getInstance(getActivity()); | ||
| 134 | + userService.clearUser(); | ||
| 135 | + getActivity().finish(); | ||
| 132 | } else { | 136 | } else { |
| 133 | Toast.makeText(getActivity(), "提交失败" + s, Toast.LENGTH_LONG).show(); | 137 | Toast.makeText(getActivity(), "提交失败" + s, Toast.LENGTH_LONG).show(); |
| 134 | } | 138 | } |
| @@ -142,6 +146,10 @@ public class UserPersonalEditFragment extends Fragment implements Callback, View | @@ -142,6 +146,10 @@ public class UserPersonalEditFragment extends Fragment implements Callback, View | ||
| 142 | UserData userData = (UserData) obj; | 146 | UserData userData = (UserData) obj; |
| 143 | UserService userService = UserService.getInstance(getActivity()); | 147 | UserService userService = UserService.getInstance(getActivity()); |
| 144 | userService.setActiveAccountInfo(userData.getData()); | 148 | userService.setActiveAccountInfo(userData.getData()); |
| 149 | + } else if (i == IUserService.ERROR_TOKEN_INVALID) { | ||
| 150 | + UserService userService = UserService.getInstance(getActivity()); | ||
| 151 | + userService.clearUser(); | ||
| 152 | + getActivity().finish(); | ||
| 145 | } | 153 | } |
| 146 | } | 154 | } |
| 147 | }); | 155 | }); |
app/src/main/java/com/cnlive/gundam/user/fragment/UserPersonalFragment.java
| @@ -93,12 +93,17 @@ public class UserPersonalFragment extends Fragment implements DataBindingAdapter | @@ -93,12 +93,17 @@ public class UserPersonalFragment extends Fragment implements DataBindingAdapter | ||
| 93 | @Override | 93 | @Override |
| 94 | public void onResume() { | 94 | public void onResume() { |
| 95 | super.onResume(); | 95 | super.onResume(); |
| 96 | - initData(); | 96 | + UserService userService = UserService.getInstance(getActivity()); |
| 97 | + user = userService.getActiveAccountInfo(); | ||
| 98 | + if(user != null && user.getUid() > 0){ | ||
| 99 | + initData(); | ||
| 100 | + updateUserInfo(); | ||
| 101 | + }else{ | ||
| 102 | + getActivity().finish(); | ||
| 103 | + } | ||
| 97 | } | 104 | } |
| 98 | 105 | ||
| 99 | private void initData() { | 106 | private void initData() { |
| 100 | - UserService userService = UserService.getInstance(getActivity()); | ||
| 101 | - user = userService.getActiveAccountInfo(); | ||
| 102 | String gender = user.getGender().equals("f") ? "女" : (user.getGender().equals("m") ? "男" : "未知"); | 107 | String gender = user.getGender().equals("f") ? "女" : (user.getGender().equals("m") ? "男" : "未知"); |
| 103 | personalData = new ArrayList<>(); | 108 | personalData = new ArrayList<>(); |
| 104 | personalData.add(new PersonalData("头像", user.getFaceurl(), PersonalData.TYPE_HEADER)); | 109 | personalData.add(new PersonalData("头像", user.getFaceurl(), PersonalData.TYPE_HEADER)); |
| @@ -278,6 +283,10 @@ public class UserPersonalFragment extends Fragment implements DataBindingAdapter | @@ -278,6 +283,10 @@ public class UserPersonalFragment extends Fragment implements DataBindingAdapter | ||
| 278 | if (i == IUserService.SUCCESS) { | 283 | if (i == IUserService.SUCCESS) { |
| 279 | updateUserInfo(); | 284 | updateUserInfo(); |
| 280 | Toast.makeText(getActivity(), "提交成功", Toast.LENGTH_LONG).show(); | 285 | Toast.makeText(getActivity(), "提交成功", Toast.LENGTH_LONG).show(); |
| 286 | + } else if (i == IUserService.ERROR_TOKEN_INVALID) { | ||
| 287 | + UserService userService = UserService.getInstance(getActivity()); | ||
| 288 | + userService.clearUser(); | ||
| 289 | + getActivity().finish(); | ||
| 281 | } else { | 290 | } else { |
| 282 | Toast.makeText(getActivity(), "提交失败" + s, Toast.LENGTH_LONG).show(); | 291 | Toast.makeText(getActivity(), "提交失败" + s, Toast.LENGTH_LONG).show(); |
| 283 | } | 292 | } |
| @@ -291,7 +300,12 @@ public class UserPersonalFragment extends Fragment implements DataBindingAdapter | @@ -291,7 +300,12 @@ public class UserPersonalFragment extends Fragment implements DataBindingAdapter | ||
| 291 | UserData userData = (UserData) obj; | 300 | UserData userData = (UserData) obj; |
| 292 | UserService userService = UserService.getInstance(getActivity()); | 301 | UserService userService = UserService.getInstance(getActivity()); |
| 293 | userService.setActiveAccountInfo(userData.getData()); | 302 | userService.setActiveAccountInfo(userData.getData()); |
| 303 | + user = userService.getActiveAccountInfo(); | ||
| 294 | initData(); | 304 | initData(); |
| 305 | + } else if (i == IUserService.ERROR_TOKEN_INVALID) { | ||
| 306 | + UserService userService = UserService.getInstance(getActivity()); | ||
| 307 | + userService.clearUser(); | ||
| 308 | + getActivity().finish(); | ||
| 295 | } | 309 | } |
| 296 | } | 310 | } |
| 297 | }); | 311 | }); |