Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.andyshon.rxjava_1_sqlite;
- import android.content.Context;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- import io.reactivex.Observable;
- import io.reactivex.ObservableEmitter;
- import io.reactivex.ObservableOnSubscribe;
- import io.reactivex.functions.Consumer;
- import io.reactivex.functions.Function;
- import io.reactivex.schedulers.Schedulers;
- /**
- * Created by andyshon on 10.07.18.
- */
- public class UserController {
- private UserInterface.View view;
- private DbModel model;
- private List<User> userList;
- private Context context;
- public UserController (Context context) {
- this.context = context;
- this.view = (UserInterface.View) context;
- model = new DbModel(context);
- userList = Arrays.asList(
- new User(new ApiUser(21,"Andy", "ZP")),
- new User(new ApiUser(20,"Bunker", "ZP")),
- new User(new ApiUser(20,"Poly", "ZP")),
- new User(new ApiUser(22, "Brayson", "ZP")));
- }
- public void removeAllDatabase () {
- model.removeAllDatabase();
- }
- public void getAllUsers () {
- //Handler handler = new Handler();
- model./*getAllUsers*/displayDatabaseInfo()
- .subscribeOn(Schedulers.newThread())
- //.map(this::convertUserListToApiUserList)
- /*.map(new Function<List<User>, List<ApiUser>>() {
- @Override
- public List<ApiUser> apply(List<User> users) throws Exception {
- return convertUserListToApiUserList(users);
- }
- })*/
- .subscribe(s -> view.populateData(s));
- /*.subscribe(new Consumer<List<ApiUser>>() {
- @Override
- public void accept(List<ApiUser> apiUsers) throws Exception {
- handler.post(new Runnable() {
- @Override
- public void run() {
- view.populateData(apiUsers);
- }
- });
- }
- });*/
- }
- private List<ApiUser> convertUserListToApiUserList (List<User> users) {
- List<ApiUser> apiUsers = new ArrayList<>();
- for (User user : users) {
- if (user.getAge() > 20) {
- ApiUser apiUser = new ApiUser(user.getAge(), user.getName(), user.getCity());
- apiUsers.add(apiUser);
- }
- }
- return apiUsers;
- }
- public void insertUsers() {
- model.insertUsers(userList);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement