// Path: sample/src/main/java/com/metova/privvy/sample/models/DescriptiveNumber.java
// public class DescriptiveNumber {
// 
//     public int value;
//     public String description;
// 
//     public DescriptiveNumber() {
// 
//     }
// }
// 
// Path: sample/src/main/java/com/metova/privvy/sample/models/Number.java
// public class Number {
// 
//     public int value;
// 
//     public Number() {
//     }
// }


import com.jakewharton.rxrelay2.PublishRelay;
import com.metova.privvy.sample.models.DescriptiveNumber;
import com.metova.privvy.sample.models.Number;
import java.util.ArrayList;
import java.util.List;
import javax.inject.Inject;
import javax.inject.Singleton;
import io.reactivex.BackpressureStrategy;
import io.reactivex.Flowable;
package com.metova.privvy.sample.db;






@Singleton
public class FakeDb {

    private PublishRelay<Number> numberRelay = PublishRelay.create();

    private Number number = new Number();

    @Inject
    public FakeDb() {
    }

    public Flowable<Number> getNumber() {
        return Flowable.just(number);
    }

    public void updateNumberBy(int value) {
        number.value += value;
        numberRelay.accept(this.number);
    }

    public Flowable<Number> numberUpdates() {
        return numberRelay.toFlowable(BackpressureStrategy.BUFFER);
    }

// Path: sample/src/main/java/com/metova/privvy/sample/models/DescriptiveNumber.java
// public class DescriptiveNumber {
// 
//     public int value;
//     public String description;
// 
//     public DescriptiveNumber() {
// 
//     }
// }
// 
// Path: sample/src/main/java/com/metova/privvy/sample/models/Number.java
// public class Number {
// 
//     public int value;
// 
//     public Number() {
//     }
// }


// Path: sample/src/main/java/com/metova/privvy/sample/db/FakeDb.java
import com.jakewharton.rxrelay2.PublishRelay;
import com.metova.privvy.sample.models.DescriptiveNumber;
import com.metova.privvy.sample.models.Number;
import java.util.ArrayList;
import java.util.List;
import javax.inject.Inject;
import javax.inject.Singleton;
import io.reactivex.BackpressureStrategy;
import io.reactivex.Flowable;

package com.metova.privvy.sample.db;






@Singleton
public class FakeDb {

    private PublishRelay<Number> numberRelay = PublishRelay.create();

    private Number number = new Number();

    @Inject
    public FakeDb() {
    }

    public Flowable<Number> getNumber() {
        return Flowable.just(number);
    }

    public void updateNumberBy(int value) {
        number.value += value;
        numberRelay.accept(this.number);
    }

    public Flowable<Number> numberUpdates() {
        return numberRelay.toFlowable(BackpressureStrategy.BUFFER);
    }

    public Flowable<List<DescriptiveNumber>> getNumberList() {