wrap to OnSubscribeRefCountWithCacheTime
This commit is contained in:
parent
c6c414a2a0
commit
bab4e718f6
|
|
@ -23,9 +23,11 @@ import android.support.annotation.NonNull;
|
||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
|
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import ru.touchin.roboswag.core.log.LcGroup;
|
import ru.touchin.roboswag.core.log.LcGroup;
|
||||||
import ru.touchin.roboswag.core.observables.ObservableResult;
|
import ru.touchin.roboswag.core.observables.ObservableResult;
|
||||||
|
import ru.touchin.roboswag.core.observables.OnSubscribeRefCountWithCacheTime;
|
||||||
import ru.touchin.roboswag.core.observables.RxUtils;
|
import ru.touchin.roboswag.core.observables.RxUtils;
|
||||||
import ru.touchin.roboswag.core.observables.storable.builders.MigratableStorableBuilder;
|
import ru.touchin.roboswag.core.observables.storable.builders.MigratableStorableBuilder;
|
||||||
import ru.touchin.roboswag.core.observables.storable.builders.NonNullStorableBuilder;
|
import ru.touchin.roboswag.core.observables.storable.builders.NonNullStorableBuilder;
|
||||||
|
|
@ -56,6 +58,8 @@ public class Storable<TKey, TObject, TStoreObject> {
|
||||||
|
|
||||||
public static final LcGroup STORABLE_LC_GROUP = new LcGroup("STORABLE");
|
public static final LcGroup STORABLE_LC_GROUP = new LcGroup("STORABLE");
|
||||||
|
|
||||||
|
private static final long CACHE_TIME = TimeUnit.SECONDS.toMillis(5);
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
private final TKey key;
|
private final TKey key;
|
||||||
@NonNull
|
@NonNull
|
||||||
|
|
@ -155,7 +159,9 @@ public class Storable<TKey, TObject, TStoreObject> {
|
||||||
.subscribeOn(storeScheduler)
|
.subscribeOn(storeScheduler)
|
||||||
.concatWith(newStoreValueEvent)
|
.concatWith(newStoreValueEvent)
|
||||||
.map(storeObject -> returnDefaultValueIfNull(storeObject, defaultValue));
|
.map(storeObject -> returnDefaultValueIfNull(storeObject, defaultValue));
|
||||||
return observeStrategy == ObserveStrategy.CACHE_STORE_VALUE ? result.replay(1).refCount() : result;
|
return observeStrategy == ObserveStrategy.CACHE_STORE_VALUE
|
||||||
|
? Observable.create(new OnSubscribeRefCountWithCacheTime<>(result.replay(1), CACHE_TIME, TimeUnit.MILLISECONDS))
|
||||||
|
: result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
|
|
@ -176,7 +182,9 @@ public class Storable<TKey, TObject, TStoreObject> {
|
||||||
})
|
})
|
||||||
.subscribeOn(storeScheduler);
|
.subscribeOn(storeScheduler);
|
||||||
|
|
||||||
return observeStrategy == ObserveStrategy.CACHE_ACTUAL_VALUE ? result.replay(1).refCount() : result;
|
return observeStrategy == ObserveStrategy.CACHE_ACTUAL_VALUE
|
||||||
|
? Observable.create(new OnSubscribeRefCountWithCacheTime<>(result.replay(1), CACHE_TIME, TimeUnit.MILLISECONDS))
|
||||||
|
: result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -254,7 +262,8 @@ public class Storable<TKey, TObject, TStoreObject> {
|
||||||
} catch (final RuntimeException throwable) {
|
} catch (final RuntimeException throwable) {
|
||||||
STORABLE_LC_GROUP.assertion(throwable);
|
STORABLE_LC_GROUP.assertion(throwable);
|
||||||
}
|
}
|
||||||
});
|
})
|
||||||
|
.subscribeOn(storeScheduler);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue