package carbon.widget.rx; import android.annotation.SuppressLint; import android.support.annotation.CheckResult; import android.support.annotation.NonNull; import com.jakewharton.rxbinding2.InitialValueObservable; import com.jakewharton.rxbinding2.internal.Functions; import com.jakewharton.rxbinding2.widget.RxTextView; import com.jakewharton.rxbinding2.widget.TextViewAfterTextChangeEvent; import com.jakewharton.rxbinding2.widget.TextViewBeforeTextChangeEvent; import com.jakewharton.rxbinding2.widget.TextViewEditorActionEvent; import com.jakewharton.rxbinding2.widget.TextViewTextChangeEvent; import io.reactivex.Observable; import io.reactivex.functions.Consumer; import io.reactivex.functions.Predicate; @SuppressLint("NewApi") interface RxTextViewInterface { @CheckResult @NonNull default Observable<Integer> editorActions() { return editorActions(Functions.PREDICATE_ALWAYS_TRUE); } @CheckResult @NonNull default Observable<Integer> editorActions(@NonNull Predicate<? super Integer> handled) { return RxTextView.editorActions((android.widget.TextView) this, handled); } @CheckResult @NonNull default Observable<TextViewEditorActionEvent> editorActionEvents() { return editorActionEvents(Functions.PREDICATE_ALWAYS_TRUE); } @CheckResult @NonNull default Observable<TextViewEditorActionEvent> editorActionEvents(@NonNull Predicate<? super TextViewEditorActionEvent> handled) { return RxTextView.editorActionEvents((android.widget.TextView) this, handled); } @CheckResult @NonNull default InitialValueObservable<CharSequence> textChanges() { return RxTextView.textChanges((android.widget.TextView) this); } @CheckResult @NonNull default InitialValueObservable<TextViewTextChangeEvent> textChangeEvents() { return RxTextView.textChangeEvents((android.widget.TextView) this); } @CheckResult @NonNull default InitialValueObservable<TextViewBeforeTextChangeEvent> beforeTextChangeEvents() { return RxTextView.beforeTextChangeEvents((android.widget.TextView) this); } @CheckResult @NonNull default InitialValueObservable<TextViewAfterTextChangeEvent> afterTextChangeEvents() { return RxTextView.afterTextChangeEvents((android.widget.TextView) this); } @CheckResult @NonNull default Consumer<? super CharSequence> text() { return (Consumer<CharSequence>) ((android.widget.TextView) this)::setText; } @CheckResult @NonNull default Consumer<? super Integer> textRes() { return (Consumer<Integer>) ((android.widget.TextView) this)::setText; } @CheckResult @NonNull default Consumer<? super CharSequence> error() { return (Consumer<CharSequence>) ((android.widget.TextView) this)::setError; } @CheckResult @NonNull default Consumer<? super Integer> errorRes() { return (Consumer<Integer>) textRes -> ((android.widget.TextView) this).setError(((android.widget.TextView) this).getContext().getResources().getText(textRes)); } @CheckResult @NonNull default Consumer<? super CharSequence> hint() { return (Consumer<CharSequence>) ((android.widget.TextView) this)::setHint; } @CheckResult @NonNull default Consumer<? super Integer> hintRes() { return (Consumer<Integer>) ((android.widget.TextView) this)::setHint; } @CheckResult @NonNull default Consumer<? super Integer> textColor() { return (Consumer<Integer>) ((android.widget.TextView) this)::setTextColor; } }