From 69a139a8651b0d864e8d16275c35b70b7e0138a3 Mon Sep 17 00:00:00 2001 From: wlh <646507849@qq.com> Date: Fri, 5 Jan 2024 09:50:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=AD=E5=BB=BA365-=E4=BA=8C=E6=9C=9F?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 4 + .../java/com/zj365/dc/activity/LoginAct.kt | 2 +- .../zj365/dc/activity/WatchFamilyHealthAct.kt | 43 ++++ .../zj365/dc/adapter/HomeTopLayoutAdapter.kt | 8 +- .../dc/fragment/DynamicManagementFrag.kt | 243 ++---------------- .../com/zj365/dc/fragment/HealthHomeFrag.kt | 110 +------- .../java/com/zj365/dc/fragment/MineFrag.kt | 30 +-- .../java/com/zj365/dc/fragment/ServerFrag.kt | 226 ---------------- .../res/layout/act_watch_family_health.xml | 17 ++ app/src/main/res/layout/frag_mine.xml | 3 +- .../java/com/xty/common/arouter/ARouterUrl.kt | 1 + .../com/xty/common/util/PermissionUtils.java | 198 ++++++++++++++ common/src/main/res/values/strings.xml | 7 + config.gradle | 13 +- .../act/familyhealth/FamilyHealthAct.kt | 9 + .../familyhealth/FamilyHealthRealTimeAct.kt | 21 ++ .../main/res/layout/act_base_info_change.xml | 1 + 17 files changed, 355 insertions(+), 581 deletions(-) create mode 100644 app/src/main/java/com/zj365/dc/activity/WatchFamilyHealthAct.kt delete mode 100644 app/src/main/java/com/zj365/dc/fragment/ServerFrag.kt create mode 100644 app/src/main/res/layout/act_watch_family_health.xml create mode 100644 common/src/main/java/com/xty/common/util/PermissionUtils.java diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5d2c56f..d04148e 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -179,6 +179,10 @@ android:launchMode="singleTop" android:screenOrientation="portrait" /> + + () { val dialogBind by lazy { - DialogTipNew(this,"温馨提示", "恭喜您成为中健三六五大家庭的医院,为了提供更好的信息服务,请完善您的基本信息。", "前往","取消",false,{ + DialogTipNew(this,"温馨提示", "恭喜您成为中健三六五大家庭的一员,为了提供更好的信息服务,请完善您的基本信息。", "前往","取消",false,{ RouteManager.goAct(ARouterUrl.BASE_INFO_CHANGE) EventBus.getDefault().post(LoginOrRegisterEvent()) finish() diff --git a/app/src/main/java/com/zj365/dc/activity/WatchFamilyHealthAct.kt b/app/src/main/java/com/zj365/dc/activity/WatchFamilyHealthAct.kt new file mode 100644 index 0000000..8f1630c --- /dev/null +++ b/app/src/main/java/com/zj365/dc/activity/WatchFamilyHealthAct.kt @@ -0,0 +1,43 @@ +package com.zj365.dc.activity + +import android.os.Bundle +import android.view.View +import androidx.fragment.app.Fragment +import com.alibaba.android.arouter.facade.annotation.Route +import com.xty.base.act.BaseVmAct +import com.xty.base.vm.BaseVm +import com.xty.common.arouter.ARouterUrl +import com.zj365.dc.databinding.ActWatchFamilyHealthBinding +import com.zj365.dc.fragment.DynamicManagementFrag + +@Route(path = ARouterUrl.WATCH_FAMILY_HEALTH) +class WatchFamilyHealthAct : BaseVmAct() { + + val binding by lazy { ActWatchFamilyHealthBinding.inflate(layoutInflater) } + + var showIdInfo = "" + override fun liveObserver() { + } + + override fun initView() { + super.initView() + statusBar(binding.title.mView) + binding.title.mTvTitle.text ="健康监测" + binding.title.mIvBack.setOnClickListener { + finish() + } + + showIdInfo = intent.extras!!.getString("id","") + + supportFragmentManager.beginTransaction().replace(binding.container.id, setArgumentFrag(DynamicManagementFrag(),showIdInfo)).commit() + } + + private fun setArgumentFrag(frag: Fragment, id: String = ""): Fragment { + val bundle = Bundle() + bundle.putString("id", id) + frag.arguments = bundle + return frag + } + + override fun setLayout() = binding.root +} \ No newline at end of file diff --git a/app/src/main/java/com/zj365/dc/adapter/HomeTopLayoutAdapter.kt b/app/src/main/java/com/zj365/dc/adapter/HomeTopLayoutAdapter.kt index 9c874c2..9a83158 100644 --- a/app/src/main/java/com/zj365/dc/adapter/HomeTopLayoutAdapter.kt +++ b/app/src/main/java/com/zj365/dc/adapter/HomeTopLayoutAdapter.kt @@ -19,7 +19,13 @@ class HomeTopLayoutAdapter(var mContext: Context): BaseAdapter(R.id.root).layoutParams - layoutParam.width = screenWidth /data.size + if (data.size < 4){ + layoutParam.width = screenWidth /4 + + }else{ + layoutParam.width = screenWidth /data.size + + } holder.getView(R.id.root).layoutParams = layoutParam holder.getView(R.id.img_top).setImage(context,item.imageUrl) diff --git a/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt b/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt index 5d38b08..9cf0722 100644 --- a/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt +++ b/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt @@ -100,7 +100,7 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission private val dialogInfoUn by lazy { DialogTip(requireContext(), "请完善基本信息") { - RouteManager.goAct(ARouterUrl.INFO_SIMPLE) + RouteManager.goAct(ARouterUrl.BASE_INFO_CHANGE) } } private val reqGpsPermissionDialog by lazy { @@ -117,16 +117,6 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission } } - //重签名 - private val signDialog by lazy { - AgainSignDialog(requireContext(), { - RouteManager.goAct(ARouterUrl.LOGIN_ACT) - requireActivity().finish() - }) { - RouteManager.goAct(ARouterUrl.AGAIN_SIGN) - } - } - //健康监测按钮数据集合 private var healthMonitoringList: MutableList = mutableListOf()//(小于等于9) @@ -167,12 +157,19 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission isShrinkage = MMkvHelper.getBoolean(Const.Health_Monitoring_Shrinkage + MMkvHelper.getLong(Const.USER_ID)) - showIdInfo =if (MMkvHelper.getLong(Const.USER_ID).toString() == "0") { - "" - } else { - MMkvHelper.getLong(Const.USER_ID).toString() + if(arguments?.containsKey("id") == true){ + showIdInfo = arguments?.getString("id").toString() + }else{ + showIdInfo =if (MMkvHelper.getLong(Const.USER_ID).toString() == "0") { + "" + } else { + MMkvHelper.getLong(Const.USER_ID).toString() + } + + } + //点击事件 setOnClickListener() @@ -244,21 +241,6 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission } 7 -> { //血糖 -// mHealthAdapter.xtangInfo?.apply { -// if (model == 0) { -// bundle.clear() -// bundle.putBoolean("isOpen", false) -// if (showIdInfo.isNullOrEmpty()) {//给自己开通 -// bundle.putString("id", CommonUtils.getMyUserId()) -// } else {//给他人开通 -// bundle.putString("id", showIdInfo) -// } -// -// RouteManager.goAct(ARouterUrl.XT_OPEN, bundle) -// } else { -// goPage(index) -// } -// } val deviceType = MMkvHelper.getString(Const.DEVICE_TYPE) /*if (deviceType == "X1" || deviceType == "X2") { goPage(5) @@ -310,7 +292,7 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission override fun onResume() { super.onResume() - mViewModel.getWarningMsg() + // mViewModel.getWarningMsg() } //点击事件 @@ -344,51 +326,10 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission CommonToastUtils.showToast("敬请期待") return@OnClickListener - /*val btnStr = binding.mHeader.mWearManager.text - if (btnStr == "佩戴管理") { - if (MMkvHelper.getInt(Const.Watch_Device_Type) == Const.Companion.WatchDevice.LightA3.ordinal) {//4G手表 - RouteManager.goAct(ARouterUrl.WEAR_MANAGER) - } else if (YCBBlueConnectHelper.getBlueStatus(false)) {//蓝牙手表并已经连接 - RouteManager.goAct(ARouterUrl.DEVICE_SETTING) - } else { - if (blueTooth()) { - bundle.clear() - bundle.putBoolean("isBind", true) - bundle.putString("devMac", CommonUtils.getBlueToothMac()) - RouteManager.goAct(ARouterUrl.DEVICE_CONNECT, bundle) - } else { - dialogBind.show() - } - } - } else { - RouteManager.goAct(ARouterUrl.DEVICE_CHOICE) - }*/ + } //评估 R.id.mCard -> { -// if (isDemonstrate) { -// bundle.clear() -// bundle.putBoolean("isDemonstrate", isDemonstrate) -//// RouteManager.goAct(ARouterUrl.HEALTH_24HOUR_REPORT, bundle)//新24小时 -// RouteManager.goAct(ARouterUrl.HEALTH_ESTIMATE, bundle)//新24小时 -// return@OnClickListener -// } -//// if (!canGoto24Healthresult) { -//// showToast("数据不足或数据建模中,无法查看健康评估") -//// return@OnClickListener -//// } -// CommonUtils.getMyUserInfo()?.apply { -// bundle.clear() -// bundle.putString("id", showIdInfo) -// bundle.putString( -// "openId", -// if (openId.isNullOrEmpty()) "" else openId -// ) -// bundle.putSerializable("reportBean", reportBean) -//// RouteManager.goAct(ARouterUrl.HEALTH_24HOUR_REPORT, bundle)//新24小时 -// RouteManager.goAct(ARouterUrl.HEALTH_ESTIMATE, bundle)//新24小时 -//// RouteManager.goAct(ARouterUrl.HEALTH_STATUS, bundle)//旧版健康分析改24小时分析接口调用 -// } bundle.clear() bundle.putSerializable("index", ReportVm.ReportInfoType.Hour) bundle.putString("id", showIdInfo) @@ -448,7 +389,6 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission bundle.putBoolean("isDemonstrate", isDemonstrate) bundle.putInt("pageType", 0) bundle.putString("titleName", "日报") -// RouteManager.goAct(ARouterUrl.HEALTH_REPORT, bundle)//老版(日周月年)报 RouteManager.goAct(ARouterUrl.HEALTH_SKY_HOUR_REPORT, bundle) } //周报 @@ -459,8 +399,7 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission bundle.putSerializable("index", ReportVm.ReportInfoType.Week) bundle.putBoolean("isDemonstrate", isDemonstrate) bundle.putString("titleName", "周报") -// bundle.putInt("pageType", 1) -// RouteManager.goAct(ARouterUrl.HEALTH_REPORT, bundle)//老版(日周月年)报 + RouteManager.goAct(ARouterUrl.HEALTH_WEEK_MONTH_HOUR_REPORT, bundle) } //月报 @@ -471,8 +410,6 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission bundle.putSerializable("index", ReportVm.ReportInfoType.Month) bundle.putBoolean("isDemonstrate", isDemonstrate) bundle.putString("titleName", "月报") -// bundle.putInt("pageType", 2) -// RouteManager.goAct(ARouterUrl.HEALTH_REPORT, bundle)//老版(日周月年)报 RouteManager.goAct(ARouterUrl.HEALTH_WEEK_MONTH_HOUR_REPORT, bundle) } //年报 @@ -483,8 +420,6 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission bundle.putSerializable("index", ReportVm.ReportInfoType.Year) bundle.putBoolean("isDemonstrate", isDemonstrate) bundle.putString("titleName", "年报") -// bundle.putInt("pageType", 3) -// RouteManager.goAct(ARouterUrl.HEALTH_REPORT, bundle)//老版(日周月年)报 RouteManager.goAct(ARouterUrl.HEALTH_WEEK_MONTH_HOUR_REPORT, bundle) } //24小时健康评估 @@ -577,13 +512,13 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission private fun request() { mViewModel.getAllInfo(showIdInfo, false) - mViewModel.getMySetting() + // mViewModel.getMySetting() mViewModel.getTips() mViewModel.getRank(2) if(MMkvHelper.contains(Const.LATITUDE) && MMkvHelper.contains(Const.LONGITUDE)){ mViewModel.getWeather() }else{ - if (MMkvHelper.getLong(Const.USER_ID).toString() == "0"){ + if (showIdInfo == ""){ }else{ if(EasyPermissions.hasPermissions(requireContext(), Manifest.permission.ACCESS_COARSE_LOCATION, @@ -752,47 +687,6 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission } } - /** - * 设置天气信息 - */ - private fun setWeatherInfo(weather: MainBean.Weather?) { - if (null == weather) { - binding.mHeader.tvWeather.visibility = View.GONE - } else { - weather.apply { - if (weatherNo.isNullOrEmpty()) { - binding.mHeader.tvWeather.visibility = View.GONE - return - } - - var icon = when (weatherNo) { - "32" -> {//晴天 - "晴天" - } - "44" -> {//多云 - "多云" - } - "20" -> {//阴天 - "阴天" - } - "12" -> {//雨天 - "雨天" - } - "45" -> {//雷阵雨 - "雷阵雨" - } - "16" -> {//雪 - "雪" - } - else -> { - "晴天" - } - } - binding.mHeader.tvWeather.text = "${icon} ${weatherInfo}" - } - } - } - /** * 获取所有信息 */ @@ -873,7 +767,7 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission dialogInfoUn.show() } isDemonstrate = bean.demonstrate == 1 //1 演示模式,0 普通模式 - (requireActivity() as MainActivity).isDemonstrate = isDemonstrate + // (requireActivity() as MainActivity).isDemonstrate = isDemonstrate if (isDemonstrate) { binding.mHeader.mWearInfo.visibility = View.INVISIBLE } else { @@ -881,7 +775,7 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission } - if (showIdInfo.isNotEmpty()) { //自己 + if (showIdInfo == CommonUtils.getMyUserId()) { //自己 Const.otherLiveData.value = bean } Const.battery = bean.power @@ -890,7 +784,10 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission binding.mHeader.tvNowTime.text = bean.nowDay binding.mHeader.tvLanuDate.text = bean.chinaDay - // setWeatherInfo(bean.weather) + + //设置用户头像 + setUserImage(bean.user.id.toString(), bean.user.image, bean.user.sex.toString()) + binding.mHeader.tvUserName.text = bean.user.name bean.bmiInfo?.let { binding.mHeader.mBMI.text = "BMI ${it.bmi}" @@ -912,7 +809,7 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission } else if (Const.Companion.WatchDevice.LightA3.ordinal == bean.watchType) {//如果是4G设备,设置连接状态与电量信息 } else {*/ - if (showIdInfo.isEmpty()) { //自己 + if (showIdInfo ==CommonUtils.getMyUserId()) { //自己 val localBlueMac = MMkvHelper.getString(Const.Blue_Tooth) if (YCBBlueConnectHelper.getBleNowStatus() == YCBBlueConnectHelper.BLEConnectState.DisConnect) {//如果本地有蓝牙信息且属于未连接状态,则直接连接 LogUtils.d("startConnect::${localBlueMac}") @@ -946,6 +843,8 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission } else { MMkvHelper.put(Const.DEVICE_TYPE, deviceType) } + + requestByDeviceModel() if (healthMonitoringListData.size > 9) { for ((index, healthMonitoringListBean) in healthMonitoringListData.withIndex()) { if (index < 9) { @@ -997,16 +896,6 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission return@observe } - /*if (mFamilyAdapter.position != -1) { - if (mFamilyAdapter.getItem(mFamilyAdapter.position).userJointId != it.data.user?.id) { - if (mFamilyAdapter.position == 0 && it.data.user?.id.toString() == CommonUtils.getMyUserId()) {//如果是自己,啥也不做 - - } else { - LogUtils.e("当前用户与请求用户信息不一致,不作处理!") - return@observe - } - } - }*/ reportBean = it.data @@ -1030,16 +919,6 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission healthResult, if (it.data.star.isNullOrEmpty()) 0 else it.data.star.toInt() ) -// if (healthResult == 3) { -// binding.mCom.mHealthStatus.setCompoundDrawables(null, null, null, null) -// } else { -// var drawable = ContextCompat.getDrawable( -// requireContext(), -// UserInfoDefin.healthIcon[healthResult + 1] -// ) -// drawable!!.setBounds(0, 0, drawable.minimumWidth, drawable.minimumHeight) -// binding.mCom.mHealthStatus.setCompoundDrawables(drawable, null, null, null) -// } } //个人设置信息获取 @@ -1067,9 +946,7 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission if (settingBean.user.avatarUrl.isEmpty()) "" else settingBean.user.avatarUrl }*/ - //设置用户头像 - setUserImage(settingBean.user.id, settingBean.user.avatarUrl, settingBean.user.sex.toString()) - binding.mHeader.tvUserName.text = settingBean.user.name + if (settingBean.user.bluetooth.isNullOrEmpty()) { //没有mac地址表示未绑定 // binding.mContent.visibility = View.VISIBLE @@ -1088,7 +965,7 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission val againTime = RxTimeTool.string2Milliseconds("2022-07-01 21:00:00") val signTime = RxTimeTool.string2Milliseconds(signTime) if (signTime < againTime) { - signDialog.show() + //signDialog.show() } } /* if (CommonUtils.isBlueTooth(MMkvHelper.getInt(Const.Watch_Device_Type))) {//如果是蓝牙设备 @@ -1176,12 +1053,6 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission setTips(list) } -// //步数信息 -// mViewModel.dkInfo.observe(this) { -// mHealthAdapter.dkBean = it.data -// mHealthAdapter.notifyDataSetChanged() -// } - //步数上传 mViewModel.uploadStep.observe(this) { //步数上传成功 @@ -1190,43 +1061,6 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission mViewModel.getAllInfo(showIdInfo, false) } - //我家人信息 - /* mViewModel.familyLive.observe(this) { - it.data.add(0, FamilyBean().apply { - this.fCall = "我" - }) - var selectPosition = 0 - if (showIdInfo.isNotEmpty()) { - it.data.forEachIndexed { index, familyBean -> - if (showIdInfo == familyBean.userJointId.toString()) { - selectPosition = index - return@forEachIndexed - } - } - //如果家人解绑了 则直接查自己的 - if (selectPosition == 0) { - showIdInfo = "" - } - } - -// val content = -// getString(R.string.family_num, "" + "${it.data.size - 1}") -// binding.mGriddingList.tvFamilyContent.text = setStrSpan( -// content, -// 15, -// getColor(R.color.col_25C), -// Typeface.BOLD, -// content.length - 3 - (it.data.size - 1).toString().length, -// content.length - 3 -// ) - it.data.add(FamilyBean().apply { - this.fCall = "家人" - }) - - mFamilyAdapter.position = selectPosition - mFamilyAdapter.setNewInstance(it.data) - }*/ - //手表信息组装上传 mViewModel.allDataInfo.observe(this) { if (null == it || it["data"] == null || it["data"] !is ArrayList<*>) { @@ -1333,7 +1167,6 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission when (MMkvHelper.getInt(Const.Watch_Device_Type)) {//如果是4GA3设备,则隐藏心电板块 Const.Companion.WatchDevice.LightA3.ordinal -> { getXtInfo(showIdInfo, false)//获取血糖信息 -// get24HourReportInfo(showIdInfo)//获取24小时日报 } else -> { @@ -1544,28 +1377,8 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission ) ) } - -// text = -// setStrSpan(content, 13, getColor(com.xty.health.R.color.col_ff7), Typeface.BOLD, content.length - 3 - percent.length, content.length - 3) } -// /** -// * 设置设备信息 -// */ -// private fun setBindDeviceInfo(deviceInfo: MainBean.DeviceTotal?) { -// deviceInfo?.let { -// binding.mChildView.tvXueyaNum.text = "已绑定" + it.sphygmomanometer + "台" -// binding.mChildView.tvXuetangNum.text = "已绑定" + it.bloodGlucose + "台" -// } -// binding.mChildView.llXueya.setOnClickListener { -// //已绑定血压列表 -// RouteManager.goAct(ARouterUrl.XUEYAJI_BIND_LIST, null) -// } -// binding.mChildView.llXuetang.setOnClickListener { -// //已绑定血糖列表 -// RouteManager.goAct(ARouterUrl.XUETANGYI_BIND_LIST, null) -// } -// } private fun initBlueToothStatu() { diff --git a/app/src/main/java/com/zj365/dc/fragment/HealthHomeFrag.kt b/app/src/main/java/com/zj365/dc/fragment/HealthHomeFrag.kt index 4712214..849e8e6 100644 --- a/app/src/main/java/com/zj365/dc/fragment/HealthHomeFrag.kt +++ b/app/src/main/java/com/zj365/dc/fragment/HealthHomeFrag.kt @@ -60,15 +60,6 @@ HealthHomeFrag : BaseVmFrag() { val binding by lazy { FragHealthBinding.inflate(layoutInflater) } - //重签名 - private val signDialog by lazy { - AgainSignDialog(requireContext(), { - RouteManager.goAct(ARouterUrl.LOGIN_ACT) - requireActivity().finish() - }) { - RouteManager.goAct(ARouterUrl.AGAIN_SIGN) - } - } private var canGoto24Healthresult: Boolean = true private var isDemonstrate: Boolean = false @@ -99,11 +90,6 @@ HealthHomeFrag : BaseVmFrag() { RouteManager.goAct(ARouterUrl.DEVICE_CHOICE) } } - private val dialogInfoUn by lazy { - DialogTip(requireContext(), "请完善基本信息") { - RouteManager.goAct(ARouterUrl.INFO_SIMPLE) - } - } override fun setLayout(): View = binding.root override fun initView() { super.initView() @@ -511,36 +497,6 @@ HealthHomeFrag : BaseVmFrag() { } - private var onClickListener = View.OnClickListener { - when (it.id) { - R.id.ll_health_records -> { //健康档案 - bundle.putString("id", showIdInfo) - RouteManager.goAct(ARouterUrl.HEALTH_RECORD, bundle) - } - - //防癌 - R.id.ll_cancer_screening -> { - -// onEventObject(requireContext(), UmengEventId.HealthRisk) - bundle.clear() - bundle.putString("id", showIdInfo) - RouteManager.goAct(ARouterUrl.PRVENT_CANCER, bundle) -// showToast("功能暂未开通,敬请期待") - } - //舌诊 - R.id.ll_ai_tongue_diagnosis -> { - onEventObject(requireContext(), UmengEventId.HealthRisk) - bundle.clear() - bundle.putString("id", showIdInfo) - RouteManager.goAct(ARouterUrl.TONGUE_MAIN_ACTIVITY, bundle) -// showToast("功能暂未开通,敬请期待") - } - } - } - - - - // 刷新注册 private fun refresh() { refresh.setRefresh(binding.mRefresh) { @@ -591,7 +547,6 @@ HealthHomeFrag : BaseVmFrag() { }else{ binding.mBannerCardTwo.visibility = View.VISIBLE mMiddleBannerAdapter.setDatas(it[2]) - // mMiddleBannerAdapter.notifyDataSetChanged() } @@ -601,33 +556,6 @@ HealthHomeFrag : BaseVmFrag() { mViewModel.scinceLive.observe(this) { adapterSince.setNewInstance(it.data) } - - //我家人信息 - mViewModel.familyLive.observe(this) { - mFamilyAdapter.data.clear() - it.data.add(0, FamilyBean().apply { - this.fCall = "我" - }) - var selectPosition = 0 - if (showIdInfo.isNotEmpty()) { - it.data.forEachIndexed { index, familyBean -> - if (showIdInfo == familyBean.userJointId.toString()) { - selectPosition = index - return@forEachIndexed - } - } - //如果家人解绑了 则直接查自己的 - if (selectPosition == 0) { - showIdInfo = "" - } - } - it.data.add(FamilyBean().apply { - this.fCall = "家人" - }) - mFamilyAdapter.position = selectPosition - mFamilyAdapter.setNewInstance(it.data) - } - mViewModel.layoutLive.observe(this){ layoutTopAdapter.setNewInstance(it.data.top) if(it.data.middle.size <= 6){ @@ -663,22 +591,8 @@ HealthHomeFrag : BaseVmFrag() { binding.mCom.mRecycle.adapter = mFamilyAdapter mFamilyAdapter.setOnItemClickListener { adapter, view, position -> if (position == mFamilyAdapter.data.size - 1) { //第一期暂不做 - /* onEventObject(requireContext(), UmengEventId.Family) - RouteManager.goAct(ARouterUrl.BIND_FAMILY)*/ - RouteManager.goAct(ARouterUrl.FAMILY_HEALTH_ACT) - } else { - var bean = adapter.getItem(position) as FamilyBean - showIdInfo = if (bean.id == 0) { - showFamily = null - "" - } else { - showFamily = bean - bean.userJointId.toString() - } - mFamilyAdapter.position = position - mFamilyAdapter.notifyDataSetChanged() - EventBus.getDefault().post(ChangeFamilyEvent(showIdInfo)) + RouteManager.goAct(ARouterUrl.FAMILY_HEALTH_ACT) } } @@ -700,28 +614,6 @@ HealthHomeFrag : BaseVmFrag() { reqGpsPermissionDialog.show() } - //个人信息修改 主界面刷新 - @Subscribe(threadMode = ThreadMode.MAIN) - fun refresh(event: MyInfoEvent) { - if (dialogBind.isShowing) { - dialogBind.dismiss() - } - request() - } - - - //家人信息改变 刷新 - @Subscribe(threadMode = ThreadMode.MAIN) - fun familyChange(event: FamilyEvent) { - // mViewModel.getMyFamilyList() - } - - - - @Subscribe(threadMode = ThreadMode.MAIN) - fun againSignEvent(event: AgainSignEvent) { - signDialog.dismiss() - } @Subscribe(threadMode = ThreadMode.MAIN) fun loginOrRegisterChange(event: LoginOrRegisterEvent){ showIdInfo =if (MMkvHelper.getLong(Const.USER_ID).toString() == "0") { diff --git a/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt b/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt index 5ee509a..b501979 100644 --- a/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt +++ b/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt @@ -6,6 +6,7 @@ import android.net.Uri import android.os.Build import android.view.View import androidx.annotation.RequiresApi +import cn.jpush.android.api.JPushInterface import com.xty.base.dialog.AppUpdateDialog import com.xty.base.fragment.BaseVmFrag import com.xty.common.* @@ -65,12 +66,6 @@ class MineFrag : BaseVmFrag(),EasyPermissions.PermissionCallbacks { var inviteCustodyBean: InviteCustodyBean? = null - private val dialogBind by lazy { - DialogTip(requireContext(), "需绑定中健三六五健康手表,才能查看", "去绑定") { - RouteManager.goAct(ARouterUrl.DEVICE_CHOICE) - } - } - val dialogInvite by lazy { DialogTipNew(requireContext(), "监护邀请","", "确认","取消",false,{ inviteCustodyBean?.let { @@ -185,13 +180,6 @@ class MineFrag : BaseVmFrag(),EasyPermissions.PermissionCallbacks { RouteManager.goAct(ARouterUrl.SUBMIT_REPORTMain, bundle) } } - /*binding.llOrder.setOnClickListener { - if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){ - RouteManager.goAct(ARouterUrl.LOGIN_ACT) - }else { - CommonToastUtils.showToast("敬请期待") - } - }*/ binding.mllMember.setOnClickListener { if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){ @@ -250,9 +238,7 @@ class MineFrag : BaseVmFrag(),EasyPermissions.PermissionCallbacks { bundle.putBoolean("isDemonstrate", isDemonstrate) bundle.putInt("pageType", 0) bundle.putString("titleName", "日报") -// RouteManager.goAct(ARouterUrl.HEALTH_REPORT, bundle)//老版(日周月年)报 RouteManager.goAct(ARouterUrl.HEALTH_SKY_HOUR_REPORT, bundle) - // CommonToastUtils.showToast("敬请期待") } } binding.llStartBs.setOnClickListener { @@ -329,10 +315,6 @@ class MineFrag : BaseVmFrag(),EasyPermissions.PermissionCallbacks { RouteManager.goAct(ARouterUrl.LOGIN_ACT) }else { CommonToastUtils.showToast("敬请期待") - - /* bundle.clear() - bundle.putString("id", user?.id) - RouteManager.goAct(ARouterUrl.ORDER_LIST, bundle)*/ } } @@ -392,10 +374,8 @@ class MineFrag : BaseVmFrag(),EasyPermissions.PermissionCallbacks { private fun refresh() { refresh.setRefresh(binding.mRefresh) { mViewModel.getMySetting() -// } mViewModel.getAllInfo(showIdInfo,false) -// mViewModel.getScore(1) mViewModel.searchInviteInfo() } } @@ -471,6 +451,14 @@ class MineFrag : BaseVmFrag(),EasyPermissions.PermissionCallbacks { mViewModel.settingLive.observe(this) { if (null == it.data) return@observe it.data.let { settingBean -> + + if (BuildConfig.isRelease) {//设置极光推送别名 + JPushInterface.setAlias( + requireContext(), + settingBean.user.id.toInt(), + "user_release_${settingBean.user.id}" + ) + } Const.mainLiveData.value = settingBean // binding.mNoNetwork.root.visibility = View.GONE } diff --git a/app/src/main/java/com/zj365/dc/fragment/ServerFrag.kt b/app/src/main/java/com/zj365/dc/fragment/ServerFrag.kt deleted file mode 100644 index 427d141..0000000 --- a/app/src/main/java/com/zj365/dc/fragment/ServerFrag.kt +++ /dev/null @@ -1,226 +0,0 @@ -/* -package com.zj365.dc.fragment - -import android.view.View -import androidx.recyclerview.widget.* -import com.tencent.qcloud.tuikit.tuiconversation.classicui.util.TUIConversationUtils -import com.xty.base.fragment.BaseVmFrag -import com.xty.common.* -import com.xty.common.arouter.ARouterUrl -import com.xty.common.arouter.RouteManager -import com.xty.common.util.CommonUtils -import com.xty.network.model.ExpertBean -import com.xty.network.model.KeeperBean -import com.xty.network.model.ScienceBean - -class ServerFrag : BaseVmFrag() { - val binding by lazy { FragServerBinding.inflate(layoutInflater) } - val adapterSince by lazy { ScienceAdapter() } - val gjAdalter by lazy { GjAdapter() } - val proAdalter by lazy { ProAdapter() } - - val sexIcon by lazy { arrayOf(R.mipmap.ic_male, R.mipmap.ic_female) } - var clickOnline: KeeperBean? = null - override fun setLayout(): View = binding.root - - override fun setViewModel() = ServerVm() - - override fun observer() { - mViewModel.keeperLive.observe(this) { - binding.mNoNetwork.root.visibility = View.GONE - if (!it.data.isNullOrEmpty()) { - val keeperBean = it.data[0] - clickOnline = keeperBean - binding.mDocName.text = keeperBean.realname - binding.mDocName.tag = keeperBean.id - binding.mPosition.text = keeperBean.positionName - binding.mImageSex.setImageResource(sexIcon[keeperBean.getGenderValue()]) - binding.mTvLoc.text = - "${if (keeperBean.organization.isNullOrEmpty()) "无" else keeperBean.organization} ${if (keeperBean.dictName.isNullOrEmpty()) "无" else keeperBean.dictName}" - binding.mTitleGj.visibility = View.VISIBLE -// binding.mViewGj.visibility = View.VISIBLE - binding.mPhoto.tag = - if (keeperBean.avatar.isNullOrEmpty()) "" else getImageUrl(keeperBean.avatar) - binding.mPhoto.apply { - setImageUser(requireContext(), getImageUrl(keeperBean.avatar)) - } - binding.llgj.visibility = View.VISIBLE - } else { - binding.llgj.visibility = View.GONE - binding.mTitleGj.visibility = View.GONE -// binding.mViewGj.visibility = View.GONE - } - - } - mViewModel.keeperLiveList.observe(this) { - binding.mNoNetwork.root.visibility = View.GONE - var listAll = mutableListOf>() - var step = (0 until it.data.size).step(2) - for (i in step) { - var list = mutableListOf() - list.add(it.data[i]) - if (it.data.size > i + 1) { - list.add(it.data[i + 1]) - } - listAll.add(list) - } - gjAdalter.setNewInstance(it.data) - - } - mViewModel.scinceLive.observe(this) { - binding.mNoNetwork.root.visibility = View.GONE - adapterSince.setNewInstance(it.data) - } - - mViewModel.expertInfoList.observe(this) { - var listAll = mutableListOf>() - var step = (0 until it.data.records.size) - for (i in step) { - var list = mutableListOf() - list.add(it.data.records[i]) - listAll.add(list) - } - proAdalter.setNewInstance(it.data.records) - } - } - - override fun initView() { - super.initView() - statusBar(binding.mStatusBar) - initProAdapter() - initGjAdapter() - initAdapter() - binding.mNoNetwork.mRefreshBtn.isSelected = true - binding.mNoNetwork.mRefreshBtn.setOnClickListener { - mViewModel.getExpertInfoList(1, 20) - mViewModel.getKeeper() - mViewModel.getKeeperList() - mViewModel.getScinceList() - - } - binding.mTvOnLine.setOnClickListener { - clickOnline?.let { - bundle.clear() - bundle.putSerializable("bean", clickOnline) - RouteManager.goAct(ARouterUrl.ONLINE_MAKE, bundle) - } - - } - binding.llNext.setOnClickListener { - onEventObject(requireContext(), UmengEventId.OperGuide) - RouteManager.goAct(ARouterUrl.GUIDE) - } - mViewModel.getExpertInfoList(1, 20) - mViewModel.getKeeper() - mViewModel.getKeeperList() - mViewModel.getScinceList() - - binding.clGj.setOnClickListener { - bundle.clear() - CommonUtils.getMyUserInfo()?.let { - val name = binding.mDocName.text?.toString() - val toUserId = binding.mDocName.tag?.toString() - val fromUserId = id?.toString() - val chatImage = binding.mPhoto.tag?.toString() - if (toUserId.isNullOrEmpty() || fromUserId.isNullOrEmpty()) { - return@setOnClickListener - } -// bundle.putString("title",name) -// bundle.putString("toUserId",toUserId) -// bundle.putString("fromUserId", fromUserId) -// bundle.putString("chatImage", chatImage) -// RouteManager.goAct(ARouterUrl.CHAT_MSG,bundle) - TUIConversationUtils.startAYSingleChatActivity("man_$toUserId", name, chatImage); - - } - - } - - - - refresh() - } - - override fun onResume() { - super.onResume() - if (!checkNetworkAvailable(requireContext())) { - binding.mNoNetwork.root.visibility = View.VISIBLE - } else { -// if (binding.mNoNetwork.root.visibility == View.VISIBLE) { - LogUtils.e("yansu:4444444444444444444444") - mViewModel.getExpertInfoList(1, 20) - mViewModel.getKeeper() - mViewModel.getKeeperList() -// mViewModel.getScinceList() -// } - } - } - - // 刷新注册 - private fun refresh() { - refresh.setRefresh(binding.mRefresh) { - mViewModel.getExpertInfoList(1, 20) - mViewModel.getKeeper() - mViewModel.getKeeperList() - mViewModel.getScinceList() - } - } - - private fun initProAdapter() { - binding.mRecycleprofession.layoutManager = - LinearLayoutManager(requireContext(), RecyclerView.HORIZONTAL, false) - binding.mRecycleprofession.adapter = proAdalter -// val pageHelper = LinearSnapHelper() -// pageHelper.attachToRecyclerView(binding.mRecycleprofession) - gjAdalter.addChildClickViewIds(R.id.mImage, R.id.card1) - gjAdalter.setOnItemChildClickListener { adapter, view, position -> - when (view.id) { - R.id.mImage -> { - bundle.clear() - val bean = adapter.getItem(position) as KeeperBean; - bundle.putSerializable("url", bean.introUrl) - bundle.putString("titleName", requireContext().getString(R.string.title_name)) - RouteManager.goAct(ARouterUrl.EXPERT_CHIEF, bundle) - } - R.id.card1 -> { - bundle.clear() - val bean = adapter.getItem(position) as KeeperBean; - bundle.putSerializable("bean", bean) - RouteManager.goAct(ARouterUrl.HOUSEKEEP_INFO, bundle) - } - } - } - proAdalter.setOnItemClickListener { adapter, view, position -> - bundle.clear() - val bean = adapter.getItem(position) as ExpertBean; - bundle.putSerializable("url", bean.infoPhotoUrl) - RouteManager.goAct(ARouterUrl.EXPERT_CHIEF, bundle) - - } - } - - private fun initGjAdapter() { - binding.mRecycle.layoutManager = - LinearLayoutManager(requireContext(), RecyclerView.HORIZONTAL, false) - binding.mRecycle.adapter = gjAdalter -// val pageHelper = LinearSnapHelper() -// pageHelper.attachToRecyclerView(binding.mRecycle) - - } - - private fun initAdapter() { - binding.mRecycleNews.layoutManager = LinearLayoutManager(requireContext()) - binding.mRecycleNews.adapter = adapterSince - adapterSince.setOnItemClickListener { adapter, view, position -> - bundle.clear() - var bean = adapter.getItem(position) as ScienceBean - bundle.putSerializable("bean", bean) - onEventObject(requireContext(), UmengEventId.HealthScience, "${bean.name}") - RouteManager.goAct(ARouterUrl.SCIENCE_DETAIL, bundle) - - } - - } - - -}*/ diff --git a/app/src/main/res/layout/act_watch_family_health.xml b/app/src/main/res/layout/act_watch_family_health.xml new file mode 100644 index 0000000..9dce0c5 --- /dev/null +++ b/app/src/main/res/layout/act_watch_family_health.xml @@ -0,0 +1,17 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/frag_mine.xml b/app/src/main/res/layout/frag_mine.xml index dbb4e12..5628452 100644 --- a/app/src/main/res/layout/frag_mine.xml +++ b/app/src/main/res/layout/frag_mine.xml @@ -20,7 +20,6 @@ android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" - android:layout_marginTop="@dimen/dp_30" app:srlAccentColor="@color/white"> { + if (listener != null) { + listener.onSuccess(); + } + }) + .onDenied(permissions12 -> { + if (AndPermission.hasAlwaysDeniedPermission(context, permissions12)) { + mSetting.showSetting(permissions12); + } + }) + .start(); + } + + + /** + * @param context 上下文 + * @param listener 回调成功 + * @param failedListener 回调失败 + * @param permissions 多个权限 + */ + @SuppressLint("WrongConstant") + public static void requestPermission(final Context context, final PermissionSuccessListener listener, final PermissionFailedListener failedListener, String... permissions) { + final PermissionSetting mSetting = new PermissionSetting(context); + AndPermission.with(context) + .runtime() + .permission(permissions) + .rationale(new DefaultRationale()) + .onGranted(permissions1 -> { + if (listener != null) { + listener.onSuccess(); + } + }) + .onDenied(permissions12 -> { + if (failedListener != null) + failedListener.onFailed(); + if (AndPermission.hasAlwaysDeniedPermission(context, permissions12)) { + mSetting.showSetting(permissions12); + } + }) + .start(); + } + + /** + * 跳转到权限设置 + * + * @param activity + */ + public static void toPermissionSetting(Activity activity) { + if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP_MR1) { + toSystemConfig(activity); + } else { + try { + toApplicationInfo(activity); + } catch (Exception e) { + e.printStackTrace(); + toSystemConfig(activity); + } + } + } + + /** + * 应用信息界面 + * + * @param activity + */ + public static void toApplicationInfo(Activity activity) { + Intent localIntent = new Intent(); + localIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + localIntent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); + localIntent.setData(Uri.fromParts("package", activity.getPackageName(), null)); + activity.startActivity(localIntent); + } + + /** + * 系统设置界面 + * + * @param activity + */ + public static void toSystemConfig(Activity activity) { + try { + Intent intent = new Intent(Settings.ACTION_SETTINGS); + activity.startActivity(intent); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * @description:默认权限设置提示dialog + * @author: 张慧彪 + * @time 18-7-26 下午2:15 + **/ + public final static class DefaultRationale implements Rationale> { + + @Override + public void showRationale(Context context, List data, RequestExecutor executor) { + List permissionNames = Permission.transformText(context, data); + String message = context.getString(R.string.message_permission_rationale, TextUtils.join("\n", permissionNames)); + + new androidx.appcompat.app.AlertDialog.Builder(context) + .setTitle(R.string.title_dialog) + .setMessage(message) + .setPositiveButton(R.string.resume, (dialog, which) -> executor.execute()) + .setNegativeButton(R.string.cancel, (dialog, which) -> executor.cancel()) + .show(); + } + } + + /** + * @description:权限设置dialog + * @author: 张慧彪 + * @time 18-7-26 下午2:14 + **/ + public final static class PermissionSetting { + + private final Context mContext; + + public PermissionSetting(Context context) { + this.mContext = context; + } + + public void showSetting(final List permissions) { + List permissionNames = Permission.transformText(mContext, permissions); + String message = mContext.getString(R.string.message_permission_always_failed, TextUtils.join("\n", permissionNames)); + + new androidx.appcompat.app.AlertDialog.Builder(mContext) + .setCancelable(false) + .setTitle(R.string.title_dialog) + .setMessage(message) + .setPositiveButton(R.string.setting, (dialog, which) -> { + setPermission(mContext); + }) + .setNegativeButton(R.string.no, (dialog, which) -> { + }) + .show(); + } + + /** + * Set permissions. + */ + private void setPermission(Context context) { + AndPermission.with(context) + .runtime() + .setting() + .start(REQUEST_CODE_SETTING); + } + } +} diff --git a/common/src/main/res/values/strings.xml b/common/src/main/res/values/strings.xml index a61daa0..a25f741 100644 --- a/common/src/main/res/values/strings.xml +++ b/common/src/main/res/values/strings.xml @@ -550,6 +550,13 @@ %1$s]]> %1$s]]> + 提示 + 允许以下权限以便程序继续执行:\n\n%1$s + 我们需要以下权限,请在设置中为我们开启:\n\n%1$s + 继续 + + + 中健三六五用户个人信息保护指引 非常感谢您使用中健三六五APP,我们深知保护个人隐私的重要性,所以请您在使用前,仔细阅读并充分理解《用户协议》和《隐私政策》的内容。\n如果您同意《用户协议》和《隐私政策》,请点击“同意并使用”开始使用我们的产品和服务。\n谨记中健三六五健康数据仅作为参考,不作为诊断依据。 同意并继续 diff --git a/config.gradle b/config.gradle index a30a264..dd6d4ec 100644 --- a/config.gradle +++ b/config.gradle @@ -25,17 +25,17 @@ ext { url = [ //正式环境 - debug_url : "https://app.zhongjian365.com/app/", + /*debug_url : "https://app.zhongjian365.com/app/", release_url: "https://app.zhongjian365.com/app/", h5_debug_url : "https://built.zhongjian365.com/", - h5_release_url : "https://built.zhongjian365.com/" + h5_release_url : "https://built.zhongjian365.com/"*/ //测试环境 - /* debug_url : "http://java01.zhongjian365.com/app/", - release_url: "http://java01.zhongjian365.com/app/",*/ + debug_url : "http://java01.zhongjian365.com/app/", + release_url: "http://java01.zhongjian365.com/app/", - /* h5_debug_url : "http://testbuilt.zhongjian365.com/", - h5_release_url : "http://testbuilt.zhongjian365.com/"*/ + h5_debug_url : "http://testbuilt.zhongjian365.com/", + h5_release_url : "http://testbuilt.zhongjian365.com/" ] @@ -169,6 +169,7 @@ ext { stream : 'com.annimon:stream:1.2.1', rxjave : 'io.reactivex.rxjava2:rxjava:2.2.8', rxandroid : 'io.reactivex.rxjava2:rxandroid:2.1.1', + permission : 'com.yanzhenjie:permission:2.0.3', //seekbar seekbar : 'com.github.Jay-Goo:RangeSeekBar:v3.0.0' diff --git a/health/src/main/java/com/zj365/health/act/familyhealth/FamilyHealthAct.kt b/health/src/main/java/com/zj365/health/act/familyhealth/FamilyHealthAct.kt index d1e6f3b..6ff4538 100644 --- a/health/src/main/java/com/zj365/health/act/familyhealth/FamilyHealthAct.kt +++ b/health/src/main/java/com/zj365/health/act/familyhealth/FamilyHealthAct.kt @@ -93,6 +93,15 @@ class FamilyHealthAct : BaseListAct() { R.id.user_avatar_recycler ->{ RouteManager.goAct(ARouterUrl.FAMILY_GUARDIAN_LIST_ACT) } + R.id.tv_current_time ->{ + RouteManager.goAct(ARouterUrl.FAMILY_HEALTH_REAL_TIME_ACT) + + } + R.id.tv_watch ->{ + bundle.clear() + bundle.putString("id",familyHealthBean.userId.toString()) + RouteManager.goAct(ARouterUrl.WATCH_FAMILY_HEALTH,bundle) + } } } } diff --git a/health/src/main/java/com/zj365/health/act/familyhealth/FamilyHealthRealTimeAct.kt b/health/src/main/java/com/zj365/health/act/familyhealth/FamilyHealthRealTimeAct.kt index 9046763..cb0d845 100644 --- a/health/src/main/java/com/zj365/health/act/familyhealth/FamilyHealthRealTimeAct.kt +++ b/health/src/main/java/com/zj365/health/act/familyhealth/FamilyHealthRealTimeAct.kt @@ -6,6 +6,11 @@ import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.alibaba.android.arouter.facade.annotation.Route +import com.amap.api.maps.AMap +import com.amap.api.maps.CameraUpdateFactory +import com.amap.api.maps.UiSettings +import com.amap.api.maps.model.CameraPosition +import com.amap.api.maps.model.LatLng import com.xty.base.act.BaseVmAct import com.xty.base.vm.BaseVm import com.xty.common.arouter.ARouterUrl @@ -22,6 +27,10 @@ class FamilyHealthRealTimeAct : BaseVmAct() { val binding by lazy { ActFamilyHealthRealTimeBinding.inflate(layoutInflater) } val mAdapter by lazy { FamilyHealthRealTimeAdapter() } + + private var aMap: AMap? = null + + private var latLng = LatLng(28.206548, 112.893712) //坐标 override fun liveObserver() { } @@ -34,6 +43,18 @@ class FamilyHealthRealTimeAct : BaseVmAct() { finish() } initAdapter() + + aMap = binding.mapView.map + aMap?.let { + val uiSettings: UiSettings = it.uiSettings + uiSettings.setLogoBottomMargin(-50) //隐藏logo + uiSettings.isZoomControlsEnabled=false + + var cameraUpdate = CameraUpdateFactory.newCameraPosition( + CameraPosition(latLng, 15f, 0f, 0f) + ) + it.moveCamera(cameraUpdate) + } } fun initAdapter(){ diff --git a/mine/src/main/res/layout/act_base_info_change.xml b/mine/src/main/res/layout/act_base_info_change.xml index 0bfcef0..7773d96 100644 --- a/mine/src/main/res/layout/act_base_info_change.xml +++ b/mine/src/main/res/layout/act_base_info_change.xml @@ -654,6 +654,7 @@