From d51001c98c8ae3546a8ec0d6ef4c6da00f8e0acf Mon Sep 17 00:00:00 2001 From: samuelgruetter Date: Fri, 10 Jan 2014 13:14:00 +0100 Subject: [PATCH] simplify scala-function -> java-function conversion in groupByUntil no casting is needed --- .../src/main/scala/rx/lang/scala/Observable.scala | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/language-adaptors/rxjava-scala/src/main/scala/rx/lang/scala/Observable.scala b/language-adaptors/rxjava-scala/src/main/scala/rx/lang/scala/Observable.scala index e573192bac..1ff37ad335 100644 --- a/language-adaptors/rxjava-scala/src/main/scala/rx/lang/scala/Observable.scala +++ b/language-adaptors/rxjava-scala/src/main/scala/rx/lang/scala/Observable.scala @@ -1342,10 +1342,8 @@ trait Observable[+T] * contains all items for which `f` returned `key` before `closings` emits a value. */ def groupByUntil[K, Closing](f: T => K, closings: Observable[T]=>Observable[Closing]): Observable[(K, Observable[T])] = { - val closing = (o: rx.observables.GroupedObservable[K,T]) => closings(toScalaObservable[T](o)).asJavaObservable - val fclosing = new Func1[rx.observables.GroupedObservable[K, T], rx.Observable[_ <: Closing]] { - def call(o: rx.observables.GroupedObservable[K, T]) = closing(o) - }.asInstanceOf[Func1[_ >: rx.observables.GroupedObservable[K, _ <: T], _ <: rx.Observable[Closing]]] + val fclosing: Func1[_ >: rx.observables.GroupedObservable[K, _ <: T], _ <: rx.Observable[_ <: Closing]] + = (jGrObs: rx.observables.GroupedObservable[K, _ <: T]) => closings(toScalaObservable[T](jGrObs)).asJavaObservable val o1 = asJavaObservable.groupByUntil[K, Closing](f, fclosing) : rx.Observable[_ <: rx.observables.GroupedObservable[K, _ <: T]] val func = (o: rx.observables.GroupedObservable[K, _ <: T]) => (o.getKey, toScalaObservable[T](o)) toScalaObservable[(K, Observable[T])](o1.map[(K, Observable[T])](func))