Repository: incubator-taverna-mobile Updated Branches: refs/heads/master bfad0f030 -> f997f57f4
Fix: Latest Announcement show first in Announcement fragment Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/commit/f8fe735c Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/f8fe735c Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/f8fe735c Branch: refs/heads/master Commit: f8fe735c8c750f3652c9d15e04e7999ecf036304 Parents: e7dff17 Author: Hitesh Gautam <[email protected]> Authored: Mon Apr 9 22:43:49 2018 +0530 Committer: Hitesh Gautam <[email protected]> Committed: Tue May 22 14:41:42 2018 +0530 ---------------------------------------------------------------------- .../org/apache/taverna/mobile/data/DataManager.java | 4 ++-- .../taverna/mobile/data/remote/TavernaService.java | 2 +- .../ui/anouncements/AnnouncementPresenter.java | 15 ++++++++++++++- .../taverna/mobile/AnnouncementPresenterTest.java | 15 +++++++++++---- 4 files changed, 28 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/f8fe735c/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java b/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java index b28e06d..f44b933 100644 --- a/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java +++ b/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java @@ -65,8 +65,8 @@ public class DataManager { /** * @return List of all Announcement */ - public Observable<Announcements> getAllAnnouncement(int pageNumber) { - return mBaseApiManager.getTavernaApi().getAllAnnouncements(pageNumber); + public Observable<Announcements> getAllAnnouncement(Map<String, String> options) { + return mBaseApiManager.getTavernaApi().getAllAnnouncements( options); } /** http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/f8fe735c/app/src/main/java/org/apache/taverna/mobile/data/remote/TavernaService.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/data/remote/TavernaService.java b/app/src/main/java/org/apache/taverna/mobile/data/remote/TavernaService.java index adddb6c..050a352 100644 --- a/app/src/main/java/org/apache/taverna/mobile/data/remote/TavernaService.java +++ b/app/src/main/java/org/apache/taverna/mobile/data/remote/TavernaService.java @@ -41,7 +41,7 @@ import retrofit2.http.Url; public interface TavernaService { @GET(APIEndPoint.ALL_ANNOUNCEMENT) - Observable<Announcements> getAllAnnouncements(@Query("page") int pageNumber); + Observable<Announcements> getAllAnnouncements(@QueryMap Map<String, String> options); @GET(APIEndPoint.ANNOUNCEMENT) Observable<DetailAnnouncement> getAnnouncement(@Query("id") String id); http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/f8fe735c/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementPresenter.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementPresenter.java b/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementPresenter.java index 43a7bdb..633d544 100644 --- a/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementPresenter.java +++ b/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementPresenter.java @@ -26,6 +26,9 @@ import org.apache.taverna.mobile.data.model.Announcements; import org.apache.taverna.mobile.data.model.DetailAnnouncement; import org.apache.taverna.mobile.ui.base.BasePresenter; +import java.util.HashMap; +import java.util.Map; + import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.observers.DisposableObserver; import io.reactivex.schedulers.Schedulers; @@ -56,7 +59,9 @@ public class AnnouncementPresenter extends BasePresenter<AnnouncementMvpView> { public void loadAllAnnouncement(int pageNumber) { checkViewAttached(); - compositeDisposable.add(mDataManager.getAllAnnouncement(pageNumber) + getMvpView().showProgressbar(true); + compositeDisposable.add(mDataManager.getAllAnnouncement( + getAnnouncementQueryOptions(pageNumber)) .observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.io()) .subscribeWith(new DisposableObserver<Announcements>() { @@ -110,4 +115,12 @@ public class AnnouncementPresenter extends BasePresenter<AnnouncementMvpView> { })); } + + private Map<String, String> getAnnouncementQueryOptions(int PageNumber) { + Map<String, String> option = new HashMap<>(); + option.put("order", "reverse"); + option.put("page", String.valueOf(PageNumber)); + return option; + } + } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/f8fe735c/app/src/test/java/org/apache/taverna/mobile/AnnouncementPresenterTest.java ---------------------------------------------------------------------- diff --git a/app/src/test/java/org/apache/taverna/mobile/AnnouncementPresenterTest.java b/app/src/test/java/org/apache/taverna/mobile/AnnouncementPresenterTest.java index 6150a73..876351d 100644 --- a/app/src/test/java/org/apache/taverna/mobile/AnnouncementPresenterTest.java +++ b/app/src/test/java/org/apache/taverna/mobile/AnnouncementPresenterTest.java @@ -15,6 +15,9 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; +import java.util.HashMap; +import java.util.Map; + import io.reactivex.Observable; import static org.mockito.Mockito.never; @@ -35,6 +38,7 @@ public class AnnouncementPresenterTest { Announcements announcements; DetailAnnouncement announcement; private AnnouncementPresenter announcementPresenter; + private Map<String, String> option; @Before public void setUp() { @@ -45,6 +49,9 @@ public class AnnouncementPresenterTest { announcements = FakeRemoteDataSource.getAnnouncements(); announcement = FakeRemoteDataSource.getAnnouncement(); + option = new HashMap<>(); + option.put("order", "reverse"); + option.put("page", String.valueOf(1)); } @After @@ -55,7 +62,7 @@ public class AnnouncementPresenterTest { @Test public void loadAllAnnouncement_validAnnouncementsData_ReturnsResults() { - when(dataManager.getAllAnnouncement(1)).thenReturn( + when(dataManager.getAllAnnouncement(option)).thenReturn( Observable.just(announcements)); announcementPresenter.loadAllAnnouncement(1); @@ -70,7 +77,7 @@ public class AnnouncementPresenterTest { public void loadAllAnnouncement_NULLAnnouncementsData_RemoveLoadMore() { Announcements announcements = new Announcements(); - when(dataManager.getAllAnnouncement(1)).thenReturn( + when(dataManager.getAllAnnouncement(option)).thenReturn( Observable.just(announcements)); announcementPresenter.loadAllAnnouncement(1); @@ -85,8 +92,8 @@ public class AnnouncementPresenterTest { public void loadAllAnnouncement_RuntimeError_ShowError() { - when(dataManager.getAllAnnouncement(1)).thenReturn(Observable.<Announcements>error(new - RuntimeException())); + when(dataManager.getAllAnnouncement(option)).thenReturn( + Observable.<Announcements>error(new RuntimeException())); announcementPresenter.loadAllAnnouncement(1);
