From d349675ad9b316efbf9033569d882c0d30216497 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Fri, 31 Jul 2020 18:06:15 +0800 Subject: [PATCH] bugfix --- .../push/activity/PushMessageActivity.kt | 28 +++++++++++++++---- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/modules/mogo-module-push/src/main/java/com/mogo/module/push/activity/PushMessageActivity.kt b/modules/mogo-module-push/src/main/java/com/mogo/module/push/activity/PushMessageActivity.kt index a77b140ebb..195aa828ab 100644 --- a/modules/mogo-module-push/src/main/java/com/mogo/module/push/activity/PushMessageActivity.kt +++ b/modules/mogo-module-push/src/main/java/com/mogo/module/push/activity/PushMessageActivity.kt @@ -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?) { 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) + } } \ No newline at end of file