Advertisement
Guest User

Untitled

a guest
May 21st, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.26 KB | None | 0 0
  1. public Single<List<AccountLoyaltyProgramHolder>> getLoyaltyPrograms() {
  2. GetAccountsParams params = new GetAccountsParams.Builder()
  3. .filter(new ImportedAccountFilter())
  4. .build();
  5.  
  6. return configManager.getLoyaltyPrograms()
  7. .flatMap(loyaltyPrograms -> Single.fromCallable(() -> accountModel.getAccounts(params))
  8. .flattenAsObservable(Functions.identity())
  9. .filter(someAccount -> !someAccount.getAccount().getLoyalty().isEmpty())
  10. .flatMap(someAccount -> Observable.fromIterable(loyaltyPrograms)
  11. .filter(loyaltyProgram -> loyaltyProgram.getProgramId().equals(someAccount.getAccount().getLoyalty().get(0).getProgramId()))
  12. .defaultIfEmpty(getDefaultLoyaltyProgramm(loyaltyPrograms))
  13. .filter(loyaltyProgram -> loyaltyProgram.getProgramId().equals(LoyaltyProgram.DEFAULT) || loyaltyProgram.isShowInMenu())
  14. .map(loyaltyProgram -> AccountLoyaltyProgramHolder.create(someAccount, loyaltyProgram)))
  15. .distinct(holder -> holder.getLoyaltyProgram().getProgramId())
  16. .toList());
  17. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement