Guest User

Untitled

a guest
Dec 13th, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.80 KB | None | 0 0
  1. //i declare the subject globally
  2. PublishSubject<Call<List<Response>>> subject = PublishSubject.create();
  3.  
  4. //this is how i call retrofit
  5. private void updateMarkers(LatLng center)
  6. {
  7. subject.onNext(new APIHelper().
  8. GetNearByLocations("auth_key", center.latitude, center.longitude, urgency));
  9.  
  10. subject.debounce(1, TimeUnit.SECONDS)
  11. .observeOn(AndroidSchedulers.mainThread())
  12. .subscribeOn(Schedulers.io())
  13. .subscribe(call -> {
  14. call.clone().enqueue(new Callback<List<Response>>()
  15. {
  16. @Override
  17. public void onResponse(Call<List<Response>> call, Response<List<Response>> response)
  18. {
  19. Timber.d("BRAVO!!!");
  20. }
  21.  
  22. @Override
  23. public void onFailure(Call<List<Response>> call, Throwable t)
  24. {
  25. Timber.d("someone's gonna get hurt real bad!!!");
  26. }
  27. });
  28.  
  29. });
  30. }
  31.  
  32. //i declare the subject globally
  33. PublishSubject<Call<List<Response>>> subject = PublishSubject.create();
  34.  
  35. private void updateMarkers(LatLng center)
  36. {
  37. subject.onNext(new APIHelper().
  38. GetNearByLocations("auth_key", center.latitude, center.longitude, urgency));
  39.  
  40. }
  41.  
  42. @Override
  43. public void onResume(Context ctx) {
  44.  
  45.  
  46. subject.debounce(1, TimeUnit.SECONDS)
  47. .observeOn(AndroidSchedulers.mainThread())
  48. .subscribeOn(Schedulers.io())
  49. .subscribe(call -> {
  50. call.clone().enqueue(new Callback<List<Response>>()
  51. {
  52. @Override
  53. public void onResponse(Call<List<Response>> call, Response<List<Response>> response)
  54. {
  55. Timber.d("BRAVO!!!");
  56. }
  57.  
  58. @Override
  59. public void onFailure(Call<List<Response>> call, Throwable t)
  60. {
  61. Timber.d("someone's gonna get hurt real bad!!!");
  62. }
  63. });
  64.  
  65. });
  66. }
  67.  
  68. public interface MyApi {
  69. Observable<String> getNearByLocation(Double latitude, Double longitude);
  70. }
  71.  
  72. //i declare the subject globally
  73. PublishSubject<LatLng> subject = PublishSubject.create();
  74.  
  75. private void updateMarkers(LatLng center)
  76. {
  77. subject.onNext(center);
  78. }
  79.  
  80. public void onCreate(Context ctx) {
  81.  
  82. subject.debounce(1, TimeUnit.SECONDS)
  83. .subscribeOn(Schedulers.io())
  84. .flatMap(latLng -> api.getNearByLocation(latLng.latitude, latLng.longitude))
  85. .observeOn(AndroidSchedulers.mainThread())
  86. .subscribe(r -> Timber.d("BRAVO !"), e -> Timber.d("Problems"));
  87.  
  88. }
Add Comment
Please, Sign In to add comment