Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.74 KB | None | 0 0
  1. public Observable<Response> getCameras() {
  2. return Observable.interval(10, TimeUnit.SECONDS)
  3. .flatMap(new Function<Long, Observable<CamerasResponse>>() {
  4. @Override
  5. public Observable<CamerasResponse> apply(@NonNull Long aLong) throws Exception {
  6. return mRepository.getCameras();
  7.  
  8. }
  9. })
  10. .filter(new Predicate<CamerasResponse>() {
  11. @Override
  12. public boolean test(@NonNull CamerasResponse response) throws Exception {
  13. return response.getData() != null && response.getData().cameras != null;
  14. }
  15. })
  16. .map(new Function<CamerasResponse, Response>() {
  17. @Override
  18. public Response apply(@NonNull CamerasResponse responseRetrofit) throws Exception {
  19. List<CamerasAdapterModel> data = new ArrayList<CamerasAdapterModel>();
  20.  
  21. for (CamerasResponse.Cameras camera : responseRetrofit.getData().cameras) {
  22. data.add(new CamerasAdapterModel(camera.camera_channel_id,
  23. camera.camera_name,
  24. camera.preview_url,
  25. camera.camera_connected_server,
  26. camera.archive));
  27. }
  28.  
  29. return new Response(responseRetrofit.getStatus(), data);
  30. }
  31. })
  32. .retry(NUMBER_ATTEMPTS)
  33. .subscribeOn(Schedulers.io())
  34. .observeOn(AndroidSchedulers.mainThread());
  35.  
  36.  
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement