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 5a56ad7662..2e9c5d29c8 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 @@ -39,6 +39,7 @@ import com.airbnb.mvrx.withState import im.vector.app.AppStateHandler import com.google.android.material.dialog.MaterialAlertDialogBuilder import de.spiritcroc.matrixsdk.util.DbgUtil +import de.spiritcroc.matrixsdk.util.Dimber import im.vector.app.R import im.vector.app.core.epoxy.LayoutManagerStateRestorer import im.vector.app.core.extensions.cleanup @@ -99,6 +100,13 @@ class RoomListFragment @Inject constructor( private var expandStatusSpaceId: String? = null + val dbgId = System.identityHashCode(this) + private val viewPagerDimber = Dimber("Home pager rlf/$dbgId", DbgUtil.DBG_VIEW_PAGER) + + init { + viewPagerDimber.i { "init rlf" } + } + override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentRoomListBinding { return FragmentRoomListBinding.inflate(inflater, container, false) } @@ -120,6 +128,7 @@ class RoomListFragment @Inject constructor( override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + viewPagerDimber.i { "onCreate rlf -> ${roomListParams.explicitSpaceId}" } analyticsScreenName = when (roomListParams.displayMode) { RoomListDisplayMode.PEOPLE -> MobileScreen.ScreenName.People RoomListDisplayMode.ROOMS -> MobileScreen.ScreenName.Rooms @@ -181,8 +190,31 @@ class RoomListFragment @Inject constructor( if (DbgUtil.isDbgEnabled(DbgUtil.DBG_VIEW_PAGER)) { views.scRoomListDebugView.isVisible = true withState(roomListViewModel) { + viewPagerDimber.i { + "dbgUpdate rlvm/${roomListViewModel.dbgId} explicit ${roomListParams.explicitSpaceId} expand $expandStatusSpaceId vm-space ${roomListViewModel.dbgExplicitSpaceId}" + } val currentSpace = it.currentRoomGrouping.invoke()?.space() - views.scRoomListDebugView.text = "explicit: ${roomListParams.explicitSpaceId}\nexpanded: $expandStatusSpaceId\ngrouping: ${currentSpace?.roomId} | ${currentSpace?.displayName}" + var text = "rlf/$dbgId rlvm/${roomListViewModel.dbgId}\nexplicit: ${roomListParams.explicitSpaceId}" + if (currentSpace?.roomId != roomListParams.explicitSpaceId) { + text += "\ngrouping: ${currentSpace?.roomId}" + } + text += " | ${currentSpace?.displayName}" + /* + if (expandStatusSpaceId != roomListParams.explicitSpaceId) { + text += "\nexpanded: $expandStatusSpaceId" + } + */ + if (roomListViewModel.dbgExplicitSpaceId != roomListParams.explicitSpaceId) { + text += "\nmodel: ${roomListViewModel.dbgExplicitSpaceId}" + } + // Append text to previous text to maintain history + /* + val previousText = views.scRoomListDebugView.text.toString() + if (previousText.isNotEmpty() && !previousText.endsWith(text)) { + text = "$previousText\n...\n$text" + } + */ + views.scRoomListDebugView.text = text } } else { views.scRoomListDebugView.isVisible = false diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/RoomListViewModel.kt b/vector/src/main/java/im/vector/app/features/home/room/list/RoomListViewModel.kt index b7e3168ff3..924655af9f 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/list/RoomListViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/list/RoomListViewModel.kt @@ -25,6 +25,8 @@ import com.airbnb.mvrx.Success import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject +import de.spiritcroc.matrixsdk.util.DbgUtil +import de.spiritcroc.matrixsdk.util.Dimber import im.vector.app.AppStateHandler import im.vector.app.RoomGroupingMethod import im.vector.app.core.di.MavericksAssistedViewModelFactory @@ -70,6 +72,16 @@ class RoomListViewModel @AssistedInject constructor( private val suggestedRoomJoiningState: MutableLiveData>> = MutableLiveData(emptyMap()) + val dbgId = System.identityHashCode(this) + private val viewPagerDimber = Dimber("Home pager rlvm/$dbgId", DbgUtil.DBG_VIEW_PAGER) + + // Look up the explicitSpaceId used for building sections for debugging purposes + val dbgExplicitSpaceId = initialState.explicitSpaceId + + init { + viewPagerDimber.i { "init rlvm -> ${initialState.explicitSpaceId} | $dbgExplicitSpaceId" } + } + interface ActiveSpaceQueryUpdater { fun updateForSpaceId(roomId: String?) } @@ -148,6 +160,7 @@ class RoomListViewModel @AssistedInject constructor( } val sections: List by lazy { + viewPagerDimber.i { "Build sections for ${initialState.displayMode}, ${initialState.explicitSpaceId}" } roomListSectionBuilder.buildSections(initialState.displayMode, initialState.explicitSpaceId) }