package com.afollestad.aesthetic; import android.support.annotation.NonNull; import android.support.annotation.RestrictTo; import android.support.v7.widget.CardView; import android.view.View; import io.reactivex.exceptions.Exceptions; import io.reactivex.observers.DisposableObserver; import static android.support.annotation.RestrictTo.Scope.LIBRARY_GROUP; /** @author Aidan Follestad (afollestad) */ @RestrictTo(LIBRARY_GROUP) final class ViewBackgroundSubscriber extends DisposableObserver<Integer> { private final View view; private ViewBackgroundSubscriber(@NonNull View view) { this.view = view; } public static ViewBackgroundSubscriber create(@NonNull View view) { return new ViewBackgroundSubscriber(view); } @Override public void onError(Throwable e) { throw Exceptions.propagate(e); } @Override public void onComplete() {} @Override public void onNext(Integer color) { if (view instanceof CardView) { ((CardView) view).setCardBackgroundColor(color); } else { view.setBackgroundColor(color); } } }