title: Room RxJava Flowable not emitting updates after insert
body: <p>I have a Service that inserts data into a Room database everytime a new location is found.</p>
  
  <pre><code>@Override
  public void onLocationUpdate(Location location) {
      final Point point = new Point();
      point.setTripId(0);
      point.setDate(new Date());
      point.setLatitude(location.getLatitude());
      point.setLongitude(location.getLongitude());
  
      Completable completable = Completable
              .fromAction(() -&gt; appDataBase.pointDao().insert(point));
  }
  </code></pre>
  
  <p>But for some reason, when I subscribe in the main Activity, I'm not getting the new values in the database, it returns an empty list only once:</p>
  
  <pre><code>appDataBase.pointDao().getAllByTripId(0)
              .subscribeOn(Schedulers.io())
              .observeOn(AndroidSchedulers.mainThread())
              .subscribe(points -&gt; Log.d("TripActivity", points.toString()));
  </code></pre>
  
  <p>Here's my Dao:</p>
  
  <pre><code>@Dao
  public interface PointDao {
      @Query("SELECT * FROM points WHERE tripId = :tripId")
      Flowable&lt;List&lt;Point&gt;&gt; getAllByTripId(int tripId);
  
      @Insert
      void insert(Point point);
  
      @Query("DELETE FROM points WHERE tripId = :tripId")
      void deleteByTripId(int tripId);
  }
  </code></pre>
  
  <p>My Entity:</p>
  
  <pre><code>@Entity(tableName = "points")
  public class Point {
  
      public static final int DEFAULT_TRIP_ID = 0;
  
      @PrimaryKey(autoGenerate = true)
      private int id;
      private int tripId;
      private double latitude;
      private double longitude;
      private Date date;
  
      public Point() {
      }
  
      public int getId() {
          return id;
      }
  
      public void setId(int id) {
          this.id = id;
      }
  
      public int getTripId() {
          return tripId;
      }
  
      public void setTripId(int tripId) {
          this.tripId = tripId;
      }
  
      public double getLatitude() {
          return latitude;
      }
  
      public void setLatitude(double latitude) {
          this.latitude = latitude;
      }
  
      public double getLongitude() {
          return longitude;
      }
  
      public void setLongitude(double longitude) {
          this.longitude = longitude;
      }
  
      public Date getDate() {
          return date;
      }
  
      public void setDate(Date date) {
          this.date = date;
      }
  }
  </code></pre>
  
  <p>RoomDatabase:</p>
  
  <pre><code>@Database(entities = {Point.class, Trip.class}, version = 1, exportSchema = false)
  @TypeConverters({Converters.class})
  public abstract class AppDataBase extends RoomDatabase {
      public abstract TripDao tripDao();
      public abstract PointDao pointDao();
  }
  </code></pre>
  
  <p>This is the database construction which I inject with Dagger.</p>
  
  <pre><code>    @Provides
      @Singleton
      public AppDataBase provideAppDataBase(Context context) {
          return Room.databaseBuilder(context, AppDataBase.class, "Trips").build();
      }
  </code></pre>
  
  <p>I really don't know what I'm missing. </p>