diff --git a/app/src/main/java/com/nextcloud/talk/activities/CallNotificationActivity.kt b/app/src/main/java/com/nextcloud/talk/activities/CallNotificationActivity.kt index 3009febc5..6051a853c 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/CallNotificationActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/activities/CallNotificationActivity.kt @@ -43,6 +43,7 @@ import com.nextcloud.talk.extensions.loadAvatar import com.nextcloud.talk.models.json.conversations.Conversation import com.nextcloud.talk.models.json.conversations.RoomOverall import com.nextcloud.talk.models.json.participants.Participant +import com.nextcloud.talk.users.UserManager import com.nextcloud.talk.utils.ApiUtils import com.nextcloud.talk.utils.NotificationUtils import com.nextcloud.talk.utils.ParticipantPermissions @@ -73,6 +74,9 @@ class CallNotificationActivity : CallBaseActivity() { @Inject var cache: Cache? = null + @Inject + lateinit var userManager: UserManager + private val disposablesList: MutableList = ArrayList() private var originalBundle: Bundle? = null private var roomToken: String? = null @@ -98,13 +102,16 @@ class CallNotificationActivity : CallBaseActivity() { userBeingCalled = extras.getParcelable(KEY_USER_ENTITY) originalBundle = extras credentials = ApiUtils.getCredentials(userBeingCalled!!.username, userBeingCalled!!.token) - setCallDescriptionText() - if (currentConversation == null) { - handleFromNotification() - } else { - setUpAfterConversationIsKnown() + + if (userManager.setUserAsActive(userBeingCalled!!).blockingGet()) { + setCallDescriptionText() + if (currentConversation == null) { + handleFromNotification() + } else { + setUpAfterConversationIsKnown() + } + initClickListeners() } - initClickListeners() } override fun onStart() { diff --git a/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt b/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt index f0dcf32cb..f8571b6c5 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt @@ -338,6 +338,14 @@ class MainActivity : BaseActivity(), ActionBarProvider { override fun onNewIntent(intent: Intent) { super.onNewIntent(intent) Log.d(TAG, "onNewIntent Activity: " + System.identityHashCode(this).toString()) + + val user = intent.getParcelableExtra(KEY_USER_ENTITY) + if (user != null && userManager.setUserAsActive(user).blockingGet()) { + handleIntent(intent) + } + } + + private fun handleIntent(intent: Intent) { handleActionFromContact(intent) if (intent.hasExtra(BundleKeys.KEY_FROM_NOTIFICATION_START_CALL)) { if (intent.getBooleanExtra(BundleKeys.KEY_FROM_NOTIFICATION_START_CALL, false)) {