Skip to content

Instantly share code, notes, and snippets.

@kmdupr33
Last active November 27, 2016 09:09
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save kmdupr33/b5fe4b2a67a3473e20c7 to your computer and use it in GitHub Desktop.
Save kmdupr33/b5fe4b2a67a3473e20c7 to your computer and use it in GitHub Desktop.
public class WeakSubscriberDecorator<T> extends Subscriber<T> {
private final WeakReference<Subscriber<T>> mWeakSubscriber;
public WeakSubscriberDecorator(Subscriber<T> subscriber) {
this.mWeakSubscriber = new WeakReference<Subscriber<T>>(subscriber);
}
@Override
public void onCompleted() {
Subscriber<T> subscriber = mWeakSubscriber.get();
if (subscriber != null) {
subscriber.onCompleted();
}
}
@Override
public void onError(Throwable e) {
Subscriber<T> subscriber = mWeakSubscriber.get();
if (subscriber != null) {
subscriber.onError(e);
}
}
@Override
public void onNext(T t) {
Subscriber<T> subscriber = mWeakSubscriber.get();
if (subscriber != null) {
subscriber.onNext(t);
}
}
}
@danielgomezrico
Copy link

Can you show an example about how to use it ? 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment