package com.jakewharton.rxbinding2.widget; import android.support.annotation.CheckResult; import android.support.annotation.NonNull; import android.widget.SeekBar; import com.jakewharton.rxbinding2.InitialValueObservable; import static com.jakewharton.rxbinding2.internal.Preconditions.checkNotNull; public final class RxSeekBar { /** * Create an observable of progress value changes on {@code view}. * <p> * <em>Warning:</em> The created observable keeps a strong reference to {@code view}. Unsubscribe * to free this reference. * <p> * <em>Note:</em> A value will be emitted immediately on subscribe. */ @CheckResult @NonNull public static InitialValueObservable<Integer> changes(@NonNull SeekBar view) { checkNotNull(view, "view == null"); return new SeekBarChangeObservable(view, null); } /** * Create an observable of progress value changes on {@code view} that were made only from the * user. * <p> * <em>Warning:</em> The created observable keeps a strong reference to {@code view}. Unsubscribe * to free this reference. * <p> * <em>Note:</em> A value will be emitted immediately on subscribe. */ @CheckResult @NonNull public static InitialValueObservable<Integer> userChanges(@NonNull SeekBar view) { checkNotNull(view, "view == null"); return new SeekBarChangeObservable(view, true); } /** * Create an observable of progress value changes on {@code view} that were made only from the * system. * <p> * <em>Warning:</em> The created observable keeps a strong reference to {@code view}. Unsubscribe * to free this reference. * <p> * <em>Note:</em> A value will be emitted immediately on subscribe. */ @CheckResult @NonNull public static InitialValueObservable<Integer> systemChanges(@NonNull SeekBar view) { checkNotNull(view, "view == null"); return new SeekBarChangeObservable(view, false); } /** * Create an observable of progress change events for {@code view}. * <p> * <em>Warning:</em> The created observable keeps a strong reference to {@code view}. Unsubscribe * to free this reference. * <p> * <em>Note:</em> A value will be emitted immediately on subscribe. */ @CheckResult @NonNull public static InitialValueObservable<SeekBarChangeEvent> changeEvents(@NonNull SeekBar view) { checkNotNull(view, "view == null"); return new SeekBarChangeEventObservable(view); } private RxSeekBar() { throw new AssertionError("No instances."); } }