diff --git a/app/src/main/java/com/navinfo/outdoor/activity/HomeActivity.java b/app/src/main/java/com/navinfo/outdoor/activity/HomeActivity.java index f65d675..57cb98d 100644 --- a/app/src/main/java/com/navinfo/outdoor/activity/HomeActivity.java +++ b/app/src/main/java/com/navinfo/outdoor/activity/HomeActivity.java @@ -352,7 +352,7 @@ public class HomeActivity extends BaseActivity { public void accept(Map stringBooleanMap) throws Exception { Log.d("HomeActivity", "checkMockLocation结果:"+stringBooleanMap.isEmpty()); if (!stringBooleanMap.isEmpty()) { - StringBuilder stringBuilder = new StringBuilder("检查到您疑似存在以下违规行为:\n"); + StringBuilder stringBuilder = new StringBuilder("检查到疑似存在以下违规行为:\n"); for (String key: stringBooleanMap.keySet() ) { stringBuilder.append(key).append("\n"); @@ -373,6 +373,7 @@ public class HomeActivity extends BaseActivity { mail.setPassword("YGPSXLMRPMADRHPS"); ArrayList toAddressList = new ArrayList<>(); toAddressList.add("xiaoyan159@qq.com"); + toAddressList.add("huangjichao@navinfo.com"); mail.setToAddress(toAddressList); mail.setSubject("疑似违规记录"); mail.setContent(stringBuilder.append("用户名:").append(Constant.USER_NAME).append("\n") diff --git a/app/src/main/java/com/navinfo/outdoor/activity/UserActivity.java b/app/src/main/java/com/navinfo/outdoor/activity/UserActivity.java index f0b6e56..dec80c8 100644 --- a/app/src/main/java/com/navinfo/outdoor/activity/UserActivity.java +++ b/app/src/main/java/com/navinfo/outdoor/activity/UserActivity.java @@ -9,6 +9,7 @@ import android.graphics.Color; import android.os.CountDownTimer; import android.text.TextUtils; import android.util.Log; +import android.view.LayoutInflater; import android.view.View; import android.widget.Button; import android.widget.EditText; @@ -24,6 +25,7 @@ import com.github.lazylibrary.util.FileUtils; import com.google.common.reflect.TypeToken; import com.google.gson.Gson; import com.kongzue.dialog.interfaces.OnDialogButtonClickListener; +import com.kongzue.dialog.interfaces.OnShowListener; import com.kongzue.dialog.util.BaseDialog; import com.kongzue.dialog.util.DialogSettings; import com.kongzue.dialog.v3.CustomDialog; @@ -54,7 +56,9 @@ import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.Objects; /* @@ -74,7 +78,7 @@ public class UserActivity extends BaseActivity implements View.OnClickListener { private String region_text; private SharedPreferences spNavinfo; private Button btnPhoneEdit; - private String sessionId; + private String sessionId, updatePhone; private CountDownTimer timer; @Override @@ -179,16 +183,6 @@ public class UserActivity extends BaseActivity implements View.OnClickListener { Intent gatheringIntent = new Intent(this, FragmentManagement.class); gatheringIntent.putExtra("tag", 24); startActivity(gatheringIntent); - - /* if (Constant.AUDIOTAPES == -1) { - ToastUtils.Message(UserActivity.this,"请先实名认证"); - } else if (Constant.AUDIOTAPES == 1) {//认证通过 - Intent gatheringIntent = new Intent(this, FragmentManagement.class); - gatheringIntent.putExtra("tag", 24); - startActivity(gatheringIntent); - } else if (Constant.AUDIOTAPES == 0) { - ToastUtils.Message(this,Constant.AUDITING + ""); - }*/ break; case R.id.btn_attestations: userBuilder.append(TimestampUtil.time()).append(",").append("点击了去认证的返回 ,"); @@ -216,48 +210,132 @@ public class UserActivity extends BaseActivity implements View.OnClickListener { break; case R.id.btn_phone_edit: // 用户修改手机号 - DialogSettings.style = DialogSettings.STYLE.STYLE_IOS; - DialogSettings.cancelable = false; - CustomDialog.show(UserActivity.this, R.layout.edit_phone, new CustomDialog.OnBindView() { - @Override - public void onBind(CustomDialog dialog, View v) { - EditText edtPhoneNew = v.findViewById(R.id.edt_phone_new); - EditText edtConfirmCode = v.findViewById(R.id.edt_phone_confirm_code); - TextView btnConfirmCode = v.findViewById(R.id.tv_confirm_code); - Button btnFinish = v.findViewById(R.id.btm_finish); - btnConfirmCode.setOnClickListener(new View.OnClickListener() { + View dialogRootView = LayoutInflater.from(UserActivity.this).inflate(R.layout.edit_phone, null); + MessageDialog.show(UserActivity.this, "修改手机号", "") + .setCustomView(dialogRootView) + .setOnShowListener(new OnShowListener() { @Override - public void onClick(View v) { + public void onShow(BaseDialog dialog) { + EditText edtPhoneNew = dialogRootView.findViewById(R.id.edt_phone_new); + EditText edtConfirmCode = dialogRootView.findViewById(R.id.edt_phone_confirm_code); + TextView btnConfirmCode = dialogRootView.findViewById(R.id.tv_confirm_code); + btnConfirmCode.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + // 获取手机验证码 + EditText edtPhoneNew = dialogRootView.findViewById(R.id.edt_phone_new); + EditText edtConfirmCode = dialogRootView.findViewById(R.id.edt_phone_confirm_code); + TextView btnConfirmCode = dialogRootView.findViewById(R.id.tv_confirm_code); + String newPhone=edtPhoneNew.getText().toString(); + if (checkPhoneNum(newPhone)) { + // 发送请求拉取新的验证码 + getConfirmCode(UserActivity.this, newPhone, btnConfirmCode); + } + } + }); +// Button btnFinish = dialogRootView.findViewById(R.id.btn_finish); + } + }) + .setCancelable(true) + .setOkButton("确定", new OnDialogButtonClickListener() { + @Override + public boolean onClick(BaseDialog baseDialog, View v) { + EditText edtPhoneNew = dialogRootView.findViewById(R.id.edt_phone_new); + EditText edtConfirmCode = dialogRootView.findViewById(R.id.edt_phone_confirm_code); + TextView btnConfirmCode = dialogRootView.findViewById(R.id.tv_confirm_code); String newPhone=edtPhoneNew.getText().toString(); - if (newPhone.length()!=11 || !newPhone.startsWith("1")) { - Toast.makeText(UserActivity.this, "请检查手机号是否正确!", Toast.LENGTH_SHORT).show(); - return; + String confirmCode = edtConfirmCode.getText().toString().trim(); + // 检查是否获取过验证码 + if (sessionId == null) { + Toast.makeText(UserActivity.this, "请先获取验证码", Toast.LENGTH_SHORT).show(); + return true; } - if (newPhone.equals(Constant.MOBILE)) { - Toast.makeText(UserActivity.this, "与原有手机号相同!", Toast.LENGTH_SHORT).show(); - return; + if (!checkPhoneNum(updatePhone)) { + return true; + } + if (confirmCode.isEmpty()) { + Toast.makeText(UserActivity.this, "请输入验证码", Toast.LENGTH_SHORT).show(); + return true; } - // 发送请求拉取新的验证码 - getConfirmCode(UserActivity.this, newPhone, btnConfirmCode); - } - }); - btnFinish.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - // 发送修改手机号请求 + HttpParams httpParams = new HttpParams(); + httpParams.put("pid", Constant.USHERED); + httpParams.put("datetime", System.currentTimeMillis()); + httpParams.put("mobile", updatePhone); + httpParams.put("sessionId", sessionId); + httpParams.put("code", confirmCode); + showLoadingDialog(); + OkGoBuilder okGoBuilder = OkGoBuilder.getInstance() + .time(30) + .Builder(UserActivity.this) + .url(HttpInterface.UPDATE_PHONE_NUM_URL) + .cls(MessageCodeBean.class) + .token(null) + .params(httpParams); + okGoBuilder.postRequest(new UploadCallBack() { + @Override + public void onSuccess(MessageCodeBean response, int id) { + dismissLoadingDialog(); + if (response.getCode() == 200) { + // 手机号修改成功 + ToastUtils.Message(UserActivity.this, "手机号修改成功!"); + Constant.MOBILE = updatePhone; + etPhone.setText(updatePhone); + baseDialog.doDismiss(); + } else { + // 手机号修改失败,提示用户 + ToastUtils.Message(UserActivity.this, response.getMessage()); + } + } + + @Override + public void uploadProgress(Progress progress) { + + } + + @Override + public void onError(Throwable e, int id) { + dismissLoadingDialog(); + String message = e.getMessage(); + assert message != null; + if (message.equals("timeout") || message.equals("Read time out")) { + ToastUtils.Message(UserActivity.this, "请求超时"); + } else { + ToastUtils.Message(UserActivity.this, message); + } + } + }); + return true; + } + }) + .setCancelButton("取消", new OnDialogButtonClickListener() { + @Override + public boolean onClick(BaseDialog baseDialog, View v) { + return false; } }); - } - }); break; } } + private boolean checkPhoneNum(String newPhone) { + if (newPhone == null || newPhone.length()!=11 || !newPhone.startsWith("1")) { + Toast.makeText(UserActivity.this, "请检查手机号是否正确!", Toast.LENGTH_SHORT).show(); + return false; + } + if (newPhone.equals(Constant.MOBILE)) { + Toast.makeText(UserActivity.this, "与原有手机号相同!", Toast.LENGTH_SHORT).show(); + return false; + } + return true; + } + private void getConfirmCode(Activity context, String phone, TextView btnPhoneConfirmCode) { HttpParams httpParams = new HttpParams(); httpParams.put("mobile", phone); httpParams.put("type", 3); + sessionId = null; + updatePhone = null; showLoadingDialog(); OkGoBuilder okGoBuilder = OkGoBuilder.getInstance() .time(30) @@ -272,6 +350,7 @@ public class UserActivity extends BaseActivity implements View.OnClickListener { dismissLoadingDialog(); if (response.getCode() == 200) { sessionId = response.getBody(); + updatePhone = phone; // 记录用户获取验证码的手机号 registerNote(btnPhoneConfirmCode); ToastUtils.Message(context, "验证码已发送"); } else { diff --git a/app/src/main/java/com/navinfo/outdoor/http/HttpInterface.java b/app/src/main/java/com/navinfo/outdoor/http/HttpInterface.java index e9e9f93..cd32671 100644 --- a/app/src/main/java/com/navinfo/outdoor/http/HttpInterface.java +++ b/app/src/main/java/com/navinfo/outdoor/http/HttpInterface.java @@ -1,14 +1,15 @@ package com.navinfo.outdoor.http; public class HttpInterface { - public static final String IP2 = "http://172.23.139.129:9999/m4";//测试接口 - public static final String IP = "http://dtxbmaps.navinfo.com/dtxb/dev/m4";//测试接口-外网 + public static final String IP = "http://172.23.138.133:9999/m4";//测试接口 + public static final String IP2 = "http://dtxbmaps.navinfo.com/dtxb/dev/m4";//测试接口-外网 public static final String IP1 = "http://dtxbmaps.navinfo.com/dtxb/m4";//正式接口 public static final String USER_PATH = "/user/";//我的 public static final String MSG_LIST_PATH = "/msgList/";//发现 public static final String USER_LOGIN_PATH = "/userlogin/";//登录 public static final String PRICE_PATH = "/price/";//提现 public static final String TASK_PATH = "/task/";//任务 + public static final String UPDATE_PHONE_NUM_PATH = "/user/user/{userId}/updateUserPhone"; // 修改手机号 /** public static final String TEST_GUIDANCE_IP = "http://172.21.98.90:9999/m4";//引导页完成接口 @@ -134,6 +135,7 @@ public class HttpInterface { public static String SUBMIT_POLYGON_TASK = null;//面状任务开始采集 //dtxbmaps.navinfo.com/dtxb_test/m4/msgList/InfoPush/28/push?type=0 public static String MESSAGE_INFO_PUSH = null;//消息通知 + public static String UPDATE_PHONE_NUM_URL = null;//消息通知 public static String CONTACT_US = "";//联系我们 public static String ABOUT_MAP = "";//关于 -关于地图寻宝 @@ -234,5 +236,6 @@ public class HttpInterface { UNRECEIVED_POLYGON_TASK = IP + TASK_PATH + "task/" + userId + "/unReceivedTask";//所有類型结束领取 COMPLETE = IP + TASK_PATH + "polygonTask/" + userId + "/complete";//面状任务结束领取 SUBMIT_POLYGON_TASK = IP + TASK_PATH + "polygonTask/" + userId + "/submitPolygontask";//面状任务开始采集 + UPDATE_PHONE_NUM_URL = IP + UPDATE_PHONE_NUM_PATH.replace("{userId}", userId);// 修改手机号 } } diff --git a/app/src/main/res/layout/edit_phone.xml b/app/src/main/res/layout/edit_phone.xml index b58df83..4bf47d8 100644 --- a/app/src/main/res/layout/edit_phone.xml +++ b/app/src/main/res/layout/edit_phone.xml @@ -2,17 +2,9 @@ - - + \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index a27b9ef..37bbcd7 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -49,7 +49,7 @@