In Room Database i have an object (User) with id "1" and my DAO is returning a Flowable of this object. After subscribing I call editUser() function.
@Query ("SELECT * FROM User Where id=:id ")
Flowable<User> getUser(String id);
@Update
void update(User user);
I am not getting any call back (onNext or onComplete) whenever i make a change to this User object and update it in DB.
public void editUser() {
User u = new User();
u.id="1";
u.age=45;
appDB.userModel().update(u);
}
appDB.userModel().getUser("1").subscribe(new Subscriber<User>() {
@Override
public void onSubscribe(Subscription s) {
Log.d(TAG,"onSubscribed");
}
@Override
public void onNext(User user) {
Log.d(TAG,"onNext");
}
@Override
public void onError(Throwable t) {
Log.d(TAG,"Error");
}
@Override
public void onComplete() {
Log.d(TAG,"onComplete");
}
});
Could anyone please explain to me what am i missing here ?
Request from the Subscription
!
appDB.userModel().getUser("1").subscribe(new Subscriber<User>() {
@Override
public void onSubscribe(Subscription s) {
Log.d(TAG,"onSubscribed");
// ------------------------------------------------------------------------
s.request(Long.MAX_VALUE);
// ------------------------------------------------------------------------
}
@Override
public void onNext(User user) {
Log.d(TAG,"onNext");
}
@Override
public void onError(Throwable t) {
Log.d(TAG,"Error");
}
@Override
public void onComplete() {
Log.d(TAG,"onComplete");
}
});