diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 05d648d..5a50715 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -156,6 +156,9 @@ android:launchMode="singleTop" android:screenOrientation="portrait" /> + () { var msgBean : MessageTypeDataBean.MessageTypeBean? = null + var warningBean:MessageBean.SysMsg ? = null + override fun liveObserver() { } @@ -52,7 +54,18 @@ class MessageDetailNewAct: BaseVmAct() { } + }else if(it.containsKey("WarnningBean")){ + warningBean=it.getSerializable("WarnningBean") as MessageBean.SysMsg + warningBean?.let { + binding.tvMsgTitle.text = it.notifyTitle + binding.tvMsgTime.text = Dateutils.formatTime(it.notifyCreateTime,Dateutils.YYYY_MM_DD_HH_MM) + binding.tvMsgContent.text = Html.fromHtml(it.notifyContent,ImageGetterUtils.MyImageGetter(this,binding.tvMsgContent),null) + + } + }else{ + } + } onEventObject( diff --git a/app/src/main/java/com/zj365/dc/activity/WarningMsgAct.kt b/app/src/main/java/com/zj365/dc/activity/WarningMsgAct.kt index 7d40695..f2829fb 100644 --- a/app/src/main/java/com/zj365/dc/activity/WarningMsgAct.kt +++ b/app/src/main/java/com/zj365/dc/activity/WarningMsgAct.kt @@ -46,7 +46,6 @@ class WarningMsgAct : BaseListAct() { override fun initAdapter() { binding.mRecycle.layoutManager = LinearLayoutManager(this) binding.mRecycle.adapter = adapter - binding.mRecycle.addItemDecoration(RecycleItem(this, 30)) adapter.addChildClickViewIds(R.id.mContentView) adapter.setOnItemChildClickListener { adapter, view, position -> var bean = adapter.getItem(position) @@ -59,8 +58,8 @@ class WarningMsgAct : BaseListAct() { clickPosition = position } else { bundle.clear() - bundle.putSerializable("bean", data) - RouteManager.goAct(ARouterUrl.MESSAGE_DETAIL, bundle) + bundle.putSerializable("WarnningBean", data) + RouteManager.goAct(ARouterUrl.MESSAGE_DETAIL_NEW, bundle) } } } @@ -73,8 +72,8 @@ class WarningMsgAct : BaseListAct() { (adapter.data[clickPosition]).notifyStatus = 1 adapter.notifyItemChanged(clickPosition) bundle.clear() - bundle.putSerializable("bean", clickBean) - RouteManager.goAct(ARouterUrl.MESSAGE_DETAIL, bundle) + bundle.putSerializable("WarnningBean", clickBean) + RouteManager.goAct(ARouterUrl.MESSAGE_DETAIL_NEW, bundle) } mViewModel.warningMsgLive.observe(this) { it?.let { diff --git a/app/src/main/java/com/zj365/dc/adapter/WarningMessageAdapter.kt b/app/src/main/java/com/zj365/dc/adapter/WarningMessageAdapter.kt index 6bcb0fa..ad66823 100644 --- a/app/src/main/java/com/zj365/dc/adapter/WarningMessageAdapter.kt +++ b/app/src/main/java/com/zj365/dc/adapter/WarningMessageAdapter.kt @@ -31,7 +31,7 @@ class WarningMessageAdapter():BaseAdapter(R.layout.item_warn } draw.mutate() draw.setBounds(0,0,draw.minimumWidth,draw.minimumHeight) - tv.setCompoundDrawables(draw,null,null,null) + tv.setCompoundDrawables(null,null,draw,null) } } 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 7916826..8523705 100644 --- a/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt +++ b/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt @@ -65,6 +65,7 @@ import com.zj365.dc.databinding.FragDynamicManagementBinding import com.zj365.dc.vm.DynamicManagementVm import com.zj365.health.vm.ReportVm import com.zj365.health.weight.DialogTip +import com.zj365.health.weight.DialogTipNew import com.zj365.mime.weight.FactorySettingDialog import com.zj365.mime.weight.NoticeSettingDialog import io.reactivex.Observable @@ -249,8 +250,8 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission //点击事件 private fun setOnClickListener() { - binding.mMsgLayout.setOnClickListener(onClickListener) - binding.mMsg.setOnClickListener(onClickListener) + /* binding.mMsgLayout.setOnClickListener(onClickListener) + binding.mMsg.setOnClickListener(onClickListener)*/ binding.mHeader.mCard.setOnClickListener(onClickListener) binding.mHeader.mBtnBind.setOnClickListener(onClickListener) binding.mGriddingList.mSub.setOnClickListener(onClickListener) @@ -264,13 +265,14 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission binding.mHealthReport.llHebdomadReport.setOnClickListener(onClickListener) binding.mHealthReport.llThirtyDaysReport.setOnClickListener(onClickListener) binding.mHeader.mHealthRecords.setOnClickListener(onClickListener) + binding.mHeader.tvWarningNum.setOnClickListener(onClickListener) } //点击事件响应 private var onClickListener = View.OnClickListener { when (it.id) { //消息 - R.id.mMsg, R.id.mMsgLayout -> { + R.id.tv_warning_num/*, R.id.mMsgLayout*/ -> { RouteManager.goAct(ARouterUrl.WARNING_MSG) } //健康档案 @@ -518,12 +520,12 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission }else{ if (EasyPermissions.somePermissionDenied(requireActivity(), Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION)){ - DialogTip( + /*DialogTip( requireContext(), "中健365需要定位权限,需要打开设置页面么?" ) { JumpPermissionManagement.GoToSetting(requireActivity()) - }.show() + }.show()*/ }else{ FactorySettingDialog( requireContext(), @@ -739,7 +741,7 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission override fun observer() { //预警消息 - mViewModel.warningMsgLive.observe(this) { + /* mViewModel.warningMsgLive.observe(this) { updateBadgeNum(it.data.noReadNum) val systemMessage = it.data.systemMessage if (systemMessage !=null && systemMessage.isNotEmpty()) { @@ -748,7 +750,7 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission } else { updateWarningInfo(null) } - } + }*/ mViewModel.weatherLiveDate.observe(this){ if(it.data == null){ @@ -1477,7 +1479,7 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission } private fun updateBadgeNum(num: Int) { - if (num > 0) { + /*if (num > 0) { val badgeText = if (num > 99) "99+" else "$num" binding.mBadge.text = badgeText binding.mBadge.post { @@ -1496,7 +1498,7 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission binding.mBadgeCard.visibility = View.VISIBLE } else { binding.mBadgeCard.visibility = View.GONE - } + }*/ } private fun updateWarningInfo(sysMsg: MessageBean.SysMsg?) { 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 87c2832..6d89c3a 100644 --- a/app/src/main/java/com/zj365/dc/fragment/HealthHomeFrag.kt +++ b/app/src/main/java/com/zj365/dc/fragment/HealthHomeFrag.kt @@ -287,11 +287,17 @@ HealthHomeFrag : BaseVmFrag() { } }else{ - contentData.jumpUrl?.let { - bundle.clear() - bundle.putString("title", contentData.name) - bundle.putString("url", contentData.jumpUrl) - RouteManager.goAct(ARouterUrl.WEB_ACT, bundle) + if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){ + RouteManager.goAct(ARouterUrl.LOGIN_ACT) + }else { + contentData.jumpUrl?.let { + bundle.clear() + bundle.putString( + "web_site_url", + "${it}" + ) + RouteManager.goAct(ARouterUrl.H5_ACT, bundle) + } } } @@ -408,11 +414,18 @@ HealthHomeFrag : BaseVmFrag() { } 2->{ - contentData.jumpUrl?.let { - bundle.clear() - bundle.putString("title", contentData.name) - bundle.putString("url", contentData.jumpUrl) - RouteManager.goAct(ARouterUrl.WEB_ACT, bundle) + + if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){ + RouteManager.goAct(ARouterUrl.LOGIN_ACT) + }else { + contentData.jumpUrl?.let { + bundle.clear() + bundle.putString( + "web_site_url", + "${it}" + ) + RouteManager.goAct(ARouterUrl.H5_ACT, bundle) + } } } 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 97bf0b7..130e240 100644 --- a/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt +++ b/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt @@ -108,23 +108,7 @@ class MineFrag : BaseVmFrag() , EasyPermissions.PermissionCallbacks{ //刷新注册 refresh() - Const.mainLiveData.value?.let { - user = it.user - binding.mName.text = it.user.name - binding.mPhone.text = "${it.user.phone}" -// binding.mDk.text = it.clock.toString() -// binding.mLevel.text = it.grade - if (it.user.avatarUrl.isNullOrEmpty()) { - binding.mImage.setImageResource(defaultIcon[if (it.user.sex - 1 < 0) 0 else it.user.sex - 1]) - } else { - binding.mImage.setImageUser( - requireContext(), - it.user.avatarUrl, - it.user.sex.toString() - ) - Const.CHAT_IMAGE = it.user.avatarUrl - } - } + binding.clInfo.setOnClickListener { if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){ RouteManager.goAct(ARouterUrl.LOGIN_ACT) @@ -222,7 +206,7 @@ class MineFrag : BaseVmFrag() , EasyPermissions.PermissionCallbacks{ bundle.clear() bundle.putString( "web_site_url", - "${it.start_business}" + "${it.vip_server}" ) RouteManager.goAct(ARouterUrl.H5_ACT, bundle) }else{ @@ -412,6 +396,46 @@ class MineFrag : BaseVmFrag() , EasyPermissions.PermissionCallbacks{ } } + binding.llMagicTest.setOnClickListener { + if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){ + RouteManager.goAct(ARouterUrl.LOGIN_ACT) + }else { + otherInfo?.let { + if (!TextUtils.isEmpty(it.magic_mirror)){ + bundle.clear() + bundle.putString( + "web_site_url", + "${it.magic_mirror}" + ) + RouteManager.goAct(ARouterUrl.H5_ACT, bundle) + }else{ + CommonToastUtils.showToast("敬请期待") + + } + } + } + } + + binding.llInternetThing.setOnClickListener { + if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){ + RouteManager.goAct(ARouterUrl.LOGIN_ACT) + }else { + otherInfo?.let { + if (!TextUtils.isEmpty(it.miot)){ + bundle.clear() + bundle.putString( + "web_site_url", + "${it.miot}" + ) + RouteManager.goAct(ARouterUrl.H5_ACT, bundle) + }else{ + CommonToastUtils.showToast("敬请期待") + + } + } + } + } + binding.llOperationGuide.setOnClickListener { if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){ RouteManager.goAct(ARouterUrl.LOGIN_ACT) @@ -542,6 +566,24 @@ class MineFrag : BaseVmFrag() , EasyPermissions.PermissionCallbacks{ Const.userDeviceLiveData.value?:mViewModel.getUserDeviceInfo(showIdInfo) mViewModel.searchInviteInfo() mViewModel.getUserOtherInfo() + + Const.mainLiveData.value?.let { + user = it.user + binding.mName.text = it.user.name + binding.mPhone.text = "${it.user.phone}" +// binding.mDk.text = it.clock.toString() +// binding.mLevel.text = it.grade + if (it.user.avatarUrl.isNullOrEmpty()) { + binding.mImage.setImageResource(defaultIcon[if (it.user.sex - 1 < 0) 0 else it.user.sex - 1]) + } else { + binding.mImage.setImageUser( + requireContext(), + it.user.avatarUrl, + it.user.sex.toString() + ) + Const.CHAT_IMAGE = it.user.avatarUrl + } + } } if(isLogin){ @@ -564,6 +606,18 @@ class MineFrag : BaseVmFrag() , EasyPermissions.PermissionCallbacks{ binding.mllServerOrder.visibility = View.GONE } + if(TextUtils.isEmpty(it.data.magic_mirror)){ + binding.llMagicTest.visibility = View.GONE + }else{ + binding.llMagicTest.visibility = View.VISIBLE + } + + if(TextUtils.isEmpty(it.data.miot)){ + binding.llInternetThing.visibility = View.GONE + }else{ + binding.llInternetThing.visibility = View.VISIBLE + } + if(TextUtils.isEmpty(it.data.start_business)){ binding.llStartBs.visibility = View.GONE }else{ diff --git a/app/src/main/res/layout/frag_dynamic_management.xml b/app/src/main/res/layout/frag_dynamic_management.xml index 7a5870c..40cb5b8 100644 --- a/app/src/main/res/layout/frag_dynamic_management.xml +++ b/app/src/main/res/layout/frag_dynamic_management.xml @@ -16,7 +16,7 @@ android:orientation="horizontal" android:visibility="gone" /> - @@ -30,7 +30,7 @@ android:visibility="gone" android:orientation="horizontal"> - + <!– 我的家人列表 –> - + --> + - + + - - + @@ -802,6 +802,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/dp_24" + android:weightSum="4" android:orientation="horizontal"> + + + + - - - - - + tools:text="eeeeeee" + android:layout_centerVertical="true" + android:textColor="@color/col_313" + android:textSize="@dimen/sp_15" /> - - - + android:textColor="@color/col_7c7" + tools:text="eeeeee" + android:textSize="@dimen/sp_13" /> + - - + android:maxLines="1" + android:textColor="@color/col_7c7" + android:textSize="@dimen/sp_13" /> - + diff --git a/app/src/main/res/mipmap-xxhdpi/icon_health_internet_thing.png b/app/src/main/res/mipmap-xxhdpi/icon_health_internet_thing.png new file mode 100644 index 0000000..4561dc3 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/icon_health_internet_thing.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/icon_magic_test.png b/app/src/main/res/mipmap-xxhdpi/icon_magic_test.png new file mode 100644 index 0000000..655e488 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/icon_magic_test.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/icon_mine_start_bs.png b/app/src/main/res/mipmap-xxhdpi/icon_mine_start_bs.png index 4b88a28..2fc99c6 100644 Binary files a/app/src/main/res/mipmap-xxhdpi/icon_mine_start_bs.png and b/app/src/main/res/mipmap-xxhdpi/icon_mine_start_bs.png differ diff --git a/base/src/main/java/com/xty/base/vm/BaseVm.kt b/base/src/main/java/com/xty/base/vm/BaseVm.kt index 0e2d9e9..0f9bba5 100644 --- a/base/src/main/java/com/xty/base/vm/BaseVm.kt +++ b/base/src/main/java/com/xty/base/vm/BaseVm.kt @@ -6,6 +6,7 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.hjq.toast.ToastUtils import com.xty.common.LogUtils +import com.xty.common.app.MyApp import com.xty.common.util.CommonUtils import com.xty.network.ApiInterface import com.xty.network.MyRetrofit @@ -38,23 +39,29 @@ open class BaseVm(var loading: Dialog?) : ViewModel() { } when (throwable) { - is ConnectException -> ToastUtils.show("网络异常") + is ConnectException -> if(MyApp.activityCount> 0) ToastUtils.show("网络异常") is HttpException -> { var exception = throwable when ((exception as HttpException).code()) { - 500 -> ToastUtils.show("服务器繁忙,请稍后重试") - 502 -> ToastUtils.show("当前网络状态不佳,请稍后重试") - 504 -> ToastUtils.show("请求超时,请检查网络") - else -> ToastUtils.show("连接异常错误码:${(exception as HttpException).code()}") + 500 -> if(MyApp.activityCount> 0) ToastUtils.show("服务器繁忙,请稍后重试") + 502 -> if(MyApp.activityCount> 0) ToastUtils.show("当前网络状态不佳,请稍后重试") + 504 -> if(MyApp.activityCount> 0) ToastUtils.show("请求超时,请检查网络") + else -> if(MyApp.activityCount> 0) ToastUtils.show("连接异常错误码:${(exception as HttpException).code()}") } return@CoroutineExceptionHandler } is SocketTimeoutException -> { - ToastUtils.show("连接超时") + if(MyApp.activityCount> 0){ + ToastUtils.show("连接超时") + } + return@CoroutineExceptionHandler } is UnknownHostException -> { - ToastUtils.show("当前网络状态不佳,请再试一次") + if(MyApp.activityCount> 0){ + ToastUtils.show("当前网络状态不佳,请再试一次") + } + return@CoroutineExceptionHandler } } 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 56dd3c1..0db5ae7 100644 --- a/common/src/main/java/com/xty/common/app/MyApp.kt +++ b/common/src/main/java/com/xty/common/app/MyApp.kt @@ -1,6 +1,7 @@ package com.xty.common.app import android.annotation.SuppressLint +import android.app.Activity import android.app.ActivityManager import android.app.Application import android.bluetooth.BluetoothAdapter @@ -9,6 +10,7 @@ import android.content.Context import android.content.Intent import android.content.IntentFilter import android.os.Build +import android.os.Bundle import android.util.Log import cat.ereza.customactivityoncrash.CustomActivityOnCrash import cat.ereza.customactivityoncrash.config.CaocConfig @@ -47,8 +49,11 @@ class MyApp : Application() { private lateinit var blueToothReceiver: BluetoothMonitorReceiver + + companion object { var instance: MyApp? = null + var activityCount = 0 private fun getInstance(app: MyApp) { instance = app } @@ -107,6 +112,36 @@ class MyApp : Application() { MMkvHelper.put(Const.VERSION_NAME, AppUtils.getPackageVersionName(this)) MMkvHelper.put(Const.VERSION_CODES, AppUtils.getVersionCode(this)) + + registerActivityLifecycleCallbacks(object : ActivityLifecycleCallbacks{ + override fun onActivityCreated(p0: Activity, p1: Bundle?) { + + } + + override fun onActivityStarted(p0: Activity) { + LogUtils.e("APP","前台呀") + activityCount++ + } + + override fun onActivityResumed(p0: Activity) { + } + + override fun onActivityPaused(p0: Activity) { + } + + override fun onActivityStopped(p0: Activity) { + LogUtils.e("APP","后台") + activityCount-- + LogUtils.e("APP","后台${activityCount}") + + } + + override fun onActivitySaveInstanceState(p0: Activity, p1: Bundle) { + } + + override fun onActivityDestroyed(p0: Activity) { + } + }) } // private fun forceStopApp(){ diff --git a/mine/src/main/res/layout/act_warning_message.xml b/mine/src/main/res/layout/act_warning_message.xml index 9652508..37cecb5 100644 --- a/mine/src/main/res/layout/act_warning_message.xml +++ b/mine/src/main/res/layout/act_warning_message.xml @@ -2,8 +2,7 @@ + android:layout_height="match_parent" + android:background="@color/white"> + />