From af0def9155d85d1079b8de35ff924adc66cade22 Mon Sep 17 00:00:00 2001 From: ratree Date: Thu, 17 Oct 2019 17:29:28 +0700 Subject: [PATCH] Group Alert - Fix see older load same data --- .../data/remote/domain/alert/EventRepositoryImp.kt | 3 ++- .../org/rfcx/ranger/entity/event/EventsRequestFactory.kt | 4 +++- .../GuardianListDetail/GuardianListDetailAdapter.kt | 6 +++--- .../GuardianListDetail/GuardianListDetailFragment.kt | 6 ++++-- .../GuardianListDetail/GuardianListDetailViewModel.kt | 9 ++++----- 5 files changed, 16 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/org/rfcx/ranger/data/remote/domain/alert/EventRepositoryImp.kt b/app/src/main/java/org/rfcx/ranger/data/remote/domain/alert/EventRepositoryImp.kt index f12892e87..57287e9fb 100644 --- a/app/src/main/java/org/rfcx/ranger/data/remote/domain/alert/EventRepositoryImp.kt +++ b/app/src/main/java/org/rfcx/ranger/data/remote/domain/alert/EventRepositoryImp.kt @@ -6,12 +6,13 @@ import org.rfcx.ranger.data.local.WeeklySummaryData import org.rfcx.ranger.data.remote.data.alert.EventRepository import org.rfcx.ranger.data.remote.service.rest.EventService import org.rfcx.ranger.entity.event.* +import org.rfcx.ranger.util.toIsoString class EventRepositoryImp(private val eventService: EventService, private val eventDb: EventDb, private val weeklySummaryData: WeeklySummaryData) : EventRepository { override fun getEventsGuardian(requestFactory: EventsGuardianRequestFactory): Single { - return eventService.getEventsGuardian(requestFactory.guardian, requestFactory.value, requestFactory.time, requestFactory.orderBy, + return eventService.getEventsGuardian(requestFactory.guardian, requestFactory.value, requestFactory.time.toIsoString(), requestFactory.orderBy, requestFactory.dir, requestFactory.limit, requestFactory.offset, requestFactory.type).map { it } diff --git a/app/src/main/java/org/rfcx/ranger/entity/event/EventsRequestFactory.kt b/app/src/main/java/org/rfcx/ranger/entity/event/EventsRequestFactory.kt index 680957ead..4d3b43c67 100644 --- a/app/src/main/java/org/rfcx/ranger/entity/event/EventsRequestFactory.kt +++ b/app/src/main/java/org/rfcx/ranger/entity/event/EventsRequestFactory.kt @@ -1,5 +1,7 @@ package org.rfcx.ranger.entity.event +import java.util.* + data class EventsRequestFactory( val guardianGroup: String, val orderBy: String, @@ -10,7 +12,7 @@ data class EventsRequestFactory( data class EventsGuardianRequestFactory( val guardian: String, val value: String, - val time: String, + val time: Date, val orderBy: String, val dir: String, val limit: Int, diff --git a/app/src/main/java/org/rfcx/ranger/view/alerts/GuardianListDetail/GuardianListDetailAdapter.kt b/app/src/main/java/org/rfcx/ranger/view/alerts/GuardianListDetail/GuardianListDetailAdapter.kt index 3ff84f8ec..dcb0fc37c 100644 --- a/app/src/main/java/org/rfcx/ranger/view/alerts/GuardianListDetail/GuardianListDetailAdapter.kt +++ b/app/src/main/java/org/rfcx/ranger/view/alerts/GuardianListDetail/GuardianListDetailAdapter.kt @@ -140,9 +140,9 @@ class GuardianListDetailAdapter(val listener: AlertClickListener) : ListAdapter< } seeOlderTextView.setOnClickListener { - val guid = eventList[eventList.size-1].event.guardianGUID.toString() - val value = eventList[eventList.size-1].event.value.toString() - val endAt = eventList[eventList.size-1].event.endAt.toString() + val guid = eventList[eventList.size-1].event.guardianGUID ?: "" + val value = eventList[eventList.size-1].event.value ?: "" + val endAt = eventList[eventList.size-1].event.endAt mOnSeeOlderClickListener?.onSeeOlderClick(guid, value, endAt) } currentEventList = eventList diff --git a/app/src/main/java/org/rfcx/ranger/view/alerts/GuardianListDetail/GuardianListDetailFragment.kt b/app/src/main/java/org/rfcx/ranger/view/alerts/GuardianListDetail/GuardianListDetailFragment.kt index d421295db..9e8dc5aac 100644 --- a/app/src/main/java/org/rfcx/ranger/view/alerts/GuardianListDetail/GuardianListDetailFragment.kt +++ b/app/src/main/java/org/rfcx/ranger/view/alerts/GuardianListDetail/GuardianListDetailFragment.kt @@ -17,6 +17,8 @@ import org.rfcx.ranger.view.alert.AlertBottomDialogFragment import org.rfcx.ranger.view.alert.AlertListener import org.rfcx.ranger.view.alerts.adapter.AlertClickListener import org.rfcx.ranger.view.base.BaseFragment +import java.util.* +import kotlin.collections.ArrayList class GuardianListDetailFragment : BaseFragment(), AlertClickListener, AlertListener { private val viewModel: GuardianListDetailViewModel by viewModel() @@ -54,7 +56,7 @@ class GuardianListDetailFragment : BaseFragment(), AlertClickListener, AlertList }) guardianListDetailAdapter.mOnSeeOlderClickListener = object : OnSeeOlderClickListener { - override fun onSeeOlderClick(guid: String, value: String, endAt: String) { + override fun onSeeOlderClick(guid: String, value: String, endAt: Date) { Log.d("onSeeOlderClick FM", "$guid $value $endAt") viewModel.loadMoreEvents(guid, value, endAt) } @@ -101,5 +103,5 @@ class GuardianListDetailFragment : BaseFragment(), AlertClickListener, AlertList } interface OnSeeOlderClickListener { - fun onSeeOlderClick(guid: String, value: String, endAt: String) + fun onSeeOlderClick(guid: String, value: String, endAt: Date) } \ No newline at end of file diff --git a/app/src/main/java/org/rfcx/ranger/view/alerts/GuardianListDetail/GuardianListDetailViewModel.kt b/app/src/main/java/org/rfcx/ranger/view/alerts/GuardianListDetail/GuardianListDetailViewModel.kt index 808aa912f..4a301f1b4 100644 --- a/app/src/main/java/org/rfcx/ranger/view/alerts/GuardianListDetail/GuardianListDetailViewModel.kt +++ b/app/src/main/java/org/rfcx/ranger/view/alerts/GuardianListDetail/GuardianListDetailViewModel.kt @@ -10,13 +10,12 @@ import org.rfcx.ranger.R import org.rfcx.ranger.data.local.EventDb import org.rfcx.ranger.data.remote.Result import org.rfcx.ranger.data.remote.groupByGuardians.eventInGuardian.GetMoreEventInGuardian -import org.rfcx.ranger.entity.event.Event -import org.rfcx.ranger.entity.event.EventResponse -import org.rfcx.ranger.entity.event.EventsGuardianRequestFactory -import org.rfcx.ranger.entity.event.ReviewEventFactory +import org.rfcx.ranger.entity.event.* import org.rfcx.ranger.util.getResultError import org.rfcx.ranger.util.replace import org.rfcx.ranger.view.alerts.adapter.EventItem +import java.util.* +import kotlin.collections.ArrayList class GuardianListDetailViewModel(private val context: Context, private val eventDb: EventDb, private val getMoreEvent: GetMoreEventInGuardian) : ViewModel() { private val _items = MutableLiveData>>() @@ -163,7 +162,7 @@ class GuardianListDetailViewModel(private val context: Context, private val even _items.value = Result.Success(arrayList) } - fun loadMoreEvents(guid: String, value: String, endAt: String) { + fun loadMoreEvents(guid: String, value: String, endAt: Date) { loading.postValue(StateLoading.LOADING) val requestFactory = EventsGuardianRequestFactory(guid, value, endAt, "begins_at", "DESC", LIMITS, 0, "alert") getMoreEvent.execute(object : DisposableSingleObserver() {