[2.13.0]消息盒子

This commit is contained in:
xuxinchao
2022-12-01 16:02:14 +08:00
parent 8cb6dba885
commit f5b6da69e3
10 changed files with 87 additions and 74 deletions

View File

@@ -301,6 +301,7 @@ class MoGoHmiFragment : MvpFragment<MoGoHmiContract.View?, HmiPresenter?>(),
cbMsgBoxDriver.setOnCheckedChangeListener { _, isChecked ->
if(isChecked){
viewDriverMsgBoxList.visibility = View.VISIBLE
viewDriverMsgBoxList.notifyData()
viewDriverMsgBoxBubble.visibility = View.GONE
CallerHmiManager.updateDriverMsgBoxTipView(false)
}else{

View File

@@ -36,75 +36,25 @@ class DriverMsgBoxListView @JvmOverloads constructor(
initView()
}
private var noticeList: ArrayList<MsgBoxBean> ?= null
private var ipcReportList: ArrayList<MsgBoxBean> ?= null
private var badCaseList: ArrayList<MsgBoxBean> ?= null
private var driverMsgBoxListAdapter: DriverMsgBoxListAdapter ?=null
private fun initView() {
val driverMsgBoxListAdapter= DriverMsgBoxListAdapter(context as Activity)
driverMsgBoxListAdapter= DriverMsgBoxListAdapter(context as Activity)
rvMsgBoxList.adapter = driverMsgBoxListAdapter
rvMsgBoxList.layoutManager = LinearLayoutManager(context)
//获取通知消息列表
val noticeList: ArrayList<MsgBoxBean>? = CallerMsgBoxManager.getCachedNotifyData() as ArrayList<MsgBoxBean>?
noticeList?.addAll(MsgBoxConfig.noticeList)
noticeList= CallerMsgBoxManager.getCachedNotifyData() as ArrayList<MsgBoxBean>?
noticeList?.reversed()
//获取车辆系统信息列表
val ipcReportList: ArrayList<MsgBoxBean>? = CallerMsgBoxManager.getCachedSysInfoData() as ArrayList<MsgBoxBean>?
ipcReportList?.addAll(MsgBoxConfig.systemInfoList)
ipcReportList = CallerMsgBoxManager.getCachedSysInfoData() as ArrayList<MsgBoxBean>?
ipcReportList?.reversed()
//获取录包信息列表
val badCaseList: ArrayList<MsgBoxBean>? = CallerMsgBoxManager.getCachedRecordBagData() as ArrayList<MsgBoxBean>?
badCaseList?.addAll(MsgBoxConfig.recordBagList)
//获取当前Tab选择
when(MsgBoxConfig.getUserRecord()){
0 ->{
tvMsgNotice.setTextColor(resources.getColor(R.color.msg_box_title_color))
tvMsgIpcReport.setTextColor(resources.getColor(R.color.color_FFFFFF))
tvMsgBadCase.setTextColor(resources.getColor(R.color.color_FFFFFF))
viewNoticeDivider.visibility = View.VISIBLE
viewIpcReportDivider.visibility = View.GONE
viewBadCaseDivider.visibility = View.GONE
if(noticeList==null){
rvMsgBoxList.visibility = View.GONE
}else{
driverMsgBoxListAdapter.setData(noticeList)
rvMsgBoxList.visibility = View.VISIBLE
rvMsgBoxList.scrollToPosition(0)
}
}
1 ->{
tvMsgNotice.setTextColor(resources.getColor(R.color.color_FFFFFF))
tvMsgIpcReport.setTextColor(resources.getColor(R.color.msg_box_title_color))
tvMsgBadCase.setTextColor(resources.getColor(R.color.color_FFFFFF))
viewNoticeDivider.visibility = View.GONE
viewIpcReportDivider.visibility = View.VISIBLE
viewBadCaseDivider.visibility = View.GONE
if(ipcReportList == null){
rvMsgBoxList.visibility = View.GONE
}else{
driverMsgBoxListAdapter.setData(ipcReportList.reversed())
rvMsgBoxList.visibility = View.VISIBLE
rvMsgBoxList.scrollToPosition(0)
}
}
2 ->{
tvMsgNotice.setTextColor(resources.getColor(R.color.color_FFFFFF))
tvMsgIpcReport.setTextColor(resources.getColor(R.color.color_FFFFFF))
tvMsgBadCase.setTextColor(resources.getColor(R.color.msg_box_title_color))
viewNoticeDivider.visibility = View.GONE
viewIpcReportDivider.visibility = View.GONE
viewBadCaseDivider.visibility = View.VISIBLE
if(badCaseList == null){
rvMsgBoxList.visibility = View.GONE
}else{
driverMsgBoxListAdapter.setData(badCaseList.reversed())
rvMsgBoxList.visibility = View.VISIBLE
rvMsgBoxList.scrollToPosition(0)
}
}
}
badCaseList = CallerMsgBoxManager.getCachedRecordBagData() as ArrayList<MsgBoxBean>?
badCaseList?.reversed()
//通知
tvMsgNotice.setOnClickListener {
@@ -118,7 +68,7 @@ class DriverMsgBoxListView @JvmOverloads constructor(
if(noticeList==null){
rvMsgBoxList.visibility = View.GONE
}else{
driverMsgBoxListAdapter.setData(noticeList.reversed())
driverMsgBoxListAdapter?.setData(noticeList!!)
rvMsgBoxList.visibility = View.VISIBLE
rvMsgBoxList.scrollToPosition(0)
}
@@ -136,7 +86,7 @@ class DriverMsgBoxListView @JvmOverloads constructor(
if(ipcReportList == null){
rvMsgBoxList.visibility = View.GONE
}else{
driverMsgBoxListAdapter.setData(ipcReportList.reversed())
driverMsgBoxListAdapter?.setData(ipcReportList!!)
rvMsgBoxList.visibility = View.VISIBLE
rvMsgBoxList.scrollToPosition(0)
}
@@ -154,7 +104,7 @@ class DriverMsgBoxListView @JvmOverloads constructor(
if(badCaseList == null){
rvMsgBoxList.visibility = View.GONE
}else{
driverMsgBoxListAdapter.setData(badCaseList.reversed())
driverMsgBoxListAdapter?.setData(badCaseList!!)
rvMsgBoxList.visibility = View.VISIBLE
rvMsgBoxList.scrollToPosition(0)
}
@@ -162,4 +112,65 @@ class DriverMsgBoxListView @JvmOverloads constructor(
}
fun notifyData(){
val localNoticeList = MsgBoxConfig.noticeList.reversed()
noticeList?.addAll(0,localNoticeList)
val localSysInfoList = MsgBoxConfig.systemInfoList.reversed()
ipcReportList?.addAll(0,localSysInfoList)
val localRecordList = MsgBoxConfig.recordBagList.reversed()
badCaseList?.addAll(0,localRecordList)
//获取当前Tab选择
when(MsgBoxConfig.getUserRecord()){
0 ->{
tvMsgNotice.setTextColor(resources.getColor(R.color.msg_box_title_color))
tvMsgIpcReport.setTextColor(resources.getColor(R.color.color_FFFFFF))
tvMsgBadCase.setTextColor(resources.getColor(R.color.color_FFFFFF))
viewNoticeDivider.visibility = View.VISIBLE
viewIpcReportDivider.visibility = View.GONE
viewBadCaseDivider.visibility = View.GONE
if(noticeList==null){
rvMsgBoxList.visibility = View.GONE
}else{
driverMsgBoxListAdapter?.setData(noticeList!!)
rvMsgBoxList.visibility = View.VISIBLE
rvMsgBoxList.scrollToPosition(0)
}
}
1 ->{
tvMsgNotice.setTextColor(resources.getColor(R.color.color_FFFFFF))
tvMsgIpcReport.setTextColor(resources.getColor(R.color.msg_box_title_color))
tvMsgBadCase.setTextColor(resources.getColor(R.color.color_FFFFFF))
viewNoticeDivider.visibility = View.GONE
viewIpcReportDivider.visibility = View.VISIBLE
viewBadCaseDivider.visibility = View.GONE
if(ipcReportList == null){
rvMsgBoxList.visibility = View.GONE
}else{
driverMsgBoxListAdapter?.setData(ipcReportList!!)
rvMsgBoxList.visibility = View.VISIBLE
rvMsgBoxList.scrollToPosition(0)
}
}
2 ->{
tvMsgNotice.setTextColor(resources.getColor(R.color.color_FFFFFF))
tvMsgIpcReport.setTextColor(resources.getColor(R.color.color_FFFFFF))
tvMsgBadCase.setTextColor(resources.getColor(R.color.msg_box_title_color))
viewNoticeDivider.visibility = View.GONE
viewIpcReportDivider.visibility = View.GONE
viewBadCaseDivider.visibility = View.VISIBLE
if(badCaseList == null){
rvMsgBoxList.visibility = View.GONE
}else{
driverMsgBoxListAdapter?.setData(badCaseList!!)
rvMsgBoxList.visibility = View.VISIBLE
rvMsgBoxList.scrollToPosition(0)
}
}
}
}
}

View File

@@ -3,7 +3,7 @@
android:layout_width="804px"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="#1B2966"
android:background="#1A2344"
app:roundLayoutRadius="24px"
android:layout_gravity="center_horizontal"
android:layout_marginStart="30px"

View File

@@ -3,7 +3,7 @@
android:layout_width="804px"
android:layout_height="160px"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="#1B2966"
android:background="#1A2344"
app:roundLayoutRadius="24px"
android:layout_gravity="center_horizontal"
android:layout_marginStart="30px"

View File

@@ -3,7 +3,7 @@
android:layout_width="804px"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="#1B2966"
android:background="#1A2344"
app:roundLayoutRadius="24px"
android:layout_gravity="center_horizontal"
android:layout_marginStart="30px"
@@ -119,7 +119,8 @@
app:layout_constraintLeft_toLeftOf="@id/ivOperationImageOpen"
app:layout_constraintRight_toRightOf="@id/tvOperationStatusSelect"
android:gravity="start"
android:layout_margin="20px"
android:layout_marginTop="15px"
android:layout_marginBottom="15px"
android:textColor="#B3FFFFFF"
android:textSize="28px"
android:visibility="gone"

View File

@@ -3,7 +3,7 @@
android:layout_width="804px"
android:layout_height="160px"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="#1B2966"
android:background="#1A2344"
app:roundLayoutRadius="24px"
android:layout_gravity="center_horizontal"
android:layout_marginStart="30px"

View File

@@ -3,7 +3,7 @@
android:layout_width="804px"
android:layout_height="160px"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="#1B2966"
android:background="#1A2344"
app:roundLayoutRadius="24px"
android:layout_gravity="center_horizontal"
android:layout_marginStart="30px"

View File

@@ -3,7 +3,7 @@
android:layout_width="804px"
android:layout_height="160px"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="#1B2966"
android:background="#1A2344"
app:roundLayoutRadius="24px"
android:layout_gravity="center_horizontal"
android:layout_marginStart="30px"

View File

@@ -3,7 +3,7 @@
android:layout_width="864px"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="#3C4783"
android:background="#2E3868"
app:roundLayoutRadius="40px">
<androidx.recyclerview.widget.RecyclerView

View File

@@ -3,7 +3,7 @@
android:layout_width="864px"
android:layout_height="746px"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="#3C4783"
android:background="#2E3868"
app:roundLayoutRadius="40px">
<TextView