ursus
08/24/2018, 3:10 PMUlrik Bech Hald
08/27/2018, 11:33 AMursus
08/27/2018, 2:34 PMpublic class AppVisibilityManager {
private final BehaviorRelay<Boolean> inForegroundRelay = BehaviorRelay.create();
public AppVisibilityManager(Application application) {
checkNotNull(application);
application.registerActivityLifecycleCallbacks(new AppVisibilityLifecycleObserver() {
@Override public void onAppVisibilityChanged(boolean inForeground) {
inForegroundRelay.accept(inForeground);
}
});
}
public Observable<Boolean> inForegroundObservable() {
return inForegroundRelay.distinctUntilChanged();
}
}
ursus
08/27/2018, 2:34 PMUlrik Bech Hald
08/28/2018, 6:24 PMfun bind() : Observable<Boolean>
that returns a memoized Observable instance of inForegroundRelay.distinctUntilChanged().share()
(or whatever publish()/replay() variant you need.
Not sure how this relates to the kotlin rx channel though?ursus
08/28/2018, 11:32 PMUlrik Bech Hald
08/29/2018, 6:07 AMursus
08/29/2018, 2:56 PMursus
08/29/2018, 2:57 PM