diff --git a/matrix-sdk-android/src/main/java/de/spiritcroc/matrixsdk/util/DbgUtil.kt b/matrix-sdk-android/src/main/java/de/spiritcroc/matrixsdk/util/DbgUtil.kt index 8f62b18900..091c18d2e1 100644 --- a/matrix-sdk-android/src/main/java/de/spiritcroc/matrixsdk/util/DbgUtil.kt +++ b/matrix-sdk-android/src/main/java/de/spiritcroc/matrixsdk/util/DbgUtil.kt @@ -10,6 +10,7 @@ object DbgUtil { const val DBG_SHOW_READ_TRACKING = "DBG_SHOW_READ_TRACKING" const val DBG_TIMELINE_CHUNKS = "DBG_TIMELINE_CHUNKS" const val DBG_SHOW_DISPLAY_INDEX = "DBG_SHOW_DISPLAY_INDEX" + const val DBG_VIEW_PAGER = "DBG_VIEW_PAGER" private val prefs = HashMap() @@ -18,6 +19,7 @@ object DbgUtil { DBG_SHOW_READ_TRACKING, DBG_TIMELINE_CHUNKS, DBG_SHOW_DISPLAY_INDEX, + DBG_VIEW_PAGER, ) fun load(context: Context) { diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/RoomListFragment.kt b/vector/src/main/java/im/vector/app/features/home/room/list/RoomListFragment.kt index 52593dc4ed..5a56ad7662 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/list/RoomListFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/list/RoomListFragment.kt @@ -38,6 +38,7 @@ import com.airbnb.mvrx.fragmentViewModel import com.airbnb.mvrx.withState import im.vector.app.AppStateHandler import com.google.android.material.dialog.MaterialAlertDialogBuilder +import de.spiritcroc.matrixsdk.util.DbgUtil import im.vector.app.R import im.vector.app.core.epoxy.LayoutManagerStateRestorer import im.vector.app.core.extensions.cleanup @@ -166,6 +167,8 @@ class RoomListFragment @Inject constructor( val spaceId = it.invoke()?.space()?.roomId onSwitchSpace(spaceId) } + + updateDebugView() } override fun onPause() { @@ -174,6 +177,18 @@ class RoomListFragment @Inject constructor( persistExpandStatus() } + private fun updateDebugView() { + if (DbgUtil.isDbgEnabled(DbgUtil.DBG_VIEW_PAGER)) { + views.scRoomListDebugView.isVisible = true + withState(roomListViewModel) { + val currentSpace = it.currentRoomGrouping.invoke()?.space() + views.scRoomListDebugView.text = "explicit: ${roomListParams.explicitSpaceId}\nexpanded: $expandStatusSpaceId\ngrouping: ${currentSpace?.roomId} | ${currentSpace?.displayName}" + } + } else { + views.scRoomListDebugView.isVisible = false + } + } + private fun refreshCollapseStates() { val sectionsCount = adapterInfosList.count { !it.sectionHeaderAdapter.roomsSectionData.isHidden } roomListViewModel.sections.forEachIndexed { index, roomsSection -> @@ -631,6 +646,7 @@ class RoomListFragment @Inject constructor( expandStatusSpaceId = spaceId loadExpandStatus() } + updateDebugView() } private fun persistExpandStatus() { diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsScDebuggingFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsScDebuggingFragment.kt index b9de9cda19..fe0495a481 100644 --- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsScDebuggingFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsScDebuggingFragment.kt @@ -20,6 +20,7 @@ class VectorSettingsScDebuggingFragment @Inject constructor( DbgPref(DbgUtil.DBG_SHOW_DISPLAY_INDEX, R.string.settings_sc_dbg_show_display_index), DbgPref(DbgUtil.DBG_READ_MARKER, R.string.settings_sc_dbg_read_marker), DbgPref(DbgUtil.DBG_SHOW_READ_TRACKING, R.string.settings_sc_dbg_show_read_tracking), + DbgPref(DbgUtil.DBG_VIEW_PAGER, R.string.settings_sc_dbg_view_pager), ) override fun bindPref() { diff --git a/vector/src/main/res/layout/fragment_room_list.xml b/vector/src/main/res/layout/fragment_room_list.xml index a8eec6ff3a..5c24f0ee8f 100644 --- a/vector/src/main/res/layout/fragment_room_list.xml +++ b/vector/src/main/res/layout/fragment_room_list.xml @@ -7,13 +7,29 @@ android:layout_height="match_parent" android:background="?android:colorBackground"> - + android:orientation="vertical"> + + + + + Schildi-debugging Enable additional logs or debugging features - Debug read markers - Debug timeline consistency + Read marker debugging + Timeline consistency debugging Show displayIndex in timeline Show read tracking + ViewPager debugging Element features