Commit 425522c4fcb962836f3639ab3d687e69a1b2abd0

Authored by 谷俊
1 parent 915b1b18

修改更新用户信息的逻辑和token失效的代码处理

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 });