diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 2e1925b..91ab262 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -383,6 +383,22 @@
android:taskAffinity="com.xty.healthuser"
android:theme="@style/Theme.AppCompat.NoActionBar.Transparent" />
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/zj365/dc/activity/CalorieAnalyzeAct.kt b/app/src/main/java/com/zj365/dc/activity/CalorieAnalyzeAct.kt
index 6565082..6673fe3 100644
--- a/app/src/main/java/com/zj365/dc/activity/CalorieAnalyzeAct.kt
+++ b/app/src/main/java/com/zj365/dc/activity/CalorieAnalyzeAct.kt
@@ -1,15 +1,20 @@
package com.zj365.dc.activity
+import android.content.Intent
import android.view.LayoutInflater
import android.widget.TextView
import com.alibaba.android.arouter.facade.annotation.Route
import com.google.android.material.bottomsheet.BottomSheetDialog
+import com.luck.picture.lib.PictureSelector
+import com.luck.picture.lib.config.PictureConfig
import com.luck.picture.lib.config.PictureMimeType
import com.xty.base.act.BaseVmAct
import com.xty.base.vm.BaseVm
import com.xty.common.arouter.ARouterUrl
+import com.xty.common.arouter.RouteManager
import com.xty.common.picture.PictureUtils
import com.zj365.dc.databinding.ActCalorieAnalyzeBinding
+import com.zj365.dc.vm.DietManagementVm
import com.zj365.health.R
@Route(path = ARouterUrl.CALORIE_ANALYZE)
@@ -17,6 +22,11 @@ class CalorieAnalyzeAct : BaseVmAct() {
val binding by lazy { ActCalorieAnalyzeBinding.inflate(layoutInflater) }
+ var type:String = "1"//类型 1-菜品 2-果蔬 3-零食
+
+ var fileUrl:String? = null //当前选择的文件的路径
+
+
var bottomSheetDialog: BottomSheetDialog? = null
override fun liveObserver() {
@@ -38,14 +48,17 @@ class CalorieAnalyzeAct : BaseVmAct() {
binding.tvDishes.setOnClickListener {
bottomSheetDialog?.show()
+ type = "1"
}
binding.tvFruitVegetable.setOnClickListener {
bottomSheetDialog?.show()
+ type = "2"
}
binding.tvSnack.setOnClickListener {
bottomSheetDialog?.show()
+ type = "3"
}
@@ -83,4 +96,30 @@ class CalorieAnalyzeAct : BaseVmAct() {
}
}
+
+ override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+ super.onActivityResult(requestCode, resultCode, data)
+
+ if (resultCode === RESULT_OK) {
+ when (requestCode) {
+ PictureConfig.CHOOSE_REQUEST -> {
+ var result = PictureSelector.obtainMultipleResult(data)
+ if (result.size > 0) {
+ if (result.isNotEmpty()) {
+ fileUrl = result[0].compressPath
+
+ fileUrl?.let {
+ bundle.clear()
+ bundle.putString("type",type)
+ bundle.putString("fileUrl",fileUrl)
+ RouteManager.goAct(ARouterUrl.RECOGNIZE_RESULT,bundle)
+ }
+
+ }
+ }
+ }
+
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/zj365/dc/activity/DietManagementAct.kt b/app/src/main/java/com/zj365/dc/activity/DietManagementAct.kt
index bae5f61..679b87d 100644
--- a/app/src/main/java/com/zj365/dc/activity/DietManagementAct.kt
+++ b/app/src/main/java/com/zj365/dc/activity/DietManagementAct.kt
@@ -13,6 +13,8 @@ import com.zj365.dc.databinding.ActDietManagementBinding
class DietManagementAct : BaseVmAct(){
val binding by lazy{ ActDietManagementBinding.inflate(layoutInflater)}
+
+
override fun liveObserver() {
}
diff --git a/app/src/main/java/com/zj365/dc/activity/LoginAct.kt b/app/src/main/java/com/zj365/dc/activity/LoginAct.kt
index af5126c..7118e11 100644
--- a/app/src/main/java/com/zj365/dc/activity/LoginAct.kt
+++ b/app/src/main/java/com/zj365/dc/activity/LoginAct.kt
@@ -5,7 +5,6 @@ import android.text.*
import android.text.method.HideReturnsTransformationMethod
import android.text.method.PasswordTransformationMethod
import android.text.style.ClickableSpan
-import android.util.Log
import android.view.View
import android.widget.EditText
import androidx.core.content.ContextCompat
@@ -14,8 +13,6 @@ import com.alibaba.android.arouter.facade.annotation.Route
import com.androidkun.xtablayout.XTabLayout
import com.tamsiree.rxkit.RxKeyboardTool
import com.tamsiree.rxkit.RxRegTool
-import com.tencent.qcloud.tuicore.TUILogin
-import com.tencent.qcloud.tuicore.interfaces.TUICallback
import com.xty.base.act.BaseVmAct
import com.xty.base.dialog.AppUpdateDialog
import com.xty.common.*
@@ -27,6 +24,8 @@ import com.xty.common.util.CommonToastUtils
import com.xty.network.model.WxInfoBean
import com.zj365.dc.databinding.ActLoginBinding
import com.zj365.dc.vm.LoginVm
+import com.zj365.health.weight.DialogTip
+import com.zj365.health.weight.DialogTipNew
import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
@@ -44,6 +43,17 @@ class LoginAct : BaseVmAct() {
var wxBean: WxInfoBean? = null
var tabName = arrayOf("账号密码","验证码")
+
+
+ val dialogBind by lazy {
+
+ DialogTipNew(this, "恭喜您成为中健三六五大家庭的医院,为了提供更好的信息服务,请完善您的基本信息。", "前往","取消",false,{
+ RouteManager.goAct(ARouterUrl.BASE_INFO_CHANGE)
+ }){
+ EventBus.getDefault().post(LoginOrRegisterEvent())
+ finish()
+ }
+ }
val dialog by lazy {
AppUpdateDialog(this){
if (it){
@@ -143,7 +153,7 @@ class LoginAct : BaseVmAct() {
var span = SpannableString(getString(R.string.private_info))
span.setSpan(object : ClickableSpan() {
override fun onClick(widget: View) {
- bundle.clear()
+ /* bundle.clear()
bundle.putString("title", "用户协议")
bundle.putInt("type", Const.AGREEMENT_1)
RouteManager.goActRequest(
@@ -151,7 +161,12 @@ class LoginAct : BaseVmAct() {
this@LoginAct,
USER_AGREEMENT,
bundle
- )
+ )*/
+
+ bundle.clear()
+ bundle.putString("title", "用户协议")
+ bundle.putString("url", "https://dc.zhongjian365.com/agreement.html")
+ RouteManager.goAct(ARouterUrl.AGREEMNT_READ_WEB_ACT, bundle)
}
override fun updateDrawState(ds: TextPaint) {
@@ -164,7 +179,7 @@ class LoginAct : BaseVmAct() {
override fun onClick(widget: View) {
bundle.clear()
bundle.putString("title", "隐私政策")
- bundle.putString("url", "https://auprty.com/app/static/app/privacy.html")
+ bundle.putString("url", "https://dc.zhongjian365.com/privacy.html")
RouteManager.goAct(ARouterUrl.AGREEMNT_READ_WEB_ACT, bundle)
}
@@ -265,11 +280,16 @@ class LoginAct : BaseVmAct() {
override fun liveObserver() {
mViewModel.mLogin.observe(this) {
loadingView.dismiss()
+ if (it.data.isPerfect == 0){
+ dialogBind.show()
+ }else{
+ EventBus.getDefault().post(LoginOrRegisterEvent())
+ finish()
+ }
// initTab()
// mViewModel.getImUserSig("user_${it.data.id}")
// RouteManager.goAct(ARouterUrl.MAIN_ACT)
- EventBus.getDefault().post(LoginOrRegisterEvent())
- finish()
+
}
// mViewModel.loginWx.observe(this) {
// loadingView.dismiss()
@@ -281,7 +301,7 @@ class LoginAct : BaseVmAct() {
initTab()
mViewModel.getImUserSig("user_${it}")
}*/
- mViewModel.getImUserSig.observe(this) {
+ /* mViewModel.getImUserSig.observe(this) {
Log.e("simon", "login"+it.data)
TUILogin.login(
applicationContext,
@@ -300,7 +320,7 @@ class LoginAct : BaseVmAct() {
}
})
- }
+ }*/
mViewModel.codeLive.observe(this) {
timeStart()
diff --git a/app/src/main/java/com/zj365/dc/activity/MainActivity.kt b/app/src/main/java/com/zj365/dc/activity/MainActivity.kt
index 0f6ab0b..8f208c5 100644
--- a/app/src/main/java/com/zj365/dc/activity/MainActivity.kt
+++ b/app/src/main/java/com/zj365/dc/activity/MainActivity.kt
@@ -1,9 +1,11 @@
package com.zj365.dc.activity
+import android.Manifest
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
+import android.net.Uri
import android.os.Build
import android.util.Log
import android.view.LayoutInflater
@@ -17,6 +19,8 @@ import androidx.localbroadcastmanager.content.LocalBroadcastManager
import cn.jpush.android.api.JPushInterface
import com.alibaba.android.arouter.facade.annotation.Route
import com.alibaba.fastjson.JSON
+import com.amap.api.location.AMapLocationClient
+import com.amap.api.location.AMapLocationClientOption
import com.google.android.material.bottomnavigation.BottomNavigationItemView
import com.google.android.material.bottomnavigation.BottomNavigationMenuView
import com.lifesense.android.ble.core.serializer.AbstractMeasureData
@@ -24,17 +28,20 @@ import com.lifesense.android.ble.device.fatscale.model.WeightMeasureData
import com.tamsiree.rxkit.RxActivityTool
import com.tamsiree.rxkit.RxSPTool
import com.tencent.qcloud.tuicore.TUIConstants
+import com.tencent.qcloud.tuikit.tuichat.util.PermissionHelper
import com.xty.base.act.BaseVmAct
import com.xty.base.dialog.AppUpdateDialog
import com.xty.base.vp2.VpAdapter
import com.xty.common.Const
import com.xty.common.MMkvHelper
+import com.xty.common.aMapUtils.AmapInit
import com.xty.common.arouter.ARouterUrl
import com.xty.common.arouter.RouteManager
import com.xty.common.bracelet.checkBlueConnectPermission
import com.xty.common.event.MeasureWeightEvent
import com.xty.common.event.MqttReceive
import com.xty.common.util.CommonToastUtils
+import com.xty.common.util.ViewScreenshotUtils
import com.zj365.dc.BuildConfig
import com.zj365.dc.R
import com.zj365.dc.databinding.ActivityMainBinding
@@ -45,16 +52,18 @@ import com.zj365.dc.fragment.MineFrag
import com.zj365.dc.vm.MainVm
import com.zj365.health.act.binddevice.BaseDeviceBindListAct
import com.zj365.health.act.binddevice.BlueUtil
+import com.zj365.mime.act.DevInfoAct
import io.reactivex.functions.Consumer
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
+import pub.devrel.easypermissions.EasyPermissions
import java.util.Date
@Route(path = ARouterUrl.MAIN_ACT)
-class MainActivity : BaseVmAct(), Consumer {
+class MainActivity : BaseVmAct(), Consumer {
private val binding by lazy { ActivityMainBinding.inflate(layoutInflater) }
override fun setLayout(): View = binding.root
@@ -67,6 +76,9 @@ class MainActivity : BaseVmAct(), Consumer {
private var unreadCountReceiver: BroadcastReceiver? = null
private var badegView: View? = null
+ private var mLocationClient: AMapLocationClient? = null
+ private var mLocationOption: AMapLocationClientOption? = null
+
private val dialog by lazy {
AppUpdateDialog(this) {
if (it) {
@@ -100,17 +112,7 @@ class MainActivity : BaseVmAct(), Consumer {
HealthHomeFrag(),
// Fragment(),
DynamicManagementFrag(),
- MessageFragment()
- /*TUIConversationFragment(
- if (RxSPTool.getString(this, Const.UnReadSysMessageContentKey)
- .isNullOrEmpty()
- ) "用户预约提醒,新增用户提醒"
- else RxSPTool.getString(this, Const.UnReadSysMessageContentKey),
- if (RxSPTool.getString(this, Const.UnReadSysMessageTimeKey)
- .isNullOrEmpty()
- ) Date().time.toString()
- else RxSPTool.getString(this, Const.UnReadSysMessageTimeKey)
- )*/,
+ MessageFragment(),
MineFrag()
)
}
@@ -123,23 +125,8 @@ class MainActivity : BaseVmAct(), Consumer {
initBottomNav()
addNv()
// mViewModel.getVersionNew()
-/* val loginStatus = V2TIMManager.getInstance().loginStatus
- Log.e("yansu", "loginStatus ${loginStatus}")
- if (loginStatus != V2TIMManager.V2TIM_STATUS_LOGINED) {
- Log.e("yansu", "请求 ${MMkvHelper.getString(Const.USER_ID)}")
- mViewModel.getImUserSig("user_" + MMkvHelper.getLong(Const.USER_ID))
- }*/
initUnreadCountReceiver()
JPushInterface.setBadgeNumber(this, 0)
-// //前台空服务
-// val service = RouteManager.getAny(ARouterUrl.NONE_SERVICE) as Service
-// intent.setClass(this,service::class.java)
-//
-// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
-// startForegroundService(intent)
-// } else{
-// startService(intent)
-// }
//请求用户设备信息
val userId = if (MMkvHelper.getLong(Const.USER_ID).toString() == "0") {
@@ -148,25 +135,20 @@ class MainActivity : BaseVmAct(), Consumer {
MMkvHelper.getLong(Const.USER_ID).toString()
}
mViewModel.getUserEquipmentInformationizationRequest(userId)
- mViewModel.getBindList(BaseDeviceBindListAct.DeviceType.BODYFAT.type)
- }
-
-
- fun getUnReadMessage() {
- mViewModel.getNotReadCount()
+ // mViewModel.getBindList(BaseDeviceBindListAct.DeviceType.BODYFAT.type)
}
- private fun initBleSDK() {
+ /* private fun initBleSDK() {
BlueUtil.getBlueManage().setDebug(BuildConfig.isRelease)
BlueUtil.getBlueManage()
.init(
this,
- "lx1f367d71ff67ca73",
- "a713f5e2fa03ec19476a3ac96287c4645986c4c6",
+ "",
+ "",
null,
this
)
- }
+ }*/
fun initVp2() {
binding.mVp2.adapter = VpAdapter(listFragment, this)
@@ -221,48 +203,10 @@ class MainActivity : BaseVmAct(), Consumer {
override fun onResume() {
super.onResume()
-// getUnReadMessage()
}
override fun onNewIntent(intent: Intent?) {
super.onNewIntent(intent)
-// isonNewIntent = true;
- handleOfflinePush(intent)
- }
-
- private fun handleOfflinePush(intent: Intent?) {
- if (intent == null) {
- Log.d("MainActivity", "handleOfflinePush intent is null")
- return
- }
-// if (OfflinePushConfigs.getOfflinePushConfigs().clickNotificationCallbackMode === OfflinePushConfigs.CLICK_NOTIFICATION_CALLBACK_INTENT
-// ) {
- Log.d(
- "MainActivity",
- "OfflinePushConfigs.getOfflinePushConfigs().clickNotificationCallbackMode"
- )
-/* TUIUtils.handleOfflinePush(
- intent
- ) { hasLogged ->
- if (hasLogged) {
- setIntent(null)
- } else {
-// finish()
- }
- }*/
-// } else {
-// val ext = intent.getStringExtra(TUIConstants.TUIOfflinePush.NOTIFICATION_EXT_KEY)
-// TUIUtils.handleOfflinePush(ext
-// ) { hasLogged ->
-// if (hasLogged) {
-// setIntent(null)
-// } else {
-// Log.d("MainActivity", "finish()")
-// finish()
-//
-// }
-// }
-// }
}
public fun setCurrentTab(position: Int) {
@@ -292,13 +236,13 @@ class MainActivity : BaseVmAct(), Consumer {
override fun liveObserver() {
mViewModel.saveSuccess.observe(this) {
}
- mViewModel.boundDevices.observe(this) {
+/* mViewModel.boundDevices.observe(this) {
if (it.code != 0) return@observe
val data = it.data
if (data.isNotEmpty()) {
if (checkBlueConnectPermission(this)) {
//体脂秤sdk初始化
- initBleSDK()
+ // initBleSDK()
if (BlueUtil.getBlueManage().isInitialized) {
it.data.forEach { bleData ->
BlueUtil.getBlueManage().addBondedMac(bleData.mac)
@@ -307,7 +251,7 @@ class MainActivity : BaseVmAct(), Consumer {
}
}
}
- }
+ }*/
mViewModel.updateLive.observe(this) {
if (!it.data.url.isNullOrEmpty()) {
@@ -332,7 +276,7 @@ class MainActivity : BaseVmAct(), Consumer {
Log.e("simon", it.data)
TUILogin.login(
applicationContext,
- 1400807230,
+ ,
it.paramsData,
it.data,
object : TUICallback() {
@@ -433,8 +377,12 @@ class MainActivity : BaseVmAct(), Consumer {
}
}
+
+
override fun onDestroy() {
super.onDestroy()
- BlueUtil.getBlueManage().releaseResource()
+ AmapInit.stopLocation()
+ // BlueUtil.getBlueManage().releaseResource()
}
+
}
\ No newline at end of file
diff --git a/app/src/main/java/com/zj365/dc/activity/RecognizeResultAct.kt b/app/src/main/java/com/zj365/dc/activity/RecognizeResultAct.kt
index ea649d6..b82db22 100644
--- a/app/src/main/java/com/zj365/dc/activity/RecognizeResultAct.kt
+++ b/app/src/main/java/com/zj365/dc/activity/RecognizeResultAct.kt
@@ -1,5 +1,6 @@
package com.zj365.dc.activity
+import android.content.Intent
import android.view.LayoutInflater
import android.view.View
import android.widget.ImageView
@@ -8,32 +9,50 @@ import android.widget.TextView
import androidx.recyclerview.widget.LinearLayoutManager
import com.alibaba.android.arouter.facade.annotation.Route
import com.google.android.material.bottomsheet.BottomSheetDialog
+import com.luck.picture.lib.PictureSelector
+import com.luck.picture.lib.config.PictureConfig
import com.luck.picture.lib.config.PictureMimeType
import com.xty.base.act.BaseVmAct
import com.xty.base.vm.BaseVm
import com.xty.common.arouter.ARouterUrl
+import com.xty.common.arouter.RouteManager
import com.xty.common.picture.PictureUtils
import com.xty.common.util.SpannableUtils
+import com.xty.network.model.FoodRecoginzeInfo
import com.zj365.dc.adapter.RecognizeResultAdapter
import com.zj365.dc.databinding.ActRecognizeResultBinding
+import com.zj365.dc.vm.DietManagementVm
import com.zj365.health.R
@Route(path = ARouterUrl.RECOGNIZE_RESULT)
-class RecognizeResultAct : BaseVmAct() {
+class RecognizeResultAct : BaseVmAct() {
val binding by lazy{ ActRecognizeResultBinding.inflate(layoutInflater)}
val adapter by lazy { RecognizeResultAdapter() }
var bottomSheetDialog: BottomSheetDialog? = null
- override fun liveObserver() {
+ var type:String? = null
+ var fileUrl :String? = null
+ override fun liveObserver() {
+ mViewModel.foodRecoginzeInfoLiveData.observe(this){
+ adapter.setNewInstance(it.data)
+ }
}
override fun initView() {
super.initView()
statusBar(binding.title.mView)
binding.title.mTvTitle.text = "识别结果"
+
+ type = intent.getStringExtra("type")
+ fileUrl = intent.getStringExtra("fileUrl")
+
+ fileUrl?.let {
+ mViewModel.submit(type!!,it)
+ }
+
binding.title.mIvBack.setOnClickListener {
finish()
}
@@ -53,7 +72,7 @@ class RecognizeResultAct : BaseVmAct() {
binding.recycler.layoutManager = LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false)
binding.recycler.adapter = adapter
adapter.setOnItemChildClickListener { adapter, view, position ->
-
+ val foodBean = adapter.getItem(position) as FoodRecoginzeInfo
}
}
@@ -92,4 +111,27 @@ class RecognizeResultAct : BaseVmAct() {
}
}
+
+ override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+ super.onActivityResult(requestCode, resultCode, data)
+
+ if (resultCode === RESULT_OK) {
+ when (requestCode) {
+ PictureConfig.CHOOSE_REQUEST -> {
+ var result = PictureSelector.obtainMultipleResult(data)
+ if (result.size > 0) {
+ if (result.isNotEmpty()) {
+ fileUrl = result[0].compressPath
+
+ fileUrl?.let {
+ mViewModel.submit(type!!,it)
+ }
+
+ }
+ }
+ }
+
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/zj365/dc/activity/WelcomeAct.kt b/app/src/main/java/com/zj365/dc/activity/WelcomeAct.kt
index 0e1e7d5..099642d 100644
--- a/app/src/main/java/com/zj365/dc/activity/WelcomeAct.kt
+++ b/app/src/main/java/com/zj365/dc/activity/WelcomeAct.kt
@@ -2,6 +2,7 @@ package com.zj365.dc.activity
import android.annotation.SuppressLint
import android.graphics.Bitmap
+import android.util.Log
import android.view.View
import android.view.ViewGroup
import androidx.lifecycle.MutableLiveData
@@ -206,12 +207,27 @@ class WelcomeAct : BaseVmAct() {
private fun initUMeng() {
UMConfigure.submitPolicyGrantResult(MyApp.instance, true)
+ UMConfigure.init(
+ MyApp.instance,
+ com.xty.common.BuildConfig.umengKey,
+ com.xty.common.BuildConfig.umengChannelName,
+ UMConfigure.DEVICE_TYPE_PHONE,
+ ""
+ )
}
private fun initPush() {
JPushInterface.setDebugMode(!BuildConfig.isRelease)
JPushInterface.init(MyApp.instance)
//根据用户的设置开启或关闭消息通知
+ val registrationID = JPushInterface.getRegistrationID(this)
+ LogUtils.d("terry", "registrationID:$registrationID")
+ val userId = if (MMkvHelper.getLong(Const.USER_ID).toString() == "0") ""
+ else MMkvHelper.getLong(Const.USER_ID).toString()
+ if (!userId.isNullOrEmpty()){
+ Log.i("terry", "useId:$userId")
+ JPushInterface.setAlias(this,userId.toInt(),"user_release_${userId}")
+ }
JPushHelper(this).stopOrResumeJPush(MMkvHelper.getBoolean(Const.NOTICE_FLAG))
}
diff --git a/app/src/main/java/com/zj365/dc/adapter/HealthMonitoringAdapter.kt b/app/src/main/java/com/zj365/dc/adapter/HealthMonitoringAdapter.kt
index 6907764..f722aad 100644
--- a/app/src/main/java/com/zj365/dc/adapter/HealthMonitoringAdapter.kt
+++ b/app/src/main/java/com/zj365/dc/adapter/HealthMonitoringAdapter.kt
@@ -144,14 +144,25 @@ class HealthMonitoringAdapter(
calorieStr.length - 3
)*/
} else {
- if (TextUtils.isEmpty(calorie)){
- val calorieStr = "监测:--次"
- mTvCalorie.text = calorieStr
+ if (
+ healthMonitoringListBean.buttonContent == "建模中" ||
+ healthMonitoringListBean.buttonContent == "未开通" ||
+ healthMonitoringListBean.buttonContent == "续费" ||
+ healthMonitoringListBean.buttonContent == "敬请期待"
+ ){
+ mTvCalorie.visibility = View.GONE
}else{
- val calorieStr = "监测:${calorie}次"
- mTvCalorie.text = calorieStr
+ mTvCalorie.visibility = View.VISIBLE
+ if (TextUtils.isEmpty(calorie)){
+ val calorieStr = "监测:--次"
+ mTvCalorie.text = calorieStr
+ }else{
+ val calorieStr = "监测:${calorie}次"
+ mTvCalorie.text = calorieStr
+ }
}
+
}
mHealthTime.text = if (TextUtils.isEmpty(healthMonitoringListBean.buttonTime)) {
diff --git a/app/src/main/java/com/zj365/dc/adapter/RecognizeResultAdapter.kt b/app/src/main/java/com/zj365/dc/adapter/RecognizeResultAdapter.kt
index ab3135c..4d0971a 100644
--- a/app/src/main/java/com/zj365/dc/adapter/RecognizeResultAdapter.kt
+++ b/app/src/main/java/com/zj365/dc/adapter/RecognizeResultAdapter.kt
@@ -2,11 +2,14 @@ package com.zj365.dc.adapter
import com.chad.library.adapter.base.viewholder.BaseViewHolder
import com.xty.base.adapter.BaseAdapter
+import com.xty.network.model.FoodRecoginzeInfo
import com.xty.network.model.HomeLayoutBean
import com.zj365.dc.R
-class RecognizeResultAdapter : BaseAdapter(R.layout.item_recognize_result){
- override fun convert(holder: BaseViewHolder, item: HomeLayoutBean.HomeChildBean) {
+class RecognizeResultAdapter : BaseAdapter(R.layout.item_recognize_result){
+ override fun convert(holder: BaseViewHolder, item: FoodRecoginzeInfo) {
+
+
}
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 35656c0..321a603 100644
--- a/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt
+++ b/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt
@@ -1,5 +1,6 @@
package com.zj365.dc.fragment
+import android.Manifest
import android.annotation.SuppressLint
import android.content.Intent
import android.graphics.Color
@@ -25,6 +26,7 @@ import com.xty.common.Const
import com.xty.common.LogUtils
import com.xty.common.MMkvHelper
import com.xty.common.UmengEventId
+import com.xty.common.aMapUtils.AmapInit
import com.xty.common.app.MyApp
import com.xty.common.arouter.ARouterUrl
import com.xty.common.arouter.RouteManager
@@ -53,6 +55,7 @@ import com.zj365.mime.weight.NoticeSettingDialog
import com.xty.network.MyRetrofit
import com.xty.network.model.FamilyBean
import com.xty.network.model.HealthMonitoringListBean
+import com.xty.network.model.MainBean
import com.xty.network.model.MessageBean
import com.xty.network.model.ReportBean
import com.zj365.dc.BuildConfig
@@ -74,6 +77,7 @@ import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
import org.json.JSONArray
import org.json.JSONObject
+import pub.devrel.easypermissions.EasyPermissions
import java.text.SimpleDateFormat
import java.util.regex.Matcher
import java.util.regex.Pattern
@@ -83,7 +87,7 @@ import kotlin.math.min
/**
* 动态管理页面
*/
-class DynamicManagementFrag : BaseVmFrag() {
+class DynamicManagementFrag : BaseVmFrag() , EasyPermissions.PermissionCallbacks{
val binding by lazy { FragDynamicManagementBinding.inflate(layoutInflater) }
override fun setLayout(): View = binding.root
@@ -148,10 +152,10 @@ class DynamicManagementFrag : BaseVmFrag() {
* 0.心率、1.血氧、2.呼吸率、3.体温、4.步数、5.睡眠、6.血压、7.血糖、8.心电、9.尿酸、10.血脂。
*/
private val pageIndexs = arrayOf(
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9/*, 10*/
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
)
private val pageNames = arrayOf(
- "心率", "血氧", "呼吸率", "体温", "步数", "睡眠", "血压", "血糖", "心电", "尿酸"/*, "血脂"*/
+ "心率", "血氧", "呼吸率", "体温", "步数", "睡眠", "血压", "血糖", "心电", "尿酸", "血脂"
)
@SuppressLint("ResourceType")
@@ -172,8 +176,6 @@ class DynamicManagementFrag : BaseVmFrag() {
//刷新注册
refresh()
- updateWarningStatus()
-
binding.mGriddingList.mGridView.adapter = mHealthAdapter
binding.mGriddingList.mGridView.setOnItemClickListener { _, _, position, _ ->
val index = mHealthAdapter.getItem(position).type
@@ -206,10 +208,16 @@ class DynamicManagementFrag : BaseVmFrag() {
5 -> {
val deviceType = MMkvHelper.getString(Const.DEVICE_TYPE)
- if (deviceType == "U32" || deviceType == "A3") {
+ /*if (deviceType == "U32" || deviceType == "A3") {
goPage(index - 1)
} else {
+
+ }*/
+
+ if (deviceType == "X1" || deviceType == "X2") {
goPage(index - 2)
+ } else {
+ goPage(index - 1)
}
}
@@ -222,7 +230,7 @@ class DynamicManagementFrag : BaseVmFrag() {
}
}
- 9 -> {
+ 9 -> { //心电隐藏的前提下,尿酸为8 否则为9
val deviceType = MMkvHelper.getString(Const.DEVICE_TYPE)
if (deviceType == "X1" || deviceType == "X2") {
goPage(6)
@@ -255,8 +263,10 @@ class DynamicManagementFrag : BaseVmFrag() {
}
}
- 10 -> { //血脂
- when (MMkvHelper.getString(Const.DEVICE_TYPE)) {
+ 10 -> { // //心电隐藏的前提下血脂为9 否则为10
+
+ CommonToastUtils.showToast("尊敬的用户您好,血脂功能暂未开放,敬请期待哦~")
+ /*when (MMkvHelper.getString(Const.DEVICE_TYPE)) {
"X1", "X2" -> {
goPage(7)
}
@@ -269,11 +279,11 @@ class DynamicManagementFrag : BaseVmFrag() {
else -> {
goPage(7)
}
- }
+ }*/
}
- 8 -> {//心电
+ /*8 -> {//心电 暂时隐藏 尿酸就改成8
// if (MMkvHelper.getInt(Const.Watch_Device_Type) == -1) { //演示模式
// showToast("尊敬的用户您好,心电功能暂未开放,敬请期待哦~")
// } else
@@ -289,7 +299,7 @@ class DynamicManagementFrag : BaseVmFrag() {
// RouteManager.goAct(ARouterUrl.XD_HISTORY, bundle)
// }
}
- }
+ }*/
}
}
}
@@ -338,7 +348,6 @@ class DynamicManagementFrag : BaseVmFrag() {
private fun setOnClickListener() {
binding.mMsgLayout.setOnClickListener(onClickListener)
binding.mMsg.setOnClickListener(onClickListener)
- binding.mHeader.mWearManager.setOnClickListener(onClickListener)
binding.mHeader.mCard.setOnClickListener(onClickListener)
binding.mHeader.mBtnBind.setOnClickListener(onClickListener)
binding.mGriddingList.mSub.setOnClickListener(onClickListener)
@@ -361,8 +370,8 @@ class DynamicManagementFrag : BaseVmFrag() {
RouteManager.goAct(ARouterUrl.WARNING_MSG)
}
//设备连接
- R.id.mWearManager -> {
- val btnStr = binding.mHeader.mWearManager.text
+ R.id.mHealthRecords -> {
+ /*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)
@@ -380,7 +389,7 @@ class DynamicManagementFrag : BaseVmFrag() {
}
} else {
RouteManager.goAct(ARouterUrl.DEVICE_CHOICE)
- }
+ }*/
}
//评估
R.id.mCard -> {
@@ -606,6 +615,20 @@ class DynamicManagementFrag : BaseVmFrag() {
mViewModel.getMySetting()
mViewModel.getTips()
mViewModel.getRank(2)
+ if(EasyPermissions.hasPermissions(requireContext(), Manifest.permission.ACCESS_COARSE_LOCATION,
+ Manifest.permission.ACCESS_FINE_LOCATION)) {
+ AmapInit.startLocation(requireContext()) {
+ MMkvHelper.put(Const.LONGITUDE,it.longitude)
+ MMkvHelper.put(Const.LATITUDE,it.latitude)
+ mViewModel.getWeather()
+
+ }
+ }else{
+ EasyPermissions.requestPermissions(this,"申请定位权限",
+ 0x00022,
+ Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION);
+ }
+
}
/**
@@ -750,6 +773,47 @@ class DynamicManagementFrag : BaseVmFrag() {
}
}
+ /**
+ * 设置天气信息
+ */
+ 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}"
+ }
+ }
+ }
+
/**
* 获取所有信息
*/
@@ -814,6 +878,15 @@ class DynamicManagementFrag : BaseVmFrag() {
}
}
+ mViewModel.weatherLiveDate.observe(this){
+ if(it.data == null){
+ binding.mHeader.tvWeather.visibility = View.GONE
+
+ }else{
+ binding.mHeader.tvWeather.text = "${it.data.text} ${it.data.temp}℃"
+ }
+ }
+
//获取首页所有信息返回
mViewModel.allData.observe(this) {
it.data.let { bean ->
@@ -824,60 +897,36 @@ class DynamicManagementFrag : BaseVmFrag() {
(requireActivity() as MainActivity).isDemonstrate = isDemonstrate
if (isDemonstrate) {
binding.mHeader.mWearInfo.visibility = View.INVISIBLE
- binding.mHeader.mWatchType.visibility = View.INVISIBLE
} else {
- binding.mHeader.mWatchType.visibility = View.GONE
binding.mHeader.mWearInfo.visibility = View.VISIBLE
}
- /*if (mFamilyAdapter.position != -1) {
- if (mFamilyAdapter.getItem(mFamilyAdapter.position).userJointId != bean.user.id.toInt()) {
- if (mFamilyAdapter.position == 0 && bean.user.id.toString() == CommonUtils.getMyUserId()) {//如果是自己加载用户头像并保存用户信息
- } else {
- LogUtils.e("当前用户与请求用户信息不一致,不作处理!")
- return@observe
- }
- }
- }*/
+
if (showIdInfo.isNotEmpty()) { //自己
-//// binding.mChildView.mGuide2.visibility = View.VISIBLE
-// binding.mChildView.mInter.visibility = View.VISIBLE
-// binding.mChildView.lleach.visibility = View.VISIBLE
-// } else {
-//// binding.mChildView.mGuide2.visibility = View.GONE//隐藏健康管家
-// binding.mChildView.mInter.visibility = View.GONE//隐藏健康互动标题
-// binding.mChildView.lleach.visibility = View.GONE//隐藏健康打卡,榜单,我的家人功能
Const.otherLiveData.value = bean
}
-// setWeatherInfo(bean.weather)
Const.battery = bean.power
Const.watchType = bean.watchType
MMkvHelper.put(Const.Watch_Device_Type, bean.watchType)
+ binding.mHeader.tvNowTime.text = bean.nowDay
+ binding.mHeader.tvLanuDate.text = bean.chinaDay
+ // setWeatherInfo(bean.weather)
+
+ binding.mHeader.mBMI.text = "BMI ${bean.bmiInfo.bmi}"
+ binding.mHeader.mBMIStatus.text = "${bean.bmiInfo.levelName}"
+
+ binding.mHeader.tvWarningNum.text ="预警次数:${if (bean.warningCount == 0) "--" else bean.warningCount}次"
+ binding.mHeader.tvMonitorNum.text ="监测次数:${if (bean.healthCount == 0) "--" else bean.healthCount}次"
+
+ /*if (bean.watchType == -1) { //没有绑定设备
+
- if (bean.watchType == -1) { //没有绑定设备
- binding.mHeader.mBindState.apply {
- text = "未绑定"
- val drawable = getDrawable(R.mipmap.ic_unbind)
- drawable.setBounds(0, 0, drawable.minimumWidth, drawable.minimumHeight)
- setCompoundDrawables(drawable, null, null, null)
- visibility = View.VISIBLE
- }
- binding.mHeader.mWearManager.text = "绑定手表"
- binding.mHeader.mBindState.visibility = View.GONE
- binding.mHeader.mConnectStatu.visibility = View.GONE
- binding.mHeader.mWatchType.visibility = View.GONE
} else if (Const.Companion.WatchDevice.LightA3.ordinal == bean.watchType) {//如果是4G设备,设置连接状态与电量信息
- setDeviceInfo(
- DeviceInfoBean(
- true,
- YCBBlueConnectHelper.BLEConnectState.Connected,
- if (Const.battery.isEmpty()) "" else "电量${Const.battery}%"
- )
- )
- } else {
+
+ } else {*/
if (showIdInfo.isEmpty()) { //自己
val localBlueMac = MMkvHelper.getString(Const.Blue_Tooth)
if (YCBBlueConnectHelper.getBleNowStatus() == YCBBlueConnectHelper.BLEConnectState.DisConnect) {//如果本地有蓝牙信息且属于未连接状态,则直接连接
@@ -892,9 +941,9 @@ class DynamicManagementFrag : BaseVmFrag() {
getConnectStatus()
}
} else {
- setDeviceInfo(null)
+
}
- }
+ // }
get24HourReportInfo(showIdInfo)// 这里调用一次接口,防止首次进入App不会刷新评估状态
@@ -948,6 +997,8 @@ class DynamicManagementFrag : BaseVmFrag() {
}
}
+
+
//24小时健康报告返回信息
mViewModel.infoLive.observe(this) {
if (null == it.data) {
@@ -1037,7 +1088,6 @@ class DynamicManagementFrag : BaseVmFrag() {
// binding.mContent.visibility = View.VISIBLE
binding.mHeader.mLayoutResult.visibility = View.GONE
binding.mHeader.mBtnBind.visibility = View.VISIBLE
- setDeviceInfo(DeviceInfoBean(false))
// if (!(activity as MainActivity).isDialogShow) {
// dialogBind.show()
// }
@@ -1068,13 +1118,7 @@ class DynamicManagementFrag : BaseVmFrag() {
}
if (Const.Companion.WatchDevice.LightA3.ordinal == Const.watchType) {//如果是4G设备,设置连接状态与电量信息
- setDeviceInfo(
- DeviceInfoBean(
- true,
- YCBBlueConnectHelper.BLEConnectState.Connected,
- if (Const.battery.isEmpty()) "" else "电量${Const.battery}%"
- )
- )
+
get24HourReportInfo(showIdInfo)// 这里调用一次接口,防止首次进入App不会刷新评估状态
}
@@ -1130,13 +1174,6 @@ class DynamicManagementFrag : BaseVmFrag() {
mainScope.launch {
LogUtils.d("getDeviceInfo isOk:$isok;;; value=$value")
if (isok) {//获取到设备信息,设备准备就绪上传手表数据
- setDeviceInfo(
- DeviceInfoBean(
- true,
- YCBBlueConnectHelper.BLEConnectState.Connected,
- value
- )
- )
}
}
}
@@ -1374,15 +1411,7 @@ class DynamicManagementFrag : BaseVmFrag() {
mainScope.launch(Dispatchers.Main) {
when (connectState) {
YCBBlueConnectHelper.BLEConnectState.Connecting -> {
- setDeviceInfo(
- DeviceInfoBean(
- true,
- YCBBlueConnectHelper.BLEConnectState.Connecting
- )
- )
-// binding.mContent.visibility = View.GONE
-// binding.mEle.visibility = View.VISIBLE
-// binding.mEle.text = getString(R.string.blue_tooth_connecting)
+
}
YCBBlueConnectHelper.BLEConnectState.Connected -> {
@@ -1491,16 +1520,6 @@ class DynamicManagementFrag : BaseVmFrag() {
mainScope.launch {
LogUtils.d("getDeviceInfo isOk:$isok;;; value=$value")
if (isok) {//获取到设备信息,设备准备就绪上传手表数据
-// binding.mCom.visibility = View.GONE
-// binding.mEle.visibility = View.VISIBLE
-// binding.mEle.text = value
- setDeviceInfo(
- DeviceInfoBean(
- true,
- YCBBlueConnectHelper.BLEConnectState.Connected,
- value
- )
- )
uploadWhatchData()
@@ -1562,9 +1581,7 @@ class DynamicManagementFrag : BaseVmFrag() {
// }
private fun initBlueToothStatu() {
- setDeviceInfo(DeviceInfoBean(blueTooth(), YCBBlueConnectHelper.BLEConnectState.DisConnect))
-// binding.mContent.visibility = View.VISIBLE
-// binding.mEle.visibility = View.GONE
+
}
private fun requestGPSPermission() {
@@ -1644,134 +1661,6 @@ class DynamicManagementFrag : BaseVmFrag() {
mViewModel.get24HourReportInfo(userId, isShowLoading)
}
- private fun updateWarningStatus() {
- /*val position = mFamilyAdapter.position
- if (position == 0 || position == -1) {
- if (notifyStatus == 0) {
- //未读
- binding.mHeader.llWarning.visibility = View.VISIBLE
- } else {
- //已读
- binding.mHeader.llWarning.visibility = View.GONE
- }
- } else {
- binding.mHeader.llWarning.visibility = View.GONE
- }*/
- }
-
- /**
- * 设置设备信息
- */
- private fun setDeviceInfo(deviceInfo: DeviceInfoBean?) {
- if (null != deviceInfo) {
- if (blueTooth()) {
- binding.mHeader.mWatchType.text = getString(R.string.blue_tooth)
- val drawable = getDrawable(R.mipmap.ic_watch_bluetooth)
- drawable.setBounds(0, 0, drawable.minimumWidth, drawable.minimumHeight)
- binding.mHeader.mWatchType.setCompoundDrawables(drawable, null, null, null)
- } else {
- binding.mHeader.mWatchType.text = getString(R.string.lite_4g)
- val drawable = getDrawable(R.mipmap.ic_watch_4g)
- drawable.setBounds(0, 0, drawable.minimumWidth, drawable.minimumHeight)
- binding.mHeader.mWatchType.setCompoundDrawables(drawable, null, null, null)
- }
- binding.mHeader.mBindState.visibility = View.VISIBLE
- if (deviceInfo.bindState) {//已绑定
- binding.mHeader.mBindState.apply {
- text = "已绑定"
- background = null
- val drawable = getDrawable(R.mipmap.ic_bangding)
- drawable.setBounds(0, 0, drawable.minimumWidth, drawable.minimumHeight)
- setCompoundDrawables(drawable, null, null, null)
- }
- binding.mHeader.mWearManager.text = "佩戴管理"
-
- when (deviceInfo.connectState) {
- YCBBlueConnectHelper.BLEConnectState.Connected -> {//已连接
- binding.mHeader.mConnectStatu.apply {
- setBackgroundResource(R.drawable.shape_bind_bg_new_2)
- text = deviceInfo.battery
- setTextColor(resources.getColor(R.color.col_27B8, null))
- var drawable: Drawable = getDrawable(R.mipmap.ic_battery)
- if (!deviceInfo.battery.isNullOrEmpty()) {
- val str =
- deviceInfo.battery.substring(2, deviceInfo.battery.length - 1)
- val pattern: Pattern = Pattern.compile("[0-9]*")
- val isNum: Matcher = pattern.matcher(str)
- if (isNum.matches()) {
- val battery = str.toInt()
- drawable = if (battery > 20) {
- getDrawable(R.mipmap.ic_battery)
-// } else if (battery > 70) {
-// getDrawable(R.mipmap.ic_battery_90)
-// } else if (battery > 50) {
-// getDrawable(R.mipmap.ic_battery_70)
-// } else if (battery > 30) {
-// getDrawable(R.mipmap.ic_battery_50)
-// } else if (battery > 10) {
-// getDrawable(R.mipmap.ic_battery_30)
- } else {
- setTextColor(resources.getColor(R.color.col_2628, null))
- text =
- context.resources.getString(R.string.health_low_battery)
- setBackgroundResource(R.drawable.shape_bind_bg_new_1)
- getDrawable(R.mipmap.ic_diancbuz)
- }
- }
- }
- drawable.setBounds(
- 0,
- 0,
- drawable.minimumWidth,
- drawable.minimumHeight
- )
- setCompoundDrawables(drawable, null, null, null)
- }
- }
-
- YCBBlueConnectHelper.BLEConnectState.Connecting -> {//连接中
- binding.mHeader.mConnectStatu.apply {
- text = "连接中..."
- setCompoundDrawables(null, null, null, null)
- }
- }
-
- YCBBlueConnectHelper.BLEConnectState.DisConnect -> {//未连接
- binding.mHeader.mConnectStatu.apply {
- text = "未连接"
- val drawable = getDrawable(R.mipmap.ic_not_connect)
- drawable.setBounds(
- 0,
- 0,
- drawable.minimumWidth,
- drawable.minimumHeight
- )
- setCompoundDrawables(drawable, null, null, null)
- }
- }
- }
-
- binding.mHeader.mConnectStatu.visibility = View.GONE
- } else {
- binding.mHeader.mBindState.apply {
- text = "未绑定"
- val drawable = getDrawable(R.mipmap.ic_unbind)
- drawable.setBounds(0, 0, drawable.minimumWidth, drawable.minimumHeight)
- setCompoundDrawables(drawable, null, null, null)
- }
- binding.mHeader.mWearManager.text = "绑定手表"
-
- binding.mHeader.mConnectStatu.visibility = View.GONE
- }
- } else {
- binding.mHeader.mWatchType.text = getString(R.string.blue_tooth)
- val drawable = getDrawable(R.mipmap.ic_watch_bluetooth)
- drawable.setBounds(0, 0, drawable.minimumWidth, drawable.minimumHeight)
- binding.mHeader.mWatchType.setCompoundDrawables(drawable, null, null, null)
- binding.mHeader.mBindState.visibility = View.GONE
- binding.mHeader.mConnectStatu.visibility = View.GONE
- }
- }
private fun blueTooth(): Boolean {
return CommonUtils.isBlueTooth(MMkvHelper.getInt(Const.Watch_Device_Type))
@@ -1824,7 +1713,6 @@ class DynamicManagementFrag : BaseVmFrag() {
mViewModel.getAllInfo(event.showUserId, false)
getXtInfo(event.showUserId)
get24HourReportInfo(event.showUserId)
- updateWarningStatus()
}
override fun onDestroy() {
@@ -1841,4 +1729,16 @@ class DynamicManagementFrag : BaseVmFrag() {
fun loginOutChange(event: LoginOutEvent){
}
+
+ override fun onPermissionsGranted(requestCode: Int, perms: MutableList) {
+ AmapInit.startLocation(requireContext()) {
+ MMkvHelper.put(Const.LONGITUDE,it.longitude)
+ MMkvHelper.put(Const.LATITUDE,it.latitude)
+ mViewModel.getWeather()
+
+ }
+ }
+
+ override fun onPermissionsDenied(requestCode: Int, perms: MutableList) {
+ }
}
\ No newline at end of file
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 5fcd50f..000bddb 100644
--- a/app/src/main/java/com/zj365/dc/fragment/HealthHomeFrag.kt
+++ b/app/src/main/java/com/zj365/dc/fragment/HealthHomeFrag.kt
@@ -22,6 +22,7 @@ import com.xty.common.event.LoginOrRegisterEvent
import com.xty.common.event.LoginOutEvent
import com.xty.common.event.MyInfoEvent
import com.xty.common.onEventObject
+import com.xty.common.util.CommonToastUtils
import com.xty.common.util.CommonUtils
import com.xty.network.model.BannerBean
import com.xty.network.model.FamilyBean
@@ -196,7 +197,9 @@ HealthHomeFrag : BaseVmFrag() {
binding.mCom.rvLayout.layoutManager= LinearLayoutManager(requireContext(),LinearLayoutManager.HORIZONTAL,false)
binding.mCom.rvLayout.adapter = layoutTopAdapter
layoutTopAdapter.setOnItemClickListener { adapter, view, position ->
- var contentData = adapter.getItem(position) as HomeLayoutBean.HomeChildBean
+
+ CommonToastUtils.showToast("敬请期待")
+ /*var contentData = adapter.getItem(position) as HomeLayoutBean.HomeChildBean
when(contentData.jumpType){
1 ->{
contentData.jumpUrl?.let {
@@ -254,7 +257,7 @@ HealthHomeFrag : BaseVmFrag() {
}
}
- }
+ }*/
}
binding.mChildView.homeContentRv.layoutManager = GridLayoutManager(requireContext(),3)
@@ -490,50 +493,7 @@ HealthHomeFrag : BaseVmFrag() {
}
}
}
-/**
- * 设置天气信息*/
-
-
- private fun setWeatherInfo(weather: MainBean.Weather?) {
-// if (null == weather) {
-// binding.mCom.tvLocationWeather.visibility = View.GONE
-// } else {
-// weather.apply {
-// if (city.isNullOrEmpty() || weatherNo.isNullOrEmpty()) {
-// binding.mCom.tvLocationWeather.visibility = View.GONE
-// return
-// }
-// binding.mCom.tvLocationWeather.text = "${city} ${weatherInfo}"
-// var icon = when (weatherNo) {
-// "32" -> {//晴天
-// R.mipmap.weather_sunny
-// }
-// "44" -> {//多云
-// R.mipmap.weather_cloudy
-// }
-// "20" -> {//阴天
-// R.mipmap.weather_yin
-// }
-// "12" -> {//雨天
-// R.mipmap.weather_rain
-// }
-// "45" -> {//雷阵雨
-// R.mipmap.weather_thunder_shower
-// }
-// "16" -> {//雪
-// R.mipmap.weather_snow
-// }
-// else -> {
-// R.mipmap.weather_sunny
-// }
-// }
-// val drawable = getDrawable(icon)
-// drawable!!.setBounds(0, 0, drawable.minimumWidth, drawable.minimumHeight)
-// binding.mCom.tvLocationWeather.setCompoundDrawables(null, null, drawable, null)
-// binding.mCom.tvLocationWeather.visibility = View.VISIBLE
-// }
-// }
- }
+
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 9adc28e..3600b37 100644
--- a/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt
+++ b/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt
@@ -85,24 +85,94 @@ class MineFrag : BaseVmFrag(),EasyPermissions.PermissionCallbacks {
if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){
RouteManager.goAct(ARouterUrl.LOGIN_ACT)
}else{
- bundle.clear()
- bundle.putSerializable("user", user)
- RouteManager.goAct(ARouterUrl.MY_INTEGRAL, bundle)
+ CommonToastUtils.showToast("敬请期待")
}
}
- binding.llAboutUs.setOnClickListener {
- RouteManager.goAct(ARouterUrl.ABOUT)
+
+ binding.mllCoupon.setOnClickListener {
+ if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){
+ RouteManager.goAct(ARouterUrl.LOGIN_ACT)
+ }else {
+ CommonToastUtils.showToast("敬请期待")
+ }
+ }
+
+ binding.mllWallet.setOnClickListener {
+ if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){
+ RouteManager.goAct(ARouterUrl.LOGIN_ACT)
+ }else {
+ CommonToastUtils.showToast("敬请期待")
+ }
+ }
+ /*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"){
+ RouteManager.goAct(ARouterUrl.LOGIN_ACT)
+ }else {
+ CommonToastUtils.showToast("敬请期待")
+ }
+ }
+
+ binding.mAppreciation.setOnClickListener {
+ if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){
+ RouteManager.goAct(ARouterUrl.LOGIN_ACT)
+ }else {
+ CommonToastUtils.showToast("敬请期待")
+ }
}
binding.llHealthRecord.setOnClickListener {
if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){
RouteManager.goAct(ARouterUrl.LOGIN_ACT)
}else {
- bundle.putString("id", user?.id)
- RouteManager.goAct(ARouterUrl.HEALTH_RECORD, bundle)
+ CommonToastUtils.showToast("敬请期待")
+ }
+ }
+
+ binding.llHealthMonitor.setOnClickListener {
+ if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){
+ RouteManager.goAct(ARouterUrl.LOGIN_ACT)
+ }else {
+ CommonToastUtils.showToast("敬请期待")
+ }
+ }
+
+ binding.llHealthDaily.setOnClickListener {
+ if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){
+ RouteManager.goAct(ARouterUrl.LOGIN_ACT)
+ }else {
+ CommonToastUtils.showToast("敬请期待")
+ }
+ }
+ binding.llStartBs.setOnClickListener {
+ if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){
+ RouteManager.goAct(ARouterUrl.LOGIN_ACT)
+ }else {
+ CommonToastUtils.showToast("敬请期待")
}
}
+
+ binding.llDailyPoster.setOnClickListener {
+ if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){
+ RouteManager.goAct(ARouterUrl.LOGIN_ACT)
+ }else {
+ CommonToastUtils.showToast("敬请期待")
+ }
+ }
+
+
+ binding.llAboutUs.setOnClickListener {
+ RouteManager.goAct(ARouterUrl.ABOUT)
+ }
+
binding.llDataComparsion.setOnClickListener {
if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){
RouteManager.goAct(ARouterUrl.LOGIN_ACT)
@@ -127,6 +197,30 @@ class MineFrag : BaseVmFrag(),EasyPermissions.PermissionCallbacks {
}
}
+ binding.llEnterpriseData.setOnClickListener {
+ if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){
+ RouteManager.goAct(ARouterUrl.LOGIN_ACT)
+ }else {
+ CommonToastUtils.showToast("敬请期待")
+ }
+ }
+
+ binding.llShippingAddress.setOnClickListener {
+ if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){
+ RouteManager.goAct(ARouterUrl.LOGIN_ACT)
+ }else {
+ CommonToastUtils.showToast("敬请期待")
+ }
+ }
+
+ binding.llOperationGuide.setOnClickListener {
+ if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){
+ RouteManager.goAct(ARouterUrl.LOGIN_ACT)
+ }else {
+ CommonToastUtils.showToast("敬请期待")
+ }
+ }
+
binding.llOrder.setOnClickListener {
if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){
RouteManager.goAct(ARouterUrl.LOGIN_ACT)
@@ -141,7 +235,7 @@ class MineFrag : BaseVmFrag(),EasyPermissions.PermissionCallbacks {
if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){
RouteManager.goAct(ARouterUrl.LOGIN_ACT)
}else {
- RouteManager.goAct(ARouterUrl.FAMILY)
+ RouteManager.goAct(ARouterUrl.FAMILY_HEALTH_ACT)
}
}
binding.llWearableDevice.setOnClickListener {
diff --git a/app/src/main/java/com/zj365/dc/vm/DietManagementVm.kt b/app/src/main/java/com/zj365/dc/vm/DietManagementVm.kt
new file mode 100644
index 0000000..0cdc656
--- /dev/null
+++ b/app/src/main/java/com/zj365/dc/vm/DietManagementVm.kt
@@ -0,0 +1,33 @@
+package com.zj365.dc.vm
+
+import androidx.lifecycle.MutableLiveData
+import com.xty.base.vm.BaseVm
+import com.xty.network.model.FoodRecoginzeInfo
+import com.xty.network.model.ImageUploadBean
+import com.xty.network.model.RespBody
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.async
+import kotlinx.coroutines.withContext
+import okhttp3.MultipartBody
+import org.json.JSONObject
+import java.io.File
+
+class DietManagementVm : BaseVm() {
+
+ val foodRecoginzeInfoLiveData by lazy { MutableLiveData>>() }
+
+ fun submit(type:String,path: String){
+ startHttp {
+ withContext(Dispatchers.IO) {
+ var f = File(path)
+ var fileRb =
+ MultipartBody.Part.createFormData("file", f.name, retrofits.getMultiPartFileRb(f))
+ var body = apiInterface().foodRecognize(fileRb,retrofits.getRequestBody(type))
+
+ body.getCodeStatus(foodRecoginzeInfoLiveData,nowData)
+
+ }
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/zj365/dc/vm/DynamicManagementVm.kt b/app/src/main/java/com/zj365/dc/vm/DynamicManagementVm.kt
index 8ca0284..d8a27c2 100644
--- a/app/src/main/java/com/zj365/dc/vm/DynamicManagementVm.kt
+++ b/app/src/main/java/com/zj365/dc/vm/DynamicManagementVm.kt
@@ -25,6 +25,7 @@ import com.xty.network.model.ReportBean
import com.xty.network.model.RespBody
import com.xty.network.model.SettingBean
import com.xty.network.model.TipsBean
+import com.xty.network.model.WeatherBean
import com.xty.network.model.XTangInfoBean
import com.zj365.dc.R
import org.json.JSONArray
@@ -50,6 +51,8 @@ class DynamicManagementVm : BaseVm() {
val mqtt by lazy { MutableLiveData>() }
val uploadMultiple by lazy { MutableLiveData>() }
+ val weatherLiveDate by lazy { MutableLiveData>() }
+
/**
* 获取所有信息
*/
@@ -523,7 +526,7 @@ class DynamicManagementVm : BaseVm() {
)
)
- //心电
+ /*//心电
val statusXD = 0
val contentXD =
if (TextUtils.isEmpty(heartData.hrData) || heartData.hrData == "0") {
@@ -542,7 +545,7 @@ class DynamicManagementVm : BaseVm() {
R.mipmap.ic_ecg,
8
)
- )
+ )*/
//尿酸
// val statusNS = if (uricAcidData.value == "0") {
@@ -625,7 +628,18 @@ class DynamicManagementVm : BaseVm() {
)
//血脂
- var statusXZ = 0
+ healthMonitoringList.add(
+ HealthMonitoringListBean(
+ "血脂",
+ 0,
+ "",
+ "敬请期待",
+ R.mipmap.bg_fat,
+ R.mipmap.ic_fat,
+ 10
+ )
+ )
+ /*var statusXZ = 0
var contentXZ = ""
var mTimeXZ = ""
when (bloodFatData.status) {
@@ -687,7 +701,7 @@ class DynamicManagementVm : BaseVm() {
R.mipmap.ic_fat,
10
)
- )
+ )*/
}
"A3" -> {
@@ -1473,4 +1487,14 @@ class DynamicManagementVm : BaseVm() {
SimpleDateFormat("yyyy-MM-dd HH:mm")
)
}
+
+ fun getWeather(){
+ startHttp {
+ val json = JSONObject()
+ json.put("longitude", MMkvHelper.getDouble(Const.LONGITUDE))
+ json.put("latitude", MMkvHelper.getDouble(Const.LATITUDE))
+ val body = apiInterface().getWeather(retrofits.getRequestBody(json.toString()))
+ body.getCodeStatus(weatherLiveDate, nowData)
+ }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/zj365/dc/weight/PrevDialog.kt b/app/src/main/java/com/zj365/dc/weight/PrevDialog.kt
index 3e3cc5d..84069dc 100644
--- a/app/src/main/java/com/zj365/dc/weight/PrevDialog.kt
+++ b/app/src/main/java/com/zj365/dc/weight/PrevDialog.kt
@@ -9,6 +9,7 @@ import android.text.TextPaint
import android.text.style.ClickableSpan
import android.view.View
import androidx.core.content.ContextCompat
+import com.amap.api.location.AMapLocationClient
import com.hjq.toast.ToastUtils
import com.xty.base.dialog.BaseDialog
import com.xty.common.Const
@@ -50,7 +51,7 @@ class PrevDialog(context: Context, private var agree: () -> Unit, private var gi
ds.isUnderlineText = false
}
- }, 46, 52, Spanned.SPAN_INCLUSIVE_INCLUSIVE)
+ }, 49, 55, Spanned.SPAN_INCLUSIVE_INCLUSIVE)
span.setSpan(object : ClickableSpan() {
override fun onClick(widget: View) {
val bundle = Bundle()
@@ -66,7 +67,7 @@ class PrevDialog(context: Context, private var agree: () -> Unit, private var gi
ds.clearShadowLayer()
}
- }, 53, 59, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
+ }, 56, 62, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
span.setSpan(object : ClickableSpan() {
override fun onClick(widget: View) {
val bundle = Bundle()
@@ -82,7 +83,7 @@ class PrevDialog(context: Context, private var agree: () -> Unit, private var gi
ds.clearShadowLayer()
}
- }, 60, 75, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
+ }, 72, 78, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
span.setSpan(object : ClickableSpan() {
override fun onClick(widget: View) {
val bundle = Bundle()
@@ -98,8 +99,8 @@ class PrevDialog(context: Context, private var agree: () -> Unit, private var gi
ds.isUnderlineText = false
}
- }, 85, 91, Spanned.SPAN_INCLUSIVE_INCLUSIVE)
- span.setSpan(object : ClickableSpan() {
+ }, 79, 85, Spanned.SPAN_INCLUSIVE_INCLUSIVE)
+ /*span.setSpan(object : ClickableSpan() {
override fun onClick(widget: View) {
val bundle = Bundle()
bundle.putString("title", "隐私政策")
@@ -130,7 +131,7 @@ class PrevDialog(context: Context, private var agree: () -> Unit, private var gi
ds.clearShadowLayer()
}
- }, 99, 114, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
+ }, 99, 114, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)*/
binding.mContent.text = span
binding.mContent.highlightColor = Color.TRANSPARENT
@@ -141,6 +142,8 @@ class PrevDialog(context: Context, private var agree: () -> Unit, private var gi
binding.mAgree.setOnClickListener {
dismiss()
agree.invoke()
+ AMapLocationClient.updatePrivacyShow(context,true,true);
+ AMapLocationClient.updatePrivacyAgree(context,true);
}
}
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/frag_dynamic_management_header.xml b/app/src/main/res/layout/frag_dynamic_management_header.xml
index 9df9585..6e614ac 100644
--- a/app/src/main/res/layout/frag_dynamic_management_header.xml
+++ b/app/src/main/res/layout/frag_dynamic_management_header.xml
@@ -31,7 +31,7 @@
-
-
-
-
-
-
-
-
+
+
+ android:text="农历 十月十九"/>
+
+
#F2F6F7
#00000000
#f74c31
+ #6EA8F6
\ No newline at end of file
diff --git a/common/src/main/java/com/xty/common/Const.kt b/common/src/main/java/com/xty/common/Const.kt
index 0dc5e24..fea20d7 100644
--- a/common/src/main/java/com/xty/common/Const.kt
+++ b/common/src/main/java/com/xty/common/Const.kt
@@ -127,6 +127,9 @@ class Const {
const val X1_X2_Device = "x1_x2_device"
const val DEVICE_TYPE = "device_Type"
+ const val LONGITUDE = "longitude" //经度
+ const val LATITUDE = "latitude" //纬度
+
var DeviceIdNum : String = ""
// const val userName = "User_Name"
// const val userBean = "UserUser"
diff --git a/common/src/main/java/com/xty/common/aMapUtils/AmapInit.kt b/common/src/main/java/com/xty/common/aMapUtils/AmapInit.kt
index 1b9a2e2..bb732de 100644
--- a/common/src/main/java/com/xty/common/aMapUtils/AmapInit.kt
+++ b/common/src/main/java/com/xty/common/aMapUtils/AmapInit.kt
@@ -1,6 +1,7 @@
package com.xty.common.aMapUtils
import android.app.Application
+import android.content.Context
import com.amap.api.location.AMapLocation
import com.amap.api.location.AMapLocationClient
import com.amap.api.location.AMapLocationClientOption
@@ -48,7 +49,7 @@ object AmapInit{
}
}
- private fun init(context: Application) {
+ private fun init(context: Context) {
//隐私政策合规
AMapLocationClient.updatePrivacyShow(context,true,true)
AMapLocationClient.updatePrivacyAgree(context,true)
@@ -67,7 +68,8 @@ object AmapInit{
}
//开启监听
- fun startLocation(context: Application, back:(listener:AMapLocation)->Unit) {
+ fun startLocation(context: Context, back:(listener:AMapLocation)->Unit) {
+
funs=back
if (mLocationClient == null) {
init(context)
@@ -81,10 +83,11 @@ object AmapInit{
* 停止
*/
fun stopLocation(){
-// mainScope.cancel()
-// mLocationClient?.let {
-// it.stopLocation()
-// }
+ mainScope.cancel()
+ mLocationClient?.let {
+ it.stopLocation()
+ it.onDestroy()
+ }
}
diff --git a/common/src/main/java/com/xty/common/app/MyApp.kt b/common/src/main/java/com/xty/common/app/MyApp.kt
index 1dc8b4b..904b476 100644
--- a/common/src/main/java/com/xty/common/app/MyApp.kt
+++ b/common/src/main/java/com/xty/common/app/MyApp.kt
@@ -55,14 +55,14 @@ class MyApp : Application() {
super.onCreate()
LogUtils.d("MyApp onCreate!!!!")
- initCrash()
+ // initCrash()
// 初始化 Toast 框架
getInstance(this)
MMkvHelper.initMmkv(this)
ToastUtils.init(this)
ARouter.openDebug()
ARouter.init(this)
- initTouch()
+ // initTouch()
initTimeUtils()
initWxApi()
initUMengSdk()
@@ -70,7 +70,7 @@ class MyApp : Application() {
registerBlueToothBoardCastReceiver()
//bugly 上报 在release版本才会上报
// if(BuildConfig.isRelease){
- CrashReport.initCrashReport(this, "bdcd791680", true)
+ // CrashReport.initCrashReport(this, "", true)
// }
//删除角标
ShortcutBadger.applyCount(applicationContext, 0)
@@ -146,10 +146,10 @@ class MyApp : Application() {
fun initUMengSdk(){
//设置LOG开关,默认为false
UMConfigure.setLogEnabled(!BuildConfig.isRelease)
- /* //友盟预初始化
+ //友盟预初始化
UMConfigure.preInit(applicationContext, BuildConfig.umengKey, BuildConfig.umengChannelName)
// 支持在子进程中统计自定义事件
- UMConfigure.setProcessEvent(true)*/
+ UMConfigure.setProcessEvent(true)
}
/**
@@ -246,7 +246,7 @@ class MyApp : Application() {
/**
* 崩溃拦截框架
*/
- @SuppressLint("RestrictedApi")
+/* @SuppressLint("RestrictedApi")
private fun initCrash() {
CrashGuard.install(this, object : ExceptionHandler() {
override fun onUncaughtException(thread: Thread, throwable: Throwable) {
@@ -258,7 +258,7 @@ class MyApp : Application() {
LogUtils.e("simon", "生命周期异常 thread:${thread.name} throwable:${e.message}")
}
})
- }
+ }*/
// CaocConfig.Builder.create()
// .backgroundMode(CaocConfig.BACKGROUND_MODE_SILENT)
diff --git a/common/src/main/java/com/xty/common/arouter/ARouterUrl.kt b/common/src/main/java/com/xty/common/arouter/ARouterUrl.kt
index 87b529b..3d37fdc 100644
--- a/common/src/main/java/com/xty/common/arouter/ARouterUrl.kt
+++ b/common/src/main/java/com/xty/common/arouter/ARouterUrl.kt
@@ -122,6 +122,10 @@ class ARouterUrl {
//AI 测肤
const val AI_SKIN_MEASUREMENT_ACTIVITY = "/health/com/zj365/health/act/skin/SkinMeasurementMainAct"
+ const val ADD_FAMILY_GUARDIAN_ACT = "/health/com/zj365/health/act/familyhealth/AddFamilyGuardianAct"
+ const val FAMILY_HEALTH_ACT = "/health/com/zj365/health/act/familyhealth/FamilyHealthAct"
+
+
//设备绑定相关
const val XUEYAJI_BIND_LIST = "/health/com/zj365/health/act/XueyaDeviceBindListAct"
const val XUEYAJI_BIND = "/health/com/zj365/health/act/XueyaDeviceBindAct"
diff --git a/common/src/main/res/drawable/shape_r7_3fe_8f6.xml b/common/src/main/res/drawable/shape_r7_3fe_8f6.xml
new file mode 100644
index 0000000..2293e8d
--- /dev/null
+++ b/common/src/main/res/drawable/shape_r7_3fe_8f6.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/common/src/main/res/mipmap-xxhdpi/icon_pay_success.png b/common/src/main/res/mipmap-xxhdpi/icon_pay_success.png
new file mode 100644
index 0000000..f02da67
Binary files /dev/null and b/common/src/main/res/mipmap-xxhdpi/icon_pay_success.png differ
diff --git a/config.gradle b/config.gradle
index bd500c7..d861baf 100644
--- a/config.gradle
+++ b/config.gradle
@@ -17,7 +17,7 @@ ext {
]
umeng = [
- umengKey : "",
+ umengKey : "657bf673a7208a5af1881764",
umengChannelName: "android友盟统计"
]
@@ -35,8 +35,8 @@ ext {
image_preifx = [
- debug_url : "https://auprty.com/app",
- release_url: "https://auprty.com/app"
+ debug_url : "http://java01.zhongjian365.com/app/",
+ release_url: "http://java01.zhongjian365.com/app/"
//debug_url : "http://175.6.39.20:8181/app/",
//release_url: "http://175.6.39.20:8181/app/"
diff --git a/health/src/main/AndroidManifest.xml b/health/src/main/AndroidManifest.xml
index 390c687..a3dd066 100644
--- a/health/src/main/AndroidManifest.xml
+++ b/health/src/main/AndroidManifest.xml
@@ -116,6 +116,11 @@
android:name="com.zj365.health.act.PreventCancertAct"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
+
+
+
+
+
+
\ No newline at end of file
diff --git a/health/src/main/java/com/zj365/health/act/AgreeAct.kt b/health/src/main/java/com/zj365/health/act/AgreeAct.kt
index 582c6e4..095f1e7 100644
--- a/health/src/main/java/com/zj365/health/act/AgreeAct.kt
+++ b/health/src/main/java/com/zj365/health/act/AgreeAct.kt
@@ -74,12 +74,6 @@ class AgreeAct : BaseVmAct() {
bundle.clear()
bundle.putString("title", "用户协议")
bundle.putInt("type", Const.AGREEMENT_1)
- /* RouteManager.goActRequest(
- ARouterUrl.RICH_TEXT,
- this@AgreeAct,
- USER_AGREEMENT,
- bundle
- )*/
}
override fun updateDrawState(ds: TextPaint) {
@@ -90,6 +84,8 @@ class AgreeAct : BaseVmAct() {
}, 2, span.length, Spanned.SPAN_INCLUSIVE_INCLUSIVE)
+ binding.mPrivate.text = span
+
binding.mSubmit.setOnClickListener {
if (!binding.mPrivate.isSelected) {
CommonToastUtils.showToast(R.string.please_agree_server)
@@ -97,6 +93,9 @@ class AgreeAct : BaseVmAct() {
}
mViewModel.uploadImagesFile(signPath)
}
+ binding.tvSignAgain.setOnClickListener {
+ dialog.show()
+ }
binding.mSign.setOnClickListener {
dialog.show()
}
diff --git a/health/src/main/java/com/zj365/health/act/HealthFamilyAct.kt b/health/src/main/java/com/zj365/health/act/HealthFamilyAct.kt
new file mode 100644
index 0000000..fe06534
--- /dev/null
+++ b/health/src/main/java/com/zj365/health/act/HealthFamilyAct.kt
@@ -0,0 +1,19 @@
+package com.zj365.health.act
+
+import com.xty.base.act.BaseVmAct
+import com.xty.base.vm.BaseVm
+import com.zj365.health.adapter.familyhealth.HealthFamilyAdapter
+import com.zj365.health.databinding.ActHealthFamilyBinding
+
+class HealthFamilyAct : BaseVmAct() {
+
+ val binding by lazy{ ActHealthFamilyBinding.inflate(layoutInflater)}
+
+ val adapter by lazy { HealthFamilyAdapter() }
+ override fun liveObserver() {
+
+
+ }
+
+ override fun setLayout() = binding.root
+}
\ No newline at end of file
diff --git a/health/src/main/java/com/zj365/health/act/HealthMainAct.kt b/health/src/main/java/com/zj365/health/act/HealthMainAct.kt
index 9f32b76..6dd9f71 100644
--- a/health/src/main/java/com/zj365/health/act/HealthMainAct.kt
+++ b/health/src/main/java/com/zj365/health/act/HealthMainAct.kt
@@ -70,8 +70,8 @@ class HealthMainAct : IBaseAct() {
arrayOf(
R.string.info_1, R.string.info_3, R.string.info_7,
R.string.info_4, R.string.info_6, R.string.info_2,
- R.string.info_8, R.string.info_11, R.string.info_5,
- R.string.info_10
+ R.string.info_8, R.string.info_11/*, R.string.info_5,
+ R.string.info_10*/
)
}
@@ -79,7 +79,7 @@ class HealthMainAct : IBaseAct() {
arrayOf(
R.string.info_1, R.string.info_3, R.string.info_7,
R.string.info_4, R.string.info_6, R.string.info_2,
- R.string.info_8, R.string.info_11, R.string.info_10
+ R.string.info_8, R.string.info_11/*, R.string.info_10*/
)
}
@@ -87,7 +87,7 @@ class HealthMainAct : IBaseAct() {
arrayOf(
R.string.info_1, R.string.info_3, R.string.info_7,
R.string.info_6, R.string.info_2, R.string.info_8,
- R.string.info_11, R.string.info_10
+ R.string.info_11/*, R.string.info_10*/
)
}
}
@@ -171,8 +171,8 @@ class HealthMainAct : IBaseAct() {
listFragment.add(setArgumentFrag(XueyaFrag(), id))
listFragment.add(setArgumentFrag(XueTangFrag(), id))
listFragment.add(setArgumentFrag(UricAcidFrag(), id, sex))
- listFragment.add(setArgumentFrag(XdFrag(), id))
- listFragment.add(setArgumentFrag(BloodFatFrag(), id))
+ // listFragment.add(setArgumentFrag(XdFrag(), id))
+ // listFragment.add(setArgumentFrag(BloodFatFrag(), id))
}
"A3" -> {
@@ -184,7 +184,7 @@ class HealthMainAct : IBaseAct() {
listFragment.add(setArgumentFrag(XueyaFrag(), id))
listFragment.add(setArgumentFrag(XueTangFrag(), id))
listFragment.add(setArgumentFrag(UricAcidFrag(), id, sex))
- listFragment.add(setArgumentFrag(BloodFatFrag(), id))
+ // listFragment.add(setArgumentFrag(BloodFatFrag(), id))
}
else -> {
@@ -195,7 +195,7 @@ class HealthMainAct : IBaseAct() {
listFragment.add(setArgumentFrag(XueyaFrag(), id))
listFragment.add(setArgumentFrag(XueTangFrag(), id))
listFragment.add(setArgumentFrag(UricAcidFrag(), id, sex))
- listFragment.add(setArgumentFrag(BloodFatFrag(), id))
+ // listFragment.add(setArgumentFrag(BloodFatFrag(), id))
}
}
diff --git a/health/src/main/java/com/zj365/health/act/HealthSkyHourReportAct.kt b/health/src/main/java/com/zj365/health/act/HealthSkyHourReportAct.kt
index 9701057..530a7df 100644
--- a/health/src/main/java/com/zj365/health/act/HealthSkyHourReportAct.kt
+++ b/health/src/main/java/com/zj365/health/act/HealthSkyHourReportAct.kt
@@ -898,7 +898,7 @@ class HealthSkyHourReportAct : BaseVmAct() {
)
)
- if(bsseInfo.bloodFat == null){
+ /*if(bsseInfo.bloodFat == null){
listInfo.add(
ReportBean.HrInfo(
"血脂",
@@ -923,7 +923,7 @@ class HealthSkyHourReportAct : BaseVmAct() {
R.mipmap.ic_uric_acid_small
)
)
- }
+ }*/
if (bsseInfo.uricAcid == null) { //如果服务端没有返回数据,也就是演示模式,我们自己新增一些假数据用于展示
listInfo.add(
@@ -1158,7 +1158,7 @@ class HealthSkyHourReportAct : BaseVmAct() {
}
list.add(uricAcid)
- val bloodFat = if (it.data.bloodFat == null) { //服务端没有返回数据
+ /* val bloodFat = if (it.data.bloodFat == null) { //服务端没有返回数据
com.xty.common.model.ReportBean().apply {
title = "血脂"
count = 1
@@ -1195,7 +1195,7 @@ class HealthSkyHourReportAct : BaseVmAct() {
isShow = true
}
}
- list.add(bloodFat)
+ list.add(bloodFat)*/
val yundong = com.xty.common.model.ReportBean().apply {
title = "运动"
@@ -1662,13 +1662,13 @@ class HealthSkyHourReportAct : BaseVmAct() {
"平均睡眠:${minutesToHours(it.data.signData.sleep.avgTime)}"
binding.analysisTv7.text = "平均血压:" + it.data.signData.dbp.avg + "mmHg"
- if(!TextUtils.isEmpty(it.data.signData.bloodFat.tgAvg)){
+ /*if(!TextUtils.isEmpty(it.data.signData.bloodFat.tgAvg)){
binding.analysisTv9.text = "平均血脂:" + it.data.signData.bloodFat.tgAvg + "mmol"
}else{
binding.analysisTv9.text = "平均血脂:0mmol"
- }
+ }*/
binding.state.apply {
val statusInt = it.data.healthy.result
val star = if (it.data.star.isEmpty()) 0 else Integer.valueOf(it.data.star)
diff --git a/health/src/main/java/com/zj365/health/act/HealthWeekMonthHourReportAct.kt b/health/src/main/java/com/zj365/health/act/HealthWeekMonthHourReportAct.kt
index 802145f..59fe8e4 100644
--- a/health/src/main/java/com/zj365/health/act/HealthWeekMonthHourReportAct.kt
+++ b/health/src/main/java/com/zj365/health/act/HealthWeekMonthHourReportAct.kt
@@ -1334,7 +1334,7 @@ class HealthWeekMonthHourReportAct : BaseVmAct() {
)
}
- if(bsseInfo.bloodFat == null){
+ /*if(bsseInfo.bloodFat == null){
listInfo.add(
com.xty.network.model.ReportBean.HrInfo(
"血脂",
@@ -1359,7 +1359,7 @@ class HealthWeekMonthHourReportAct : BaseVmAct() {
R.mipmap.ic_uric_acid_small
)
)
- }
+ }*/
infoAdapter.setNewInstance(listInfo)
@@ -1566,7 +1566,7 @@ class HealthWeekMonthHourReportAct : BaseVmAct() {
}
list.add(uricAcid)
- val bloodFat = if (it.data.bloodFat == null) { //服务端没有返回数据
+ /*val bloodFat = if (it.data.bloodFat == null) { //服务端没有返回数据
ReportBean().apply {
title = "血脂"
count = 1
@@ -1603,7 +1603,7 @@ class HealthWeekMonthHourReportAct : BaseVmAct() {
isShow = true
}
}
- list.add(bloodFat)
+ list.add(bloodFat)*/
val yundong = ReportBean().apply {
title = "运动"
@@ -1953,13 +1953,13 @@ class HealthWeekMonthHourReportAct : BaseVmAct() {
binding.analysisTv6.text = "平均睡眠: $sleep"
binding.analysisTv7.text = "平均血压: " + it.data.analyse.dbp
- if(!TextUtils.isEmpty(it.data.signData.bloodFat.tgAvg)){
+ /* if(!TextUtils.isEmpty(it.data.signData.bloodFat.tgAvg)){
binding.analysisTv9.text = "平均血脂:" + it.data.signData.bloodFat.tgAvg + "mmol"
}else{
binding.analysisTv9.text = "平均血脂:0mmol"
- }
+ }*/
binding.state.apply {
val statusInt = it.data.analyse.status.toInt()
val star = if (it.data.star.isEmpty()) 0 else Integer.valueOf(it.data.star)
diff --git a/health/src/main/java/com/zj365/health/act/familyhealth/AddFamilyGuardianAct.kt b/health/src/main/java/com/zj365/health/act/familyhealth/AddFamilyGuardianAct.kt
new file mode 100644
index 0000000..f92188f
--- /dev/null
+++ b/health/src/main/java/com/zj365/health/act/familyhealth/AddFamilyGuardianAct.kt
@@ -0,0 +1,69 @@
+package com.zj365.health.act.familyhealth
+
+import android.text.TextUtils
+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.xty.common.util.CommonToastUtils
+import com.zj365.health.databinding.ActAddFamilyGuardianBinding
+import com.zj365.health.vm.AddFamilyGuardianVm
+
+@Route(path = ARouterUrl.ADD_FAMILY_GUARDIAN_ACT)
+class AddFamilyGuardianAct : BaseVmAct() {
+ val binding by lazy { ActAddFamilyGuardianBinding.inflate(layoutInflater) }
+
+ var isFrist = false
+
+ var familyRelation:String? = null
+ var familyPhone:String? = null
+ var guardian:String = "0"
+
+ override fun liveObserver() {
+ mViewModel.submitLiveData.observe(this){
+
+ }
+
+ }
+
+ override fun setLayout() = binding.root
+
+ override fun initView() {
+ super.initView()
+ statusBar(binding.title.mView)
+ binding.title.mTvTitle.text = "添加监护人"
+ binding.title.mIvBack.setOnClickListener {
+ finish()
+ }
+
+ binding.tvBind.setOnClickListener {
+ familyRelation = binding.etName.text.toString()
+ familyPhone = binding.etPhone.text.toString()
+ if(TextUtils.isEmpty(familyRelation)){
+ CommonToastUtils.showToast("请填写监护关系")
+ return@setOnClickListener
+ }else if (TextUtils.isEmpty(familyPhone)){
+ CommonToastUtils.showToast("请填写手机号码")
+ return@setOnClickListener
+ }
+
+ if(isFrist){
+ guardian = "1"
+ }else{
+ guardian = "0"
+ }
+
+ mViewModel.addFamily(familyRelation!!,familyPhone!!,guardian)
+ }
+
+ binding.cbFrist.setOnCheckedChangeListener { compoundButton, b ->
+ isFrist = b
+
+
+ }
+ }
+
+ override fun initData() {
+ super.initData()
+ }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..012daec
--- /dev/null
+++ b/health/src/main/java/com/zj365/health/act/familyhealth/FamilyHealthAct.kt
@@ -0,0 +1,31 @@
+package com.zj365.health.act.familyhealth
+
+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.health.adapter.familyhealth.HealthFamilyAdapter
+import com.zj365.health.databinding.ActHealthFamilyBinding
+
+@Route(path = ARouterUrl.FAMILY_HEALTH_ACT)
+class FamilyHealthAct : BaseVmAct() {
+ val binding by lazy { ActHealthFamilyBinding.inflate(layoutInflater) }
+ val adapter by lazy { HealthFamilyAdapter() }
+ override fun liveObserver() {
+ }
+
+ override fun setLayout() = binding.root
+
+ override fun initView() {
+ super.initView()
+ statusBar(binding.title.mView)
+ binding.title.mTvTitle.text = "家人健康"
+ binding.title.mIvBack.setOnClickListener {
+ finish()
+ }
+ }
+
+ override fun initData() {
+ super.initData()
+ }
+}
\ No newline at end of file
diff --git a/health/src/main/java/com/zj365/health/adapter/FamilyHealth/HealthFamilyAdapter.kt b/health/src/main/java/com/zj365/health/adapter/FamilyHealth/HealthFamilyAdapter.kt
new file mode 100644
index 0000000..b165729
--- /dev/null
+++ b/health/src/main/java/com/zj365/health/adapter/FamilyHealth/HealthFamilyAdapter.kt
@@ -0,0 +1,12 @@
+package com.zj365.health.adapter.familyhealth
+
+import com.chad.library.adapter.base.viewholder.BaseViewHolder
+import com.xty.base.adapter.BaseAdapter
+import com.zj365.health.R
+
+class HealthFamilyAdapter: BaseAdapter(R.layout.item_health_family) {
+ override fun convert(holder: BaseViewHolder, item: Any) {
+
+
+ }
+}
\ No newline at end of file
diff --git a/health/src/main/java/com/zj365/health/adapter/FamilyHealth/HealthFamilyTargetAdapter.kt b/health/src/main/java/com/zj365/health/adapter/FamilyHealth/HealthFamilyTargetAdapter.kt
new file mode 100644
index 0000000..8eb01bf
--- /dev/null
+++ b/health/src/main/java/com/zj365/health/adapter/FamilyHealth/HealthFamilyTargetAdapter.kt
@@ -0,0 +1,11 @@
+package com.zj365.health.adapter.familyhealth
+
+import com.chad.library.adapter.base.viewholder.BaseViewHolder
+import com.xty.base.adapter.BaseAdapter
+import com.zj365.health.R
+
+class HealthFamilyTargetAdapter : BaseAdapter(R.layout.item_health_family_target) {
+ override fun convert(holder: BaseViewHolder, item: String) {
+ TODO("Not yet implemented")
+ }
+}
\ No newline at end of file
diff --git a/health/src/main/java/com/zj365/health/adapter/FamilyHealth/HealthFamilyUserAvatorAdapter.kt b/health/src/main/java/com/zj365/health/adapter/FamilyHealth/HealthFamilyUserAvatorAdapter.kt
new file mode 100644
index 0000000..a34ba9c
--- /dev/null
+++ b/health/src/main/java/com/zj365/health/adapter/FamilyHealth/HealthFamilyUserAvatorAdapter.kt
@@ -0,0 +1,29 @@
+package com.zj365.health.adapter.familyhealth
+
+import android.view.View
+import android.view.ViewGroup
+import com.chad.library.adapter.base.viewholder.BaseViewHolder
+import com.xty.base.adapter.BaseAdapter
+import com.xty.common.setImageUser
+import com.zj365.health.R
+import de.hdodenhof.circleimageview.CircleImageView
+
+
+class HealthFamilyUserAvatorAdapter : BaseAdapter(R.layout.item_health_family_user_avator) {
+ override fun convert(holder: BaseViewHolder, item: String) {
+ val position = holder.layoutPosition
+ if (position == 0){
+ setMargins(holder.itemView,0,0,0,0)
+ }
+ holder.getView(R.id.img_user_avator).setImageUser(context,item)
+
+ }
+
+ fun setMargins(v: View, l: Int, t: Int, r: Int, b: Int) {
+ if (v.layoutParams is ViewGroup.MarginLayoutParams) {
+ val p = v.layoutParams as ViewGroup.MarginLayoutParams
+ p.setMargins(l, t, r, b)
+ v.requestLayout()
+ }
+ }
+}
\ No newline at end of file
diff --git a/health/src/main/java/com/zj365/health/vm/AddFamilyGuardianVm.kt b/health/src/main/java/com/zj365/health/vm/AddFamilyGuardianVm.kt
new file mode 100644
index 0000000..a01da7f
--- /dev/null
+++ b/health/src/main/java/com/zj365/health/vm/AddFamilyGuardianVm.kt
@@ -0,0 +1,24 @@
+package com.zj365.health.vm
+
+import androidx.lifecycle.MutableLiveData
+import com.xty.base.vm.BaseVm
+import com.xty.network.model.RespBody
+import org.json.JSONObject
+
+class AddFamilyGuardianVm : BaseVm() {
+
+ val submitLiveData by lazy { MutableLiveData>() }
+
+ fun addFamily(relation:String,phone:String,guardian:String){
+ startHttp (true){
+ val json = JSONObject()
+ json.put("relation",relation)
+ json.put("phone",phone)
+ json.put("guardian",guardian)
+
+ val body = apiInterface().addFamilyGuardian(retrofits.getRequestBody(json.toString()))
+ body.getCodeStatus(submitLiveData,nowData)
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/health/src/main/java/com/zj365/health/weight/AIIcingPaySuccessDialog.kt b/health/src/main/java/com/zj365/health/weight/AIIcingPaySuccessDialog.kt
new file mode 100644
index 0000000..07290fc
--- /dev/null
+++ b/health/src/main/java/com/zj365/health/weight/AIIcingPaySuccessDialog.kt
@@ -0,0 +1,19 @@
+package com.zj365.health.weight
+
+import android.content.Context
+import android.view.View
+import com.xty.base.dialog.BaseDialog
+import com.zj365.health.databinding.DialogAiIcingBinding
+import com.zj365.health.databinding.DialogCancerBinding
+
+class AIIcingPaySuccessDialog(context: Context) : BaseDialog(context) {
+ val binding by lazy { DialogAiIcingBinding.inflate(layoutInflater) }
+ override fun setLayout() = binding.root
+
+ override fun initView() {
+ super.initView()
+ binding.tvConfirm.setOnClickListener {
+ dismiss()
+ }
+ }
+}
\ No newline at end of file
diff --git a/health/src/main/java/com/zj365/health/weight/DialogTipNew.kt b/health/src/main/java/com/zj365/health/weight/DialogTipNew.kt
new file mode 100644
index 0000000..5d92ac8
--- /dev/null
+++ b/health/src/main/java/com/zj365/health/weight/DialogTipNew.kt
@@ -0,0 +1,49 @@
+package com.zj365.health.weight
+
+import android.content.Context
+import android.view.View
+import androidx.core.content.ContextCompat
+import com.xty.base.dialog.BaseDialog
+import com.xty.common.SizeUtil
+import com.zj365.health.R
+import com.zj365.health.databinding.DialogTipToastBinding
+
+class DialogTipNew(
+ context: Context,
+ var title: String,
+ var confirmText: String? = "确定",
+ var cancelText:String? = "取消",
+ var isSingleBtn:Boolean = false,
+ var confirm: () -> Unit,
+ var cancel: () -> Unit
+) : BaseDialog(context) {
+ val binding by lazy { DialogTipToastBinding.inflate(layoutInflater) }
+ override fun setLayout() = binding.root
+ override fun initView() {
+ super.initView()
+ setDialogPadding(SizeUtil.dp2px(context, 40f), 0, SizeUtil.dp2px(context, 40f), 0)
+ binding.mTitle.text = title
+
+ if (isSingleBtn) {
+ binding.clTwoBtnLayout.visibility = View.GONE
+ binding.mTitle.setTextColor(ContextCompat.getColor(context, R.color.col_7c7))
+ binding.tvSingle.visibility = View.VISIBLE
+ binding.tvSingle.text = confirmText
+ binding.tvSingle.setOnClickListener {
+ dismiss()
+ }
+ } else {
+ binding.mTvConfirm.text = confirmText
+ binding.mTvCancel.text = cancelText
+ binding.mTvCancel.setOnClickListener {
+ cancel.invoke()
+ dismiss()
+ }
+ binding.mTvConfirm.setOnClickListener {
+ confirm.invoke()
+ dismiss()
+ }
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/health/src/main/res/layout/act_add_family_guardian.xml b/health/src/main/res/layout/act_add_family_guardian.xml
new file mode 100644
index 0000000..e9c17af
--- /dev/null
+++ b/health/src/main/res/layout/act_add_family_guardian.xml
@@ -0,0 +1,146 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/health/src/main/res/layout/act_health_family.xml b/health/src/main/res/layout/act_health_family.xml
new file mode 100644
index 0000000..ab2fd06
--- /dev/null
+++ b/health/src/main/res/layout/act_health_family.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/health/src/main/res/layout/act_health_sky_hour_report.xml b/health/src/main/res/layout/act_health_sky_hour_report.xml
index c603a6b..89e29b6 100644
--- a/health/src/main/res/layout/act_health_sky_hour_report.xml
+++ b/health/src/main/res/layout/act_health_sky_hour_report.xml
@@ -745,6 +745,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_12"
android:textColor="@color/col_c7c"
+ android:visibility="gone"
android:textSize="@dimen/sp_14"
tools:text="平均心率: 92次/分" />
diff --git a/health/src/main/res/layout/act_health_week_month_hour_report.xml b/health/src/main/res/layout/act_health_week_month_hour_report.xml
index 49fa9ab..8b7a168 100644
--- a/health/src/main/res/layout/act_health_week_month_hour_report.xml
+++ b/health/src/main/res/layout/act_health_week_month_hour_report.xml
@@ -767,6 +767,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_12"
android:textColor="@color/col_c7c"
+ android:visibility="gone"
android:textSize="@dimen/sp_14"
tools:text="平均心率: 92次/分" />
diff --git a/health/src/main/res/layout/dialog_ai_icing.xml b/health/src/main/res/layout/dialog_ai_icing.xml
new file mode 100644
index 0000000..35db2ea
--- /dev/null
+++ b/health/src/main/res/layout/dialog_ai_icing.xml
@@ -0,0 +1,97 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/health/src/main/res/layout/frag_community_rank.xml b/health/src/main/res/layout/frag_community_rank.xml
index 4b6c034..7be6700 100644
--- a/health/src/main/res/layout/frag_community_rank.xml
+++ b/health/src/main/res/layout/frag_community_rank.xml
@@ -44,7 +44,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical|right"
- android:textColor="@color/col_8D0"
+ android:textColor="@color/col_02c"
android:layout_marginRight="@dimen/dp_14"
android:text="第23名"
android:textSize="@dimen/dp_18" />
diff --git a/health/src/main/res/layout/frag_step_community_rank.xml b/health/src/main/res/layout/frag_step_community_rank.xml
index b4e1d13..bd91885 100644
--- a/health/src/main/res/layout/frag_step_community_rank.xml
+++ b/health/src/main/res/layout/frag_step_community_rank.xml
@@ -73,7 +73,7 @@
android:layout_height="match_parent"
android:layout_marginEnd="16dp"
android:gravity="center"
- android:textColor="@color/col_25C"
+ android:textColor="@color/col_02c"
android:textSize="18dp" />
diff --git a/health/src/main/res/layout/item_health_family.xml b/health/src/main/res/layout/item_health_family.xml
new file mode 100644
index 0000000..1d4d844
--- /dev/null
+++ b/health/src/main/res/layout/item_health_family.xml
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/health/src/main/res/layout/item_health_family_target.xml b/health/src/main/res/layout/item_health_family_target.xml
new file mode 100644
index 0000000..ee72caa
--- /dev/null
+++ b/health/src/main/res/layout/item_health_family_target.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/health/src/main/res/layout/item_health_family_user_avator.xml b/health/src/main/res/layout/item_health_family_user_avator.xml
new file mode 100644
index 0000000..069e530
--- /dev/null
+++ b/health/src/main/res/layout/item_health_family_user_avator.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/health/src/main/res/layout/item_rank_list.xml b/health/src/main/res/layout/item_rank_list.xml
index 33a1c36..f62ca67 100644
--- a/health/src/main/res/layout/item_rank_list.xml
+++ b/health/src/main/res/layout/item_rank_list.xml
@@ -74,7 +74,7 @@
android:layout_marginRight="@dimen/dp_10"
android:gravity="right"
android:layout_gravity="center_vertical"
- android:textColor="@color/col_8D0"
+ android:textColor="@color/col_02c"
android:textSize="@dimen/dp_16" />
\ No newline at end of file
diff --git a/health/src/main/res/layout/item_step_rank_list.xml b/health/src/main/res/layout/item_step_rank_list.xml
index 511fa3a..f1e1b93 100644
--- a/health/src/main/res/layout/item_step_rank_list.xml
+++ b/health/src/main/res/layout/item_step_rank_list.xml
@@ -73,7 +73,7 @@
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="right"
- android:textColor="@color/col_25C"
+ android:textColor="@color/col_02c"
android:textSize="16dp" />
\ No newline at end of file
diff --git a/mine/src/main/java/com/zj365/mime/act/AboutAct.kt b/mine/src/main/java/com/zj365/mime/act/AboutAct.kt
index 0e79a2c..34c7a27 100644
--- a/mine/src/main/java/com/zj365/mime/act/AboutAct.kt
+++ b/mine/src/main/java/com/zj365/mime/act/AboutAct.kt
@@ -2,6 +2,7 @@ package com.zj365.mime.act
import android.text.Html
import com.alibaba.android.arouter.facade.annotation.Route
+import com.blankj.utilcode.util.ArrayUtils
import com.xty.base.act.BaseVmAct
import com.xty.common.MMkvHelper
import com.xty.common.arouter.ARouterUrl
@@ -45,15 +46,18 @@ class AboutAct: BaseVmAct() {
override fun liveObserver() {
mViewModel.prevLive.observe(this){
- it.data[0].let {
- binding.mVersion.text="版本号: V${packageManager.getPackageInfo(this.packageName,0).versionName}"
- binding.mWebSite.text=Html.fromHtml(String.format(getString(R.string.about_info),"公司网址:",it.website))
- binding.mPhone.text=Html.fromHtml(String.format(getString(R.string.about_info),"联系电话:",it.phone))
- binding.mEmail.text=Html.fromHtml(String.format(getString(R.string.about_info),"邮箱地址:",it.email))
- binding.mCode.apply {
- setImage(context,getImageUrl(it.qrCode))
+ if (!ArrayUtils.isEmpty(it.data)){
+ it.data[0].let {
+ binding.mVersion.text="版本号: V${packageManager.getPackageInfo(this.packageName,0).versionName}"
+ binding.mWebSite.text=Html.fromHtml(String.format(getString(R.string.about_info),"公司网址:",it.website))
+ binding.mPhone.text=Html.fromHtml(String.format(getString(R.string.about_info),"联系电话:",it.phone))
+ binding.mEmail.text=Html.fromHtml(String.format(getString(R.string.about_info),"邮箱地址:",it.email))
+ binding.mCode.apply {
+ setImage(context,getImageUrl(it.qrCode))
+ }
}
}
+
}
}
}
\ No newline at end of file
diff --git a/mine/src/main/java/com/zj365/mime/act/BaseInfoChangeAct.kt b/mine/src/main/java/com/zj365/mime/act/BaseInfoChangeAct.kt
index cf62723..1df7a75 100644
--- a/mine/src/main/java/com/zj365/mime/act/BaseInfoChangeAct.kt
+++ b/mine/src/main/java/com/zj365/mime/act/BaseInfoChangeAct.kt
@@ -245,12 +245,17 @@ class BaseInfoChangeAct : BaseVmAct() {
binding.mPhone.text = it.phone
// binding.mId.setText(it.idCard)
binding.mBirthday.text = it.birthday
+ if (it.birthdayType == 2){
+ binding.tvCalType.text = "公历"
+ }else{
+ binding.tvCalType.text = "农历"
+ }
if(binding.tvCalType.text.toString().equals("公历")){
it.birthdayType == 2
}else{
it.birthdayType == 1
}
- binding.checkBirthday.isChecked = it.birthdayType == 2
+ // binding.checkBirthday.isChecked = it.birthdayType == 2
// when(it.birthdayType){
// 1-> binding.checkBirthday.isChecked = false
// 2->binding.checkBirthday.isChecked = true
diff --git a/mine/src/main/java/com/zj365/mime/act/DevInfoAct.kt b/mine/src/main/java/com/zj365/mime/act/DevInfoAct.kt
index a7e53c0..82e6882 100644
--- a/mine/src/main/java/com/zj365/mime/act/DevInfoAct.kt
+++ b/mine/src/main/java/com/zj365/mime/act/DevInfoAct.kt
@@ -84,7 +84,7 @@ class DevInfoAct : BaseVmAct(),EasyPermissions.PermissionCallbacks {
binding.mCode.text = "设备编号:${it.deviceId}"
binding.mActiveCode.text = "设备激活码:${it.activationCode}"
binding.mActiveCode.visibility = View.VISIBLE
- setDevicePic(it.deviceType, binding.ivDevice)
+ // setDevicePic(it.deviceType, binding.ivDevice)
}
userId?.let {
@@ -138,9 +138,9 @@ class DevInfoAct : BaseVmAct(),EasyPermissions.PermissionCallbacks {
mViewModel.deviceInfo.observe(this) {
binding.mNickName.text = "设备名称:${it.data.watchName?:""}"
- binding.mNum.text = "设备地址:${it.data.bluetooth?:""}"
- binding.mCode.text = "设备编号:${it.data.deviceCode?:""}"
- binding.mActiveCode.text = "设备激活码:${it.data.activationCode?:""}"
+ binding.mNum.text = "设备编码:${it.data.bluetooth?:""}"
+ binding.mCode.text = "物联网卡:${it.data.deviceCode?:""}"
+ binding.mActiveCode.text = "流量到期:${it.data.activationCode?:""}"
binding.mActiveCode.visibility = View.VISIBLE
setDevicePic(it.data.deviceType, binding.ivDevice)
diff --git a/mine/src/main/java/com/zj365/mime/act/MessageDetailAct.kt b/mine/src/main/java/com/zj365/mime/act/MessageDetailAct.kt
index b980dc6..b81e8bf 100644
--- a/mine/src/main/java/com/zj365/mime/act/MessageDetailAct.kt
+++ b/mine/src/main/java/com/zj365/mime/act/MessageDetailAct.kt
@@ -31,7 +31,7 @@ class MessageDetailAct: IBaseAct() {
}
binding.mMsg.text=content
- // onEventObject(baseContext, UmengEventId.WarningMsg, "查看预警消息详情$content")
+ onEventObject(baseContext, UmengEventId.WarningMsg, "查看预警消息详情$content")
}
override fun initView() {
diff --git a/mine/src/main/java/com/zj365/mime/act/SettingNewAct.kt b/mine/src/main/java/com/zj365/mime/act/SettingNewAct.kt
index f444dad..bf10e2a 100644
--- a/mine/src/main/java/com/zj365/mime/act/SettingNewAct.kt
+++ b/mine/src/main/java/com/zj365/mime/act/SettingNewAct.kt
@@ -77,18 +77,22 @@ class SettingNewAct: BaseVmAct() {
bundle.clear()
bundle.putString("title", "隐私政策")
bundle.putBoolean("isAgree", false)
- bundle.putString("url","https://auprty.com/app/static/app/privacy.html")
+ bundle.putString("url","https://dc.zhongjian365.com/privacy.html")
RouteManager.goAct(ARouterUrl.AGREEMNT_READ_WEB_ACT, bundle)
}
binding.mTvUserAgree.setOnClickListener {
-
bundle.clear()
+ bundle.putString("title", "用户协议")
+ bundle.putBoolean("isAgree", false)
+ bundle.putString("url","https://dc.zhongjian365.com/agreement.html")
+ RouteManager.goAct(ARouterUrl.AGREEMNT_READ_WEB_ACT, bundle)
+ /* bundle.clear()
bundle.putString("title", "用户协议")
bundle.putInt("type", Const.AGREEMENT_1)
bundle.putBoolean("isAgree", false)
- RouteManager.goAct(ARouterUrl.RICH_TEXT, bundle)
+ RouteManager.goAct(ARouterUrl.RICH_TEXT, bundle)*/
}
diff --git a/mine/src/main/res/layout/act_dev_info.xml b/mine/src/main/res/layout/act_dev_info.xml
index ed874f0..0dc42d9 100644
--- a/mine/src/main/res/layout/act_dev_info.xml
+++ b/mine/src/main/res/layout/act_dev_info.xml
@@ -32,7 +32,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
- android:src="@mipmap/ic_device_watch" />
+ android:src="@mipmap/ic_watch_gs29u" />
>
+ @POST("customer/index/getWeather")
+ suspend fun getWeather(@Body rb: RequestBody): RespBody
+
/**
* 关联家人
*/
@@ -907,6 +910,14 @@ interface ApiInterface {
@POST("customer/layout/list")
suspend fun getHomeLayout():RespBody
+ /**
+ * 膳食分析-热卡分析
+ */
+ @POST("customer/meals/foodRecognize")
+ @Multipart
+ suspend fun foodRecognize(@Part file: MultipartBody.Part,
+ @Part("type") type: RequestBody): RespBody>
+
/**
* 关于
*/
@@ -1685,4 +1696,10 @@ interface ApiInterface {
*/
@POST("customer/user/getInviteCount")
suspend fun getInviteCount(@Body rb: RequestBody): RespBody
+
+ /**
+ * 添加家人
+ */
+ @POST("customer/family/addFamily")
+ suspend fun addFamilyGuardian(@Body rb: RequestBody): RespBody
}
\ No newline at end of file
diff --git a/network/src/main/java/com/xty/network/model/FoodRecoginzeInfo.kt b/network/src/main/java/com/xty/network/model/FoodRecoginzeInfo.kt
new file mode 100644
index 0000000..2d19151
--- /dev/null
+++ b/network/src/main/java/com/xty/network/model/FoodRecoginzeInfo.kt
@@ -0,0 +1,12 @@
+package com.xty.network.model
+
+import java.nio.DoubleBuffer
+
+data class FoodRecoginzeInfo(
+ val heat:Double,
+ val df:Double,
+ val cho:Double,
+ val chol:Double,
+ val na:DoubleBuffer
+) {
+}
\ No newline at end of file
diff --git a/network/src/main/java/com/xty/network/model/MainBean.kt b/network/src/main/java/com/xty/network/model/MainBean.kt
index 95a0730..1ff0c4a 100644
--- a/network/src/main/java/com/xty/network/model/MainBean.kt
+++ b/network/src/main/java/com/xty/network/model/MainBean.kt
@@ -20,13 +20,20 @@ data class MainBean(
val power: String,
val watchType: Int,//0:蓝牙U32 1:4G A3
val weather: Weather,
+ val bmi:String, //BMI 值
+ val warningCount :Int, //预警次数
+ val healthCount :Int, //监测次数
+ val chinaDay:String, //农历日期
+ val nowDay:String,//当前日期
val deviceTotal: DeviceTotal,//物联网数据
val demonstrate: Int,//0:普通模式 1: 演示模式
val stepData: StepData,//步数
val bloodSugarData: DloodSugarData,//血糖
val uricAcidData: UricAcidData,//尿酸
val caloriesData: String,//卡路里
- val bloodFatData: BloodFatData//血脂
+ val bloodFatData: BloodFatData,//血脂
+ val bmiInfo: BMIInfoBean //bmi信息
+
) {
//血脂
data class BloodFatData(
@@ -147,6 +154,12 @@ data class MainBean(
val star: String,
val deviceType: String,
val weight: String? = null,
- val bodyFatMac: String
+ val bodyFatMac: String,
+ val isPerfect:Int = 1 //0,未完善,1,已完善
) : Serializable
+
+ data class BMIInfoBean(
+ val levelName:String,
+ val bmi:String
+ )
}
diff --git a/network/src/main/java/com/xty/network/model/WeatherBean.kt b/network/src/main/java/com/xty/network/model/WeatherBean.kt
new file mode 100644
index 0000000..56e3e2c
--- /dev/null
+++ b/network/src/main/java/com/xty/network/model/WeatherBean.kt
@@ -0,0 +1,7 @@
+package com.xty.network.model
+
+data class WeatherBean(
+ val temp:String,
+ val text:String
+) {
+}
\ No newline at end of file