From 0afde3b0216ff35ff7523e970deab260b30befd7 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 18 Jul 2019 11:07:09 +0200 Subject: [PATCH 1/4] Rename class member for code clarity --- .../im/vector/matrix/android/api/session/sync/SyncState.kt | 2 +- .../matrix/android/internal/session/sync/job/SyncThread.kt | 6 +++--- .../im/vector/riotx/features/home/HomeDetailFragment.kt | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/sync/SyncState.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/sync/SyncState.kt index a2af70f4..cc1c3f1a 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/sync/SyncState.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/sync/SyncState.kt @@ -18,7 +18,7 @@ package im.vector.matrix.android.api.session.sync sealed class SyncState { object IDLE : SyncState() - data class RUNNING(val catchingUp: Boolean) : SyncState() + data class RUNNING(val afterPause: Boolean) : SyncState() object PAUSED : SyncState() object KILLING : SyncState() object KILLED : SyncState() diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/job/SyncThread.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/job/SyncThread.kt index 6a54ad33..6f002164 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/job/SyncThread.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/job/SyncThread.kt @@ -62,7 +62,7 @@ internal class SyncThread @Inject constructor(private val syncTask: SyncTask, fun restart() = synchronized(lock) { if (state is SyncState.PAUSED) { Timber.v("Resume sync...") - updateStateTo(SyncState.RUNNING(catchingUp = true)) + updateStateTo(SyncState.RUNNING(afterPause = true)) lock.notify() } } @@ -98,7 +98,7 @@ internal class SyncThread @Inject constructor(private val syncTask: SyncTask, } } else { if (state !is SyncState.RUNNING) { - updateStateTo(SyncState.RUNNING(catchingUp = true)) + updateStateTo(SyncState.RUNNING(afterPause = true)) } Timber.v("[$this] Execute sync request with timeout $DEFAULT_LONG_POOL_TIMEOUT") val latch = CountDownLatch(1) @@ -140,7 +140,7 @@ internal class SyncThread @Inject constructor(private val syncTask: SyncTask, latch.await() if (state is SyncState.RUNNING) { - updateStateTo(SyncState.RUNNING(catchingUp = false)) + updateStateTo(SyncState.RUNNING(afterPause = false)) } Timber.v("Waiting for $DEFAULT_LONG_POOL_DELAY delay before new pool...") diff --git a/vector/src/main/java/im/vector/riotx/features/home/HomeDetailFragment.kt b/vector/src/main/java/im/vector/riotx/features/home/HomeDetailFragment.kt index db8ae359..bd4b2ca4 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/HomeDetailFragment.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/HomeDetailFragment.kt @@ -209,7 +209,7 @@ class HomeDetailFragment : VectorBaseFragment(), KeysBackupBanner.Delegate { unreadCounterBadgeViews[INDEX_PEOPLE].render(UnreadCounterBadgeView.State(it.notificationCountPeople, it.notificationHighlightPeople)) unreadCounterBadgeViews[INDEX_ROOMS].render(UnreadCounterBadgeView.State(it.notificationCountRooms, it.notificationHighlightRooms)) syncProgressBar.visibility = when (it.syncState) { - is SyncState.RUNNING -> if (it.syncState.catchingUp) View.VISIBLE else View.GONE + is SyncState.RUNNING -> if (it.syncState.afterPause) View.VISIBLE else View.GONE else -> View.GONE } syncProgressBarWrap.visibility = syncProgressBar.visibility From d48ae967bd77ae22cc7514c7b0d8b5b74f2f8985 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 18 Jul 2019 11:11:42 +0200 Subject: [PATCH 2/4] Remove dead code --- .../matrix/android/internal/session/sync/job/SyncThread.kt | 3 --- 1 file changed, 3 deletions(-) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/job/SyncThread.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/job/SyncThread.kt index 6f002164..c08f6101 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/job/SyncThread.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/sync/job/SyncThread.kt @@ -37,7 +37,6 @@ import javax.inject.Inject private const val RETRY_WAIT_TIME_MS = 10_000L private const val DEFAULT_LONG_POOL_TIMEOUT = 30_000L -private const val DEFAULT_LONG_POOL_DELAY = 0L internal class SyncThread @Inject constructor(private val syncTask: SyncTask, private val networkConnectivityChecker: NetworkConnectivityChecker, @@ -143,8 +142,6 @@ internal class SyncThread @Inject constructor(private val syncTask: SyncTask, updateStateTo(SyncState.RUNNING(afterPause = false)) } - Timber.v("Waiting for $DEFAULT_LONG_POOL_DELAY delay before new pool...") - if (DEFAULT_LONG_POOL_DELAY > 0) sleep(DEFAULT_LONG_POOL_DELAY) Timber.v("...Continue") } } From 21ba72e5e7e410c1e7955d0feb46e9c37f2ea634 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 18 Jul 2019 11:34:49 +0200 Subject: [PATCH 3/4] Do not show invitation in the filtered room list --- .../riotx/features/home/room/list/RoomSummaryController.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomSummaryController.kt b/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomSummaryController.kt index 97922b8f..c439ea20 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomSummaryController.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomSummaryController.kt @@ -18,6 +18,7 @@ package im.vector.riotx.features.home.room.list import androidx.annotation.StringRes import com.airbnb.epoxy.TypedEpoxyController +import im.vector.matrix.android.api.session.room.model.Membership import im.vector.matrix.android.api.session.room.model.RoomSummary import im.vector.riotx.core.resources.StringProvider import im.vector.riotx.features.home.room.filtered.FilteredRoomFooterItem @@ -62,7 +63,8 @@ class RoomSummaryController @Inject constructor(private val stringProvider: Stri roomListNameFilter.filter = viewState.roomFilter - val filteredSummaries = summaries.filter { roomListNameFilter.test(it) } + val filteredSummaries = summaries + .filter { it.membership == Membership.JOIN && roomListNameFilter.test(it) } buildRoomModels(filteredSummaries, viewState.joiningRoomsIds, From fe88aaffbdc7843bef98b1629be47baf371e40a4 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 18 Jul 2019 11:39:13 +0200 Subject: [PATCH 4/4] Inject RoomListNameFilter --- .../riotx/features/home/HomeRoomListObservableStore.kt | 4 ---- .../riotx/features/home/room/list/RoomListNameFilter.kt | 3 ++- .../riotx/features/home/room/list/RoomSummaryController.kt | 5 ++--- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/vector/src/main/java/im/vector/riotx/features/home/HomeRoomListObservableStore.kt b/vector/src/main/java/im/vector/riotx/features/home/HomeRoomListObservableStore.kt index 4e0b5b70..df8cd411 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/HomeRoomListObservableStore.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/HomeRoomListObservableStore.kt @@ -18,10 +18,6 @@ package im.vector.riotx.features.home import im.vector.matrix.android.api.session.room.model.RoomSummary import im.vector.riotx.core.utils.RxStore -import im.vector.riotx.features.home.room.list.RoomListDisplayModeFilter -import im.vector.riotx.features.home.room.list.RoomListFragment -import io.reactivex.Observable -import io.reactivex.schedulers.Schedulers import javax.inject.Inject import javax.inject.Singleton diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomListNameFilter.kt b/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomListNameFilter.kt index e9dd9813..7bb5c305 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomListNameFilter.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomListNameFilter.kt @@ -18,8 +18,9 @@ package im.vector.riotx.features.home.room.list import im.vector.matrix.android.api.session.room.model.RoomSummary import io.reactivex.functions.Predicate +import javax.inject.Inject -class RoomListNameFilter : Predicate { +class RoomListNameFilter @Inject constructor() : Predicate { var filter: String = "" diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomSummaryController.kt b/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomSummaryController.kt index c439ea20..03bedbc7 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomSummaryController.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomSummaryController.kt @@ -26,13 +26,12 @@ import im.vector.riotx.features.home.room.filtered.filteredRoomFooterItem import javax.inject.Inject class RoomSummaryController @Inject constructor(private val stringProvider: StringProvider, - private val roomSummaryItemFactory: RoomSummaryItemFactory + private val roomSummaryItemFactory: RoomSummaryItemFactory, + private val roomListNameFilter: RoomListNameFilter ) : TypedEpoxyController() { var listener: Listener? = null - private val roomListNameFilter = RoomListNameFilter() - override fun buildModels(viewState: RoomListViewState) { if (viewState.displayMode == RoomListFragment.DisplayMode.FILTERED) { buildFilteredRooms(viewState)