中建365-优化/bug修复

develop
wlh 1 year ago
parent 609183b1ed
commit f6d7269d3d

@ -35,6 +35,7 @@ import com.xty.base.dialog.AppUpdateDialog
import com.xty.base.dialog.DialogActivities
import com.xty.base.vp2.VpAdapter
import com.xty.common.Const
import com.xty.common.LogUtils
import com.xty.common.MMkvHelper
import com.xty.common.aMapUtils.AmapInit
import com.xty.common.arouter.ARouterUrl
@ -159,6 +160,24 @@ class MainActivity : BaseVmAct<MainVm>(), Consumer<AbstractMeasureData> {
mViewModel.getBanners(userId,3)
mViewModel.getIsDemonstate()
mViewModel.searchInviteInfo()
if(EasyPermissions.hasPermissions(this, Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION)) {
AmapInit.startLocation(this) {
LogUtils.e("DynamicManagementFrag","${it.city}")
MMkvHelper.put(Const.LONGITUDE,it.longitude)
MMkvHelper.put(Const.LATITUDE,it.latitude)
MMkvHelper.put(Const.PROVINCE,it.province)
MMkvHelper.put(Const.CITY,it.city)
MMkvHelper.put(Const.DISTRICT,it.district)
// mViewModel.getWeather()
}
}else{
EasyPermissions.requestPermissions(this,"申请定位权限",
0x00022,
Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION);
}
// mViewModel.getBindList(BaseDeviceBindListAct.DeviceType.BODYFAT.type)
}
@ -279,7 +298,7 @@ class MainActivity : BaseVmAct<MainVm>(), Consumer<AbstractMeasureData> {
mViewModel.updateLive.observe(this) {
if (!it.data.url.isNullOrEmpty()) {
dialog.showUploadDialog(it.data.url!!, it.data.log,it.data.versionName ,it.data.isupdate) { show ->
dialog.showUploadDialog(it.data.url!!, it.data.log,it.data.name ,it.data.isupdate) { show ->
isDialogShow = show
}
}

@ -624,11 +624,18 @@ class DynamicManagementFrag : BaseVmFrag<DynamicManagementVm>() , EasyPermission
mViewModel.getMySetting()
mViewModel.getTips()
mViewModel.getRank(2)
if(MMkvHelper.contains(Const.LATITUDE) && MMkvHelper.contains(Const.LONGITUDE)){
mViewModel.getWeather()
}else{
if(EasyPermissions.hasPermissions(requireContext(), Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION)) {
AmapInit.startLocation(requireContext()) {
LogUtils.e("DynamicManagementFrag","${it.city}")
MMkvHelper.put(Const.LONGITUDE,it.longitude)
MMkvHelper.put(Const.LATITUDE,it.latitude)
MMkvHelper.put(Const.PROVINCE,it.province)
MMkvHelper.put(Const.CITY,it.city)
MMkvHelper.put(Const.DISTRICT,it.district)
mViewModel.getWeather()
}
@ -637,6 +644,8 @@ class DynamicManagementFrag : BaseVmFrag<DynamicManagementVm>() , EasyPermission
0x00022,
Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION);
}
}
}

@ -281,8 +281,12 @@ class MineFrag : BaseVmFrag<SettingVm>(),EasyPermissions.PermissionCallbacks {
}
binding.llUpGraded.setOnClickListener {
if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){
RouteManager.goAct(ARouterUrl.LOGIN_ACT)
}else {
mViewModel.getVersionNew(BuildConfig.VERSION_CODE)
}
}
binding.llCustomerService.setOnClickListener {
if(EasyPermissions.hasPermissions(requireContext(), Manifest.permission.CALL_PHONE)){
@ -319,7 +323,7 @@ class MineFrag : BaseVmFrag<SettingVm>(),EasyPermissions.PermissionCallbacks {
mViewModel.updateLive.observe(this) {
if (!it.data.url.isNullOrEmpty()) {
dialog.showUploadDialog(it.data.url!!, it.data.log,it.data.versionName ,it.data.isupdate) { show ->
dialog.showUploadDialog(it.data.url!!, it.data.log,it.data.name ,it.data.isupdate) { show ->
}
}else{
CommonToastUtils.showSucceedToast("已经是最新版本")

@ -4,6 +4,7 @@ import android.text.TextUtils
import android.util.Log
import androidx.lifecycle.MutableLiveData
import com.google.gson.internal.LinkedTreeMap
import com.tamsiree.rxkit.RxRegTool
import com.tamsiree.rxkit.RxTool
import com.xty.base.vm.BaseVm
import com.xty.common.Const
@ -34,6 +35,11 @@ class LoginVm() : BaseVm() {
if (account.isEmpty()) {
CommonToastUtils.showToast(R.string.please_input_phone)
return
}else{
if(!RxRegTool.isMobileSimple(account)){
CommonToastUtils.showToast(R.string.please_input_ok_phone)
return
}
}
if (pwd.isEmpty()) {
CommonToastUtils.showToast(R.string.please_input_new_pwd)

@ -15,6 +15,7 @@ import com.xty.network.model.RespBody
import com.xty.network.model.UnReadMessageBean
import com.xty.network.model.Update
import com.xty.network.model.UserEquipmentInformationizationBean
import com.zj365.dc.BuildConfig
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.async
import kotlinx.coroutines.launch
@ -64,7 +65,7 @@ class MainVm : BaseVm() {
}
fun getVersionNew() {
startHttp {
var response = apiInterface().getVersionNew(1/*BuildConfig.VERSION_CODE*/)
var response = apiInterface().getVersionNew(BuildConfig.VERSION_CODE)
response.getCodeStatus(updateLive, nowData)
}
}

@ -3,19 +3,21 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_144"
android:layout_height="wrap_content"
android:minHeight="@dimen/dp_125"
android:layout_gravity="center_horizontal"
tools:ignore="MissingDefaultResource">
<ImageView
android:id="@+id/ivBg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="0dp"
android:scaleType="fitXY"
android:visibility="visible"
android:src="@mipmap/bg_xl"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"/>
app:layout_constraintBottom_toBottomOf="parent"
/>
<LinearLayout
android:id="@+id/ll_health_title"
@ -37,7 +39,7 @@
android:id="@+id/mHealthName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_5"
android:layout_marginLeft="@dimen/dp_3"
android:textColor="@color/col_313"
android:textSize="@dimen/sp_14"
android:textStyle="bold"
@ -52,7 +54,7 @@
android:layout_height="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_12"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginBottom="@dimen/dp_5"
android:layout_marginBottom="@dimen/dp_3"
app:layout_constraintBottom_toTopOf="@+id/ll_content"
tools:src="@mipmap/ic_health_normal" />
@ -60,17 +62,17 @@
android:id="@+id/ll_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/dp_17"
android:paddingBottom="@dimen/dp_13"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@+id/ll_health_title">
>
<TextView
android:id="@+id/mHealthInfo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/dp_3"
android:layout_marginBottom="@dimen/dp_5"
android:textColor="@color/col_313"
android:textSize="@dimen/sp_10"
android:textStyle="bold"
@ -81,7 +83,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/col_7c7"
android:textSize="@dimen/sp_9"
android:textSize="@dimen/dp_9"
android:layout_marginBottom="@dimen/dp_3"
tools:text="sdfsdg" />
<TextView

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

@ -77,19 +77,17 @@ class AppUpdateDialog(
isShow.invoke(false)
return
}
binding.mClose.visibility = if (isUpdate) View.GONE else View.VISIBLE
isShow.invoke(true)
loadPath = url
show()
binding.mCancelUpdate.visibility = if (isUpdate) View.GONE else View.VISIBLE
if (!log.isNullOrEmpty()) {
binding.mTvLog.visibility = View.VISIBLE
binding.mTvLog.text = log
}
binding.mVersionName.text =versionName
binding.mVersionName.text ="V${versionName}"
uploadManager.uploadApk(loadPath, {
binding.mProgress.progress = it
binding.mTvProgress.text = "${it}/100"

@ -18,13 +18,14 @@ open class CloudJSBridge(val context: Context, val listener: IJsBridge) {
str?.apply {
val userId = if (MMkvHelper.getLong(Const.USER_ID).toString() == "0") {
""
} else { LogUtils.e("CloudJSBridge","str")
} else {
MMkvHelper.getLong(Const.USER_ID).toString()
}
val jsonObject = JSONObject()
jsonObject.put("statuHeight", WebUtils.getStatesBar())
jsonObject.put("token", MMkvHelper.getString(Const.Auth_Token))
jsonObject.put("token", MMkvHelper.getString(Const.Auth_Id))
jsonObject.put("dpi",WebUtils.getDensityDpi())
jsonObject.put("userId", userId)
jsonObject.put("isAPP", 1)
@ -55,4 +56,12 @@ open class CloudJSBridge(val context: Context, val listener: IJsBridge) {
}
fun gotoScienceDetail(str: String?){
LogUtils.e("CloudJSBridge","gotoScienceDetail str")
str?.let {
}
ToastUtils(context).showToast("敬请期待")
}
}

@ -24,7 +24,7 @@ object WebUtils {
@Synchronized
fun getDensityDpi(): Int {
val displayMetrics = ContextUtils.getApplication().resources.displayMetrics
val displayMetrics = ContextUtils.getContext().resources.displayMetrics
return displayMetrics.density.toInt()
}
}

@ -23,8 +23,8 @@ class AppUpdate(var context: Activity) {
isShowNotification = false
isShowBgdToast = false
dialogImage = R.drawable.shape_bg_health_round
dialogButtonColor = ContextCompat.getColor(context, R.color.col_009)
dialogProgressBarColor = ContextCompat.getColor(context, R.color.col_009)
dialogButtonColor = ContextCompat.getColor(context, R.color.col_02c)
dialogProgressBarColor = ContextCompat.getColor(context, R.color.col_02c)
setButtonClickListener {
}
@ -51,7 +51,7 @@ class AppUpdate(var context: Activity) {
})
}
manager.setApkName("ay_android.apk")
manager.setApkName("zj365_android.apk")
.setApkUrl(url)
.setSmallIcon(R.mipmap.ic_upload).configuration = configuration

@ -19,6 +19,12 @@
android:layout_width="match_parent"
android:layout_height="@dimen/dp_213"
>
<ImageView
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintTop_toBottomOf="@+id/h2"
app:layout_constraintBottom_toBottomOf="parent"
android:background="@color/white"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
@ -26,6 +32,7 @@
app:layout_constraintLeft_toLeftOf="parent"
android:background="@mipmap/ic_upload"/>
<androidx.constraintlayout.widget.Guideline
android:id="@+id/v1"
android:layout_width="match_parent"

@ -130,6 +130,10 @@ class Const {
const val LONGITUDE = "longitude" //经度
const val LATITUDE = "latitude" //纬度
const val PROVINCE = "province" //省
const val CITY = "city" //市
const val DISTRICT ="district" //区
var DeviceIdNum : String = ""
// const val userName = "User_Name"
// const val userBean = "UserUser"

@ -1,14 +1,11 @@
package com.xty.common.util
import android.os.Build
import androidx.annotation.RequiresApi
import com.xty.common.Const
import com.xty.network.model.SettingBean
import java.text.SimpleDateFormat
import java.time.LocalDate
import java.time.format.DateTimeFormatter
import java.util.Calendar
import java.util.Locale
import java.util.regex.Pattern
/**
* 通用信息封装
@ -130,4 +127,24 @@ object CommonUtils {
return replaceNum
}
/**
* 手机号码中间4位星号替换
*
* @param phone 手机号
* @return 星号替换的手机号
*/
fun phoneNoHide(phone: String): String {
// 括号表示组,被替换的部分$n表示第n组的内容
// 正则表达式中替换字符串括号的意思是分组在replace()方法中,
// 参数二中可以使用$n(n为数字)来依次引用模式串中用括号定义的字串。
// "(\d{3})\d{4}(\d{4})", "$1****$2"的这个意思就是用括号,
// 分为(前3个数字)中间4个数字(最后4个数字)替换为(第一组数值,保持不变$1)(中间为*)(第二组数值,保持不变$2)
return phone.replace("(\\d{3})\\d{4}(\\d{4})".toRegex(), "$1****$2")
}
fun checkMobile(mobile: String): Boolean {
val regex = "(\\+\\d+)?1[3456789]\\d{9}$"
return Pattern.matches(regex, mobile)
}
}

@ -3,7 +3,7 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="@color/start_col"
android:endColor="@color/end_col"
android:startColor="@color/col_02c"
android:endColor="@color/col_02c"
android:angle="180"/>
</shape>

@ -48,6 +48,7 @@
android:id="@+id/check_brithday"
android:layout_width="wrap_content"
android:layout_marginLeft="@dimen/dp_31"
android:visibility="gone"
android:layout_height="wrap_content"
android:background="@drawable/selector_check_birthday"
android:button="@null"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

@ -6,6 +6,7 @@ import android.content.Intent
import android.os.Handler
import android.os.Message
import android.text.Editable
import android.text.TextUtils
import android.text.TextWatcher
import android.util.Log
import com.alibaba.android.arouter.facade.annotation.Route
@ -16,10 +17,14 @@ import com.mylhyl.acp.Acp
import com.mylhyl.acp.AcpListener
import com.mylhyl.acp.AcpOptions
import com.tamsiree.rxkit.RxKeyboardTool
import com.tamsiree.rxkit.RxRegTool
import com.tencent.qcloud.tuikit.tuichat.util.PermissionHelper
import com.xty.base.act.BaseVmAct
import com.xty.base.weight.GpsToastDialog
import com.xty.base.weight.TipDialog
import com.xty.common.Const
import com.xty.common.LogUtils
import com.xty.common.MMkvHelper
import com.xty.common.TimeSelect
import com.xty.common.TimeUtils
import com.xty.common.aMapUtils.AmapInit
@ -31,6 +36,7 @@ import com.xty.common.picture.PictureUtils
import com.xty.common.setImage
import com.xty.common.setImageUser
import com.xty.common.util.CommonToastUtils
import com.xty.common.util.CommonUtils
import com.xty.common.util.GetJsonDataUtil
import com.xty.common.util.JsonBean
import com.xty.common.weight.AreaSelectDialog
@ -40,6 +46,7 @@ import com.zj365.mime.vm.BaseInfoVm
import org.greenrobot.eventbus.EventBus
import org.json.JSONArray
import org.json.JSONObject
import pub.devrel.easypermissions.EasyPermissions
import java.util.regex.Pattern
/**
@ -140,6 +147,9 @@ class BaseInfoChangeAct : BaseVmAct<BaseInfoVm>() {
isBind = it.getInt("isBind", 1)
binding.title.mTvTitle.text = "完善信息"
}
}
@SuppressLint("SetTextI18n")
@ -262,10 +272,15 @@ class BaseInfoChangeAct : BaseVmAct<BaseInfoVm>() {
// 2->binding.checkBirthday.isChecked = true
// }
birthdayType = it.birthdayType
if (TextUtils.isEmpty(it.city) || TextUtils.isEmpty(it.province) || TextUtils.isEmpty(it.district)){
getLocaltion()
}else{
city = it.city
provincey = it.province //表示省
district = it.district //区
binding.mArea.text = "${it.province ?: ""} ${it.city ?: ""} ${it.district ?: ""}"
}
if (it.height > 0){
binding.mHeight.setText("${it.height}")
}
@ -403,6 +418,10 @@ class BaseInfoChangeAct : BaseVmAct<BaseInfoVm>() {
CommonToastUtils.showToast("请输入紧急联系人联系方式")
return
}
if (!RxRegTool.isMobileSimple(otherPhone)){
CommonToastUtils.showToast("紧急电话不得少于11位")
return
}
if (otherPhone == binding.mPhone.text.toString()) {
CommonToastUtils.showToast("紧急联系人电话不能与本人电话一致")
return
@ -606,6 +625,44 @@ class BaseInfoChangeAct : BaseVmAct<BaseInfoVm>() {
}
}
fun getLocaltion(){
if(MMkvHelper.contains(Const.PROVINCE) && MMkvHelper.contains(Const.CITY) && MMkvHelper.contains(Const.DISTRICT)){
open_province = MMkvHelper.getString(Const.PROVINCE) //表示省
provincey = MMkvHelper.getString(Const.PROVINCE) //表示省
open_city =MMkvHelper.getString(Const.CITY) //市
city = MMkvHelper.getString(Const.CITY) //市
open_area = MMkvHelper.getString(Const.DISTRICT) //区
district = MMkvHelper.getString(Const.DISTRICT) //区
binding.mArea.text = "$open_province $open_city $open_area"
}else{
if(EasyPermissions.hasPermissions(this, Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION)) {
AmapInit.startLocation(this) {
LogUtils.e("DynamicManagementFrag","${it.city}")
MMkvHelper.put(Const.LONGITUDE,it.longitude)
MMkvHelper.put(Const.LATITUDE,it.latitude)
MMkvHelper.put(Const.PROVINCE,it.province)
MMkvHelper.put(Const.CITY,it.city)
MMkvHelper.put(Const.DISTRICT,it.district)
open_province = MMkvHelper.getString(Const.PROVINCE) //表示省
provincey = MMkvHelper.getString(Const.PROVINCE) //表示省
open_city =MMkvHelper.getString(Const.CITY) //市
city = MMkvHelper.getString(Const.CITY) //市
open_area = MMkvHelper.getString(Const.DISTRICT) //区
district = MMkvHelper.getString(Const.DISTRICT) //区
binding.mArea.text = "$open_province $open_city $open_area"
}
}else{
EasyPermissions.requestPermissions(this,"申请定位权限",
0x00022,
Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION);
}
}
}
override fun onDestroy() {
AmapInit.stopLocation()

@ -226,6 +226,7 @@
android:layout_height="wrap_content"
android:textColor="@color/col_313"
android:textSize="@dimen/dp_14"
android:visibility="gone"
android:id="@+id/tv_cal_type"
android:layout_marginRight="@dimen/dp_5"
android:layout_toLeftOf="@+id/mBirthday"/>

@ -2,7 +2,7 @@ package com.xty.network.model
class Update{
var log: String?=null
var name: String?=null
var name: String=""
var url: String?=null
var isupdate: Int = 0//0:非强制更新 1强制更新
var versionName:String = ""

Loading…
Cancel
Save