Advertisement
andyshon

UserController

Jul 10th, 2018
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.68 KB | None | 0 0
  1. package com.andyshon.rxjava_1_sqlite;
  2.  
  3. import android.content.Context;
  4.  
  5. import java.util.ArrayList;
  6. import java.util.Arrays;
  7. import java.util.List;
  8.  
  9. import io.reactivex.Observable;
  10. import io.reactivex.ObservableEmitter;
  11. import io.reactivex.ObservableOnSubscribe;
  12. import io.reactivex.functions.Consumer;
  13. import io.reactivex.functions.Function;
  14. import io.reactivex.schedulers.Schedulers;
  15.  
  16. /**
  17.  * Created by andyshon on 10.07.18.
  18.  */
  19.  
  20. public class UserController {
  21.  
  22.     private UserInterface.View view;
  23.     private DbModel model;
  24.     private List<User> userList;
  25.     private Context context;
  26.  
  27.  
  28.     public UserController (Context context) {
  29.  
  30.         this.context = context;
  31.         this.view = (UserInterface.View) context;
  32.         model = new DbModel(context);
  33.  
  34.         userList = Arrays.asList(
  35.                 new User(new ApiUser(21,"Andy", "ZP")),
  36.                 new User(new ApiUser(20,"Bunker", "ZP")),
  37.                 new User(new ApiUser(20,"Poly", "ZP")),
  38.                 new User(new ApiUser(22, "Brayson", "ZP")));
  39.     }
  40.  
  41.  
  42.  
  43.     public void removeAllDatabase () {
  44.         model.removeAllDatabase();
  45.     }
  46.  
  47.  
  48.     public void getAllUsers () {
  49.  
  50.         //Handler handler = new Handler();
  51.  
  52.         model./*getAllUsers*/displayDatabaseInfo()
  53.                 .subscribeOn(Schedulers.newThread())
  54.                 //.map(this::convertUserListToApiUserList)
  55.                 /*.map(new Function<List<User>, List<ApiUser>>() {
  56.                     @Override
  57.                     public List<ApiUser> apply(List<User> users) throws Exception {
  58.                         return convertUserListToApiUserList(users);
  59.                     }
  60.                 })*/
  61.                 .subscribe(s -> view.populateData(s));
  62.                 /*.subscribe(new Consumer<List<ApiUser>>() {
  63.                     @Override
  64.                     public void accept(List<ApiUser> apiUsers) throws Exception {
  65.                         handler.post(new Runnable() {
  66.                             @Override
  67.                             public void run() {
  68.                                 view.populateData(apiUsers);
  69.                             }
  70.                         });
  71.  
  72.                     }
  73.                 });*/
  74.     }
  75.  
  76.  
  77.     private List<ApiUser> convertUserListToApiUserList (List<User> users) {
  78.         List<ApiUser> apiUsers = new ArrayList<>();
  79.         for (User user : users) {
  80.             if (user.getAge() > 20) {
  81.                 ApiUser apiUser = new ApiUser(user.getAge(), user.getName(), user.getCity());
  82.                 apiUsers.add(apiUser);
  83.             }
  84.         }
  85.         return apiUsers;
  86.     }
  87.  
  88.  
  89.     public void insertUsers() {
  90.  
  91.         model.insertUsers(userList);
  92.     }
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement