Notifications from lock screen - initial attempt to fix the issue

Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
This commit is contained in:
Dariusz Olszewski 2022-01-09 23:42:02 +01:00 committed by Marcel Hibbe
parent be6e5d78cb
commit dfa14e7c52
No known key found for this signature in database
GPG Key ID: C793F8B59F43CE7B
2 changed files with 18 additions and 3 deletions

View File

@ -87,6 +87,8 @@ class MainActivity : BaseActivity(), ActionBarProvider {
private var router: Router? = null private var router: Router? = null
var ignoreNextDetach: Boolean = false
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
Log.d(TAG, "onCreate: Activity: " + System.identityHashCode(this).toString()) Log.d(TAG, "onCreate: Activity: " + System.identityHashCode(this).toString())
@ -178,6 +180,10 @@ class MainActivity : BaseActivity(), ActionBarProvider {
override fun onResume() { override fun onResume() {
Log.d(TAG, "onResume: Activity: " + System.identityHashCode(this).toString()) Log.d(TAG, "onResume: Activity: " + System.identityHashCode(this).toString())
super.onResume() super.onResume()
if (hasWindowFocus()) {
Log.d(TAG, "onResume: clear ignoreNextDetach")
ignoreNextDetach = false
}
} }
override fun onPause() { override fun onPause() {
@ -346,6 +352,8 @@ class MainActivity : BaseActivity(), ActionBarProvider {
intent.extras?.let { callNotificationIntent.putExtras(it) } intent.extras?.let { callNotificationIntent.putExtras(it) }
startActivity(callNotificationIntent) startActivity(callNotificationIntent)
} else { } else {
Log.d(TAG, "onNewIntent set ignoreNextDetach")
ignoreNextDetach = true
ConductorRemapping.remapChatController( ConductorRemapping.remapChatController(
router!!, intent.getLongExtra(BundleKeys.KEY_INTERNAL_USER_ID, -1), router!!, intent.getLongExtra(BundleKeys.KEY_INTERNAL_USER_ID, -1),
intent.getStringExtra(KEY_ROOM_TOKEN)!!, intent.extras!!, false intent.getStringExtra(KEY_ROOM_TOKEN)!!, intent.extras!!, false

View File

@ -1594,9 +1594,16 @@ class ChatController(args: Bundle) :
!ApplicationWideCurrentRoomHolder.getInstance().isInCall && !ApplicationWideCurrentRoomHolder.getInstance().isInCall &&
!ApplicationWideCurrentRoomHolder.getInstance().isDialing !ApplicationWideCurrentRoomHolder.getInstance().isDialing
) { ) {
ApplicationWideCurrentRoomHolder.getInstance().clear() val mainActivity = activity as MainActivity
wasDetached = true if (mainActivity.ignoreNextDetach) {
leaveRoom() Log.d(TAG, "onDetach: ignoring Detach event Controller: " + System.identityHashCode(this).toString() +
" Activity: " + System.identityHashCode(activity).toString())
mainActivity.ignoreNextDetach = false
} else {
ApplicationWideCurrentRoomHolder.getInstance().clear()
wasDetached = true
leaveRoom()
}
} }
if (mentionAutocomplete != null && mentionAutocomplete!!.isPopupShowing) { if (mentionAutocomplete != null && mentionAutocomplete!!.isPopupShowing) {