mirror of
https://github.com/nextcloud/talk-android
synced 2025-03-12 18:40:52 +00:00
Switch to chat w/o animation when app opened from notification
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
This commit is contained in:
parent
4ee930f9d5
commit
1e76b45fb4
@ -349,7 +349,7 @@ class MainActivity : BaseActivity(), ActionBarProvider {
|
|||||||
} else {
|
} else {
|
||||||
remapChatController(
|
remapChatController(
|
||||||
router!!, intent.getParcelableExtra<UserEntity>(KEY_USER_ENTITY)!!.id,
|
router!!, intent.getParcelableExtra<UserEntity>(KEY_USER_ENTITY)!!.id,
|
||||||
intent.getStringExtra(KEY_ROOM_TOKEN)!!, intent.extras!!, false
|
intent.getStringExtra(KEY_ROOM_TOKEN)!!, intent.extras!!, false, true
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,15 +24,28 @@ import android.os.Bundle
|
|||||||
import com.bluelinelabs.conductor.Router
|
import com.bluelinelabs.conductor.Router
|
||||||
import com.bluelinelabs.conductor.RouterTransaction
|
import com.bluelinelabs.conductor.RouterTransaction
|
||||||
import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler
|
import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler
|
||||||
|
import com.bluelinelabs.conductor.changehandler.SimpleSwapChangeHandler
|
||||||
import com.nextcloud.talk.controllers.ChatController
|
import com.nextcloud.talk.controllers.ChatController
|
||||||
|
|
||||||
object ConductorRemapping {
|
object ConductorRemapping {
|
||||||
|
|
||||||
fun remapChatController(
|
fun remapChatController(
|
||||||
router: Router,
|
router: Router,
|
||||||
internalUserId: Long,
|
internalUserId: Long,
|
||||||
roomTokenOrId: String,
|
roomTokenOrId: String,
|
||||||
bundle: Bundle,
|
bundle: Bundle,
|
||||||
replaceTop: Boolean
|
replaceTop: Boolean
|
||||||
|
) {
|
||||||
|
remapChatController(router, internalUserId, roomTokenOrId, bundle, replaceTop, false)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun remapChatController(
|
||||||
|
router: Router,
|
||||||
|
internalUserId: Long,
|
||||||
|
roomTokenOrId: String,
|
||||||
|
bundle: Bundle,
|
||||||
|
replaceTop: Boolean,
|
||||||
|
pushImmediately: Boolean
|
||||||
) {
|
) {
|
||||||
val tag = "$internalUserId@$roomTokenOrId"
|
val tag = "$internalUserId@$roomTokenOrId"
|
||||||
if (router.getControllerWithTag(tag) != null) {
|
if (router.getControllerWithTag(tag) != null) {
|
||||||
@ -49,16 +62,21 @@ object ConductorRemapping {
|
|||||||
backstack.add(routerTransaction)
|
backstack.add(routerTransaction)
|
||||||
router.setBackstack(backstack, HorizontalChangeHandler())
|
router.setBackstack(backstack, HorizontalChangeHandler())
|
||||||
} else {
|
} else {
|
||||||
|
var pushChangeHandler = if (pushImmediately) {
|
||||||
|
SimpleSwapChangeHandler()
|
||||||
|
} else {
|
||||||
|
HorizontalChangeHandler()
|
||||||
|
}
|
||||||
if (!replaceTop) {
|
if (!replaceTop) {
|
||||||
router.pushController(
|
router.pushController(
|
||||||
RouterTransaction.with(ChatController(bundle))
|
RouterTransaction.with(ChatController(bundle))
|
||||||
.pushChangeHandler(HorizontalChangeHandler())
|
.pushChangeHandler(pushChangeHandler)
|
||||||
.popChangeHandler(HorizontalChangeHandler()).tag(tag)
|
.popChangeHandler(HorizontalChangeHandler()).tag(tag)
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
router.replaceTopController(
|
router.replaceTopController(
|
||||||
RouterTransaction.with(ChatController(bundle))
|
RouterTransaction.with(ChatController(bundle))
|
||||||
.pushChangeHandler(HorizontalChangeHandler())
|
.pushChangeHandler(pushChangeHandler)
|
||||||
.popChangeHandler(HorizontalChangeHandler()).tag(tag)
|
.popChangeHandler(HorizontalChangeHandler()).tag(tag)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user