This commit is contained in:
wangcongtao
2020-07-31 18:06:15 +08:00
parent 090fa1ada3
commit d349675ad9

View File

@@ -1,14 +1,15 @@
package com.mogo.module.push.activity
import android.content.Intent
import android.os.Bundle
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.LinearLayoutManager
import com.alibaba.android.arouter.facade.annotation.Route
import com.mogo.module.push.Config
import com.mogo.module.push.base.PushUIConstants
import com.mogo.module.push.R
import com.mogo.module.push.adapter.PushMessageAdapter
import com.mogo.module.push.base.PushUIConstants
import com.mogo.module.push.model.PushBean
import com.mogo.module.push.repository.PushRepository
import com.mogo.module.push.utils.AnalyticsUtils
@@ -16,12 +17,15 @@ import com.mogo.module.push.utils.HandlerUtils
import com.mogo.module.push.utils.startClearAnimator
import com.mogo.module.push.view.PushItemAnimator
import com.mogo.module.push.view.SwipeItemLayout
import com.mogo.module.push.view.getApis
import com.mogo.module.push.viewmodel.MessageViewModel
import com.mogo.service.intent.IMogoIntentListener
import com.mogo.utils.UiThreadHandler
import com.mogo.utils.logger.Logger
import kotlinx.android.synthetic.main.module_push_message_activity.*
@Route(path = PushUIConstants.Push_MESSAGE_ACTIVITY_PATH)
class PushMessageActivity : AppCompatActivity() {
class PushMessageActivity : AppCompatActivity(), IMogoIntentListener {
private lateinit var viewModel: MessageViewModel
private var adapter = PushMessageAdapter()
private var clearing = false
@@ -54,7 +58,7 @@ class PushMessageActivity : AppCompatActivity() {
}
}
module_push_activity_clear.visibility =
if (show) View.VISIBLE else View.GONE
if (show) View.VISIBLE else View.GONE
}
override fun deleteBean(bean: PushBean, action: Boolean) {
@@ -77,10 +81,10 @@ class PushMessageActivity : AppCompatActivity() {
module_push_activity_recycler_view.adapter = adapter
module_push_activity_recycler_view.itemAnimator = PushItemAnimator()
module_push_activity_recycler_view.addOnItemTouchListener(
SwipeItemLayout.OnSwipeItemTouchListener(this)
SwipeItemLayout.OnSwipeItemTouchListener(this)
)
viewModel = MessageViewModel(object :
MessageViewModel.MessageListChange {
MessageViewModel.MessageListChange {
override fun messageListChange(list: MutableList<PushBean>?) {
runOnUiThread {
var size = list?.size ?: 0
@@ -90,6 +94,8 @@ class PushMessageActivity : AppCompatActivity() {
}
}
})
getApis(this).intentManagerApi.registerIntentListener(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, this)
}
private fun updateHistoryMessageCount(){
@@ -105,4 +111,16 @@ class PushMessageActivity : AppCompatActivity() {
super.onResume()
adapter.notifyDataSetChanged()
}
override fun onIntentReceived(intentStr: String?, intent: Intent?) {
if (Intent.ACTION_CLOSE_SYSTEM_DIALOGS.equals(intentStr)) {
Logger.d("PushMessageActivity", "close by home key.")
finish()
}
}
override fun onDestroy() {
super.onDestroy()
getApis(this).intentManagerApi.unregisterIntentListener(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, this)
}
}