|
@@ -5,8 +5,10 @@ import android.content.Intent;
|
|
|
import android.os.Bundle;
|
|
|
import android.util.Log;
|
|
|
import android.view.View;
|
|
|
+import android.widget.CompoundButton;
|
|
|
import android.widget.ImageView;
|
|
|
import android.widget.LinearLayout;
|
|
|
+import android.widget.Switch;
|
|
|
import android.widget.TextView;
|
|
|
|
|
|
import com.bumptech.glide.Glide;
|
|
@@ -14,20 +16,44 @@ import com.netease.nim.uikit.common.ui.imageview.HeadImageView;
|
|
|
import com.netease.nim.uikit.common.ui.widget.SwitchButton;
|
|
|
import com.netease.nimlib.sdk.NIMClient;
|
|
|
import com.netease.nimlib.sdk.uinfo.UserService;
|
|
|
+import com.netease.nimlib.sdk.uinfo.constant.UserInfoFieldEnum;
|
|
|
import com.netease.nimlib.sdk.uinfo.model.NimUserInfo;
|
|
|
import com.sheishuo.app.R;
|
|
|
import com.sheishuo.app.cache.AccountCache;
|
|
|
import com.sheishuo.app.cache.MineSocialCache;
|
|
|
+import com.sheishuo.app.cache.SocialInfoCache;
|
|
|
import com.sheishuo.app.common.beans.SocialInfoBean;
|
|
|
+import com.sheishuo.app.common.util.net.INet;
|
|
|
+import com.sheishuo.app.common.util.net.NetImpl;
|
|
|
+import com.sheishuo.app.common.util.net.ResponseCallback;
|
|
|
import com.sheishuo.app.common.views.BaseToolbar;
|
|
|
+import com.sheishuo.app.core_module.location.LocationSelectActivity;
|
|
|
+import com.sheishuo.app.core_module.sheishuo.view.ui.SettingTextEditActivity;
|
|
|
import com.sheishuo.app.impl.SheishuoUI;
|
|
|
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+import static com.sheishuo.app.core_module.location.LocationSelectActivity.LOCATION_AREA;
|
|
|
+import static com.sheishuo.app.core_module.location.LocationSelectActivity.LOCATION_CITY;
|
|
|
+import static com.sheishuo.app.core_module.location.LocationSelectActivity.LOCATION_PROVINCE;
|
|
|
+import static com.sheishuo.app.core_module.location.LocationSelectActivity.LOCATION_SELECTED_RESULT_CODE;
|
|
|
+
|
|
|
/**
|
|
|
* Created by KN on 2017/8/10.
|
|
|
*/
|
|
|
|
|
|
public class PersonalSettingsActivity extends SheishuoUI {
|
|
|
|
|
|
+ //Const
|
|
|
+ public static final int REQUEST_NICKNAME = 5400;
|
|
|
+ public static final int REQUEST_AGE = 5401;
|
|
|
+ public static final int REQUEST_REALNAME = 5402;
|
|
|
+ public static final int REQUEST_IDNUM = 5403;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
private String TAG = this.getClass().getSimpleName();
|
|
|
private Context context = this;
|
|
@@ -54,8 +80,13 @@ public class PersonalSettingsActivity extends SheishuoUI {
|
|
|
|
|
|
private HeadImageView avatarImg;
|
|
|
|
|
|
- private SwitchButton ageIsPublicSwitch;
|
|
|
+ private Switch ageIsPublicSwitch;
|
|
|
+
|
|
|
|
|
|
+ private SocialInfoBean bean;
|
|
|
+
|
|
|
+ private INet net = new NetImpl();
|
|
|
+ private ResponseCallback callback;
|
|
|
|
|
|
|
|
|
public static void start(Context context){
|
|
@@ -108,7 +139,7 @@ public class PersonalSettingsActivity extends SheishuoUI {
|
|
|
ageIsPublicSwitch = findView(R.id.personal_settings_age_is_public_switch);
|
|
|
}
|
|
|
|
|
|
- void init(){
|
|
|
+ void init() {
|
|
|
|
|
|
toolbar.getLeftTV().setOnClickListener(new View.OnClickListener() {
|
|
|
@Override
|
|
@@ -117,7 +148,27 @@ public class PersonalSettingsActivity extends SheishuoUI {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- SocialInfoBean me = MineSocialCache.getInfo();
|
|
|
+ //初始化回调
|
|
|
+ callback = new ResponseCallback() {
|
|
|
+ @Override
|
|
|
+ public void onSuccess(Object object) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onFailed() {
|
|
|
+ showToast(context,"更新设置失败,请重试");
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ //初始化设置
|
|
|
+ initSettings();
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private void initSettings(){
|
|
|
+ bean = SocialInfoCache.get(AccountCache.getAccount().getId());
|
|
|
NimUserInfo userInfo = NIMClient.getService(UserService.class)
|
|
|
.getUserInfo(AccountCache.getAccount().getId());
|
|
|
|
|
@@ -131,23 +182,152 @@ public class PersonalSettingsActivity extends SheishuoUI {
|
|
|
|
|
|
//暂无性别
|
|
|
|
|
|
- locationTV.setText(me.getCity() + " " + me.getDistrict());
|
|
|
+ locationTV.setText(bean.getCity() + " " + bean.getDistrict());
|
|
|
|
|
|
- if (me.getShow_age().equals("1")){
|
|
|
- ageIsPublicSwitch.setCheck(true);
|
|
|
+ if (bean.getShow_age().equals("1")){
|
|
|
+ ageIsPublicSwitch.setChecked(true);
|
|
|
}
|
|
|
|
|
|
- if (!me.getAge().isEmpty()) ageTV.setText(me.getAge());
|
|
|
+ if (!bean.getAge().isEmpty()) ageTV.setText(bean.getAge());
|
|
|
|
|
|
- if (!me.getHobby().isEmpty()) hobbyTV.setText(me.getHobby().substring(0,6));
|
|
|
+ if (!bean.getHobby().isEmpty()) hobbyTV.setText(bean.getHobby().substring(0,6));
|
|
|
|
|
|
- if (!me.getReal_name().isEmpty()) realNameTV.setText(me.getReal_name());
|
|
|
+ if (!bean.getReal_name().isEmpty()) realNameTV.setText(bean.getReal_name());
|
|
|
|
|
|
- if (!me.getId_number().isEmpty()) idNumTV.setText(me.getId_number());
|
|
|
- }
|
|
|
+ if (!bean.getId_number().isEmpty()) idNumTV.setText(bean.getId_number());
|
|
|
+
|
|
|
+
|
|
|
+ //公开年龄Switch监听
|
|
|
+ ageIsPublicSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
|
|
+ @Override
|
|
|
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
|
|
+ if (isChecked){
|
|
|
+ bean.setShow_age("1");
|
|
|
+ }else {
|
|
|
+ bean.setShow_age("0");
|
|
|
+ }
|
|
|
+
|
|
|
+ net.updateSocialInfo(bean, callback);
|
|
|
+
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ //昵称修改
|
|
|
+ nicknameLayout.setOnClickListener(new View.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(View v) {
|
|
|
+ Intent intent = new Intent(context, SettingTextEditActivity.class);
|
|
|
+ intent.putExtra(SettingTextEditActivity.SETTING_CONTENT_TITLE,"修改昵称");
|
|
|
+ intent.putExtra(SettingTextEditActivity.SETTING_CONTENT,nicknameTV.getText().toString());
|
|
|
+ startActivityForResult(intent,REQUEST_NICKNAME);
|
|
|
+
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ //修改年龄
|
|
|
+ ageLayout.setOnClickListener(new View.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(View v) {
|
|
|
+ Intent intent = new Intent(context, SettingTextEditActivity.class);
|
|
|
+ intent.putExtra(SettingTextEditActivity.SETTING_CONTENT_TITLE,"修改年龄");
|
|
|
+ intent.putExtra(SettingTextEditActivity.SETTING_CONTENT,ageTV.getText().toString());
|
|
|
+ startActivityForResult(intent,REQUEST_AGE);
|
|
|
+
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ //修改真实姓名
|
|
|
+ realNameLayout.setOnClickListener(new View.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(View v) {
|
|
|
+ Intent intent = new Intent(context, SettingTextEditActivity.class);
|
|
|
+ intent.putExtra(SettingTextEditActivity.SETTING_CONTENT_TITLE,"修改真实姓名");
|
|
|
+ intent.putExtra(SettingTextEditActivity.SETTING_CONTENT,realNameTV.getText().toString());
|
|
|
+ startActivityForResult(intent,REQUEST_REALNAME);
|
|
|
+
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ //修改身份证号码
|
|
|
+ idNumLayout.setOnClickListener(new View.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(View v) {
|
|
|
+ Intent intent = new Intent(context, SettingTextEditActivity.class);
|
|
|
+ intent.putExtra(SettingTextEditActivity.SETTING_CONTENT_TITLE,"修改身份证号码");
|
|
|
+ intent.putExtra(SettingTextEditActivity.SETTING_CONTENT,idNumTV.getText().toString());
|
|
|
+ startActivityForResult(intent,REQUEST_IDNUM);
|
|
|
|
|
|
+ }
|
|
|
+ });
|
|
|
|
|
|
+ //地区选择
|
|
|
+ locationLayout.setOnClickListener(new View.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(View v) {
|
|
|
+ startActivityForResult(new Intent(context,LocationSelectActivity.class),0);
|
|
|
+ }
|
|
|
+ });
|
|
|
|
|
|
+ //兴趣选择
|
|
|
+ hobbyLayout.setOnClickListener(new View.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(View v) {
|
|
|
|
|
|
+ startActivityForResult(new Intent(context,HobbySelectActivity.class),0);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
|
|
+ super.onActivityResult(requestCode, resultCode, data);
|
|
|
+ if (SettingTextEditActivity.SETTING_CONTENT_RESULT_CODE == resultCode){
|
|
|
+ String resultStr = data.getStringExtra(SettingTextEditActivity.SETTING_CONTENT_RESULT);
|
|
|
+ switch (requestCode){
|
|
|
+ case REQUEST_NICKNAME:
|
|
|
+ nicknameTV.setText(resultStr);
|
|
|
+ Map<UserInfoFieldEnum,Object> fieldMap = new HashMap<>();
|
|
|
+ fieldMap.put(UserInfoFieldEnum.Name,resultStr);
|
|
|
+ NIMClient.getService(UserService.class).updateUserInfo(fieldMap);
|
|
|
+ bean.setNick(resultStr);
|
|
|
+ net.updateSocialInfo(bean,callback);
|
|
|
+ break;
|
|
|
+ case REQUEST_AGE:
|
|
|
+ ageTV.setText(resultStr);
|
|
|
+ bean.setAge(resultStr);
|
|
|
+ net.updateSocialInfo(bean,callback);
|
|
|
+ break;
|
|
|
+ case REQUEST_REALNAME:
|
|
|
+ realNameTV.setText(resultStr);
|
|
|
+ bean.setReal_name(resultStr);
|
|
|
+ net.updateSocialInfo(bean,callback);
|
|
|
+ break;
|
|
|
+ case REQUEST_IDNUM:
|
|
|
+ idNumTV.setText(resultStr);
|
|
|
+ bean.setId_number(resultStr);
|
|
|
+ net.updateSocialInfo(bean,callback);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }else if (resultCode == LOCATION_SELECTED_RESULT_CODE){
|
|
|
+
|
|
|
+ //更新地理位置
|
|
|
+ bean.setProvince(data.getStringExtra(LOCATION_PROVINCE));
|
|
|
+ bean.setCity(data.getStringExtra(LOCATION_CITY));
|
|
|
+ bean.setDistrict(data.getStringExtra(LOCATION_AREA));
|
|
|
+
|
|
|
+ locationTV.setText(data.getStringExtra(LOCATION_CITY) +" "+ data.getStringExtra(LOCATION_AREA));
|
|
|
+
|
|
|
+ net.updateLocation(bean.getProvince(),bean.getCity(),bean.getDistrict(),callback);
|
|
|
+
|
|
|
+ }else if (HobbySelectActivity.HOBBY_RESULT_CODE == resultCode){
|
|
|
+ String hobby = data.getStringExtra(HobbySelectActivity.RESULT_HOBBY);
|
|
|
+ hobbyTV.setText(hobby);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|