mirror of
https://github.com/vector-im/element-android.git
synced 2024-11-16 02:05:06 +08:00
Navigate to other sessions screen.
This commit is contained in:
parent
3bfeaa764c
commit
39364a68b1
@ -339,6 +339,7 @@
|
|||||||
<activity android:name=".features.call.dialpad.PstnDialActivity" />
|
<activity android:name=".features.call.dialpad.PstnDialActivity" />
|
||||||
<activity android:name=".features.home.room.list.home.invites.InvitesActivity"/>
|
<activity android:name=".features.home.room.list.home.invites.InvitesActivity"/>
|
||||||
<activity android:name=".features.settings.devices.v2.overview.SessionOverviewActivity"/>
|
<activity android:name=".features.settings.devices.v2.overview.SessionOverviewActivity"/>
|
||||||
|
<activity android:name=".features.settings.devices.v2.othersessions.OtherSessionsActivity" />
|
||||||
|
|
||||||
<!-- Services -->
|
<!-- Services -->
|
||||||
|
|
||||||
|
@ -44,6 +44,7 @@ import im.vector.app.features.settings.devices.DevicesAction
|
|||||||
import im.vector.app.features.settings.devices.DevicesViewEvents
|
import im.vector.app.features.settings.devices.DevicesViewEvents
|
||||||
import im.vector.app.features.settings.devices.DevicesViewModel
|
import im.vector.app.features.settings.devices.DevicesViewModel
|
||||||
import im.vector.app.features.settings.devices.v2.list.OtherSessionsController
|
import im.vector.app.features.settings.devices.v2.list.OtherSessionsController
|
||||||
|
import im.vector.app.features.settings.devices.v2.list.OtherSessionsView
|
||||||
import im.vector.app.features.settings.devices.v2.list.SESSION_IS_MARKED_AS_INACTIVE_AFTER_DAYS
|
import im.vector.app.features.settings.devices.v2.list.SESSION_IS_MARKED_AS_INACTIVE_AFTER_DAYS
|
||||||
import im.vector.app.features.settings.devices.v2.list.SecurityRecommendationViewState
|
import im.vector.app.features.settings.devices.v2.list.SecurityRecommendationViewState
|
||||||
import im.vector.app.features.settings.devices.v2.list.SessionInfoViewState
|
import im.vector.app.features.settings.devices.v2.list.SessionInfoViewState
|
||||||
@ -54,7 +55,8 @@ import javax.inject.Inject
|
|||||||
*/
|
*/
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class VectorSettingsDevicesFragment :
|
class VectorSettingsDevicesFragment :
|
||||||
VectorBaseFragment<FragmentSettingsDevicesBinding>() {
|
VectorBaseFragment<FragmentSettingsDevicesBinding>(),
|
||||||
|
OtherSessionsView.Callback {
|
||||||
|
|
||||||
@Inject lateinit var viewNavigator: VectorSettingsDevicesViewNavigator
|
@Inject lateinit var viewNavigator: VectorSettingsDevicesViewNavigator
|
||||||
|
|
||||||
@ -126,6 +128,7 @@ class VectorSettingsDevicesFragment :
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun initOtherSessionsView() {
|
private fun initOtherSessionsView() {
|
||||||
|
views.deviceListOtherSessions.callback = this
|
||||||
views.deviceListOtherSessions.setCallback(object : OtherSessionsController.Callback {
|
views.deviceListOtherSessions.setCallback(object : OtherSessionsController.Callback {
|
||||||
override fun onItemClicked(deviceId: String) {
|
override fun onItemClicked(deviceId: String) {
|
||||||
navigateToSessionOverview(deviceId)
|
navigateToSessionOverview(deviceId)
|
||||||
@ -260,4 +263,8 @@ class VectorSettingsDevicesFragment :
|
|||||||
else -> false
|
else -> false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onViewAllOtherSessionsClicked() {
|
||||||
|
viewNavigator.navigateToOtherSessions(requireActivity())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -34,13 +34,22 @@ class OtherSessionsView @JvmOverloads constructor(
|
|||||||
defStyleAttr: Int = 0
|
defStyleAttr: Int = 0
|
||||||
) : ConstraintLayout(context, attrs, defStyleAttr) {
|
) : ConstraintLayout(context, attrs, defStyleAttr) {
|
||||||
|
|
||||||
|
interface Callback {
|
||||||
|
fun onViewAllOtherSessionsClicked()
|
||||||
|
}
|
||||||
|
|
||||||
@Inject lateinit var otherSessionsController: OtherSessionsController
|
@Inject lateinit var otherSessionsController: OtherSessionsController
|
||||||
|
|
||||||
private val views: ViewOtherSessionsBinding
|
private val views: ViewOtherSessionsBinding
|
||||||
|
var callback: Callback? = null
|
||||||
|
|
||||||
init {
|
init {
|
||||||
inflate(context, R.layout.view_other_sessions, this)
|
inflate(context, R.layout.view_other_sessions, this)
|
||||||
views = ViewOtherSessionsBinding.bind(this)
|
views = ViewOtherSessionsBinding.bind(this)
|
||||||
|
|
||||||
|
views.otherSessionsViewAllButton.setOnClickListener {
|
||||||
|
callback?.onViewAllOtherSessionsClicked()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun render(devices: List<DeviceFullInfo>) {
|
fun render(devices: List<DeviceFullInfo>) {
|
||||||
|
@ -19,6 +19,7 @@ package im.vector.app.features.settings.devices.v2.othersessions
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.view.View
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import im.vector.app.core.extensions.addFragment
|
import im.vector.app.core.extensions.addFragment
|
||||||
import im.vector.app.core.platform.SimpleFragmentActivity
|
import im.vector.app.core.platform.SimpleFragmentActivity
|
||||||
@ -29,6 +30,8 @@ class OtherSessionsActivity : SimpleFragmentActivity() {
|
|||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
|
views.toolbar.visibility = View.GONE
|
||||||
|
|
||||||
if (isFirstCreation()) {
|
if (isFirstCreation()) {
|
||||||
addFragment(
|
addFragment(
|
||||||
container = views.container,
|
container = views.container,
|
||||||
|
@ -37,7 +37,7 @@ class OtherSessionsFragment : VectorBaseFragment<FragmentOtherSessionsBinding>()
|
|||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
setupToolbar(views.otherSessionsToolbar)
|
setupToolbar(views.otherSessionsToolbar).allowBack()
|
||||||
initFilterView()
|
initFilterView()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -77,8 +77,7 @@
|
|||||||
style="@style/TextAppearance.Vector.Body.DevicesManagement"
|
style="@style/TextAppearance.Vector.Body.DevicesManagement"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="end"
|
android:layout_gravity="end" />
|
||||||
android:text="@string/device_manager_filter_option_inactive_description" />
|
|
||||||
|
|
||||||
</RadioGroup>
|
</RadioGroup>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user