Skip to content

Commit

Permalink
Use data class for custom event types.
Browse files Browse the repository at this point in the history
  • Loading branch information
ychescale9 committed Oct 29, 2020
1 parent 9283974 commit a7e62bf
Show file tree
Hide file tree
Showing 40 changed files with 380 additions and 44 deletions.
182 changes: 182 additions & 0 deletions flowbinding-android/api/flowbinding-android.api

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -77,11 +77,11 @@ public fun MenuItem.actionViewEvents(
public sealed class MenuItemActionViewEvent {
public abstract val menuItem: MenuItem

public class Collapse(
public data class Collapse(
override val menuItem: MenuItem
) : MenuItemActionViewEvent()

public class Expand(
public data class Expand(
override val menuItem: MenuItem
) : MenuItemActionViewEvent()
}
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ public fun View.attachEvents(): Flow<ViewAttachEvent> = callbackFlow<ViewAttachE
public sealed class ViewAttachEvent {
public abstract val view: View

public class Attached(override val view: View) : ViewAttachEvent()
public data class Attached(override val view: View) : ViewAttachEvent()

public class Detached(override val view: View) : ViewAttachEvent()
public data class Detached(override val view: View) : ViewAttachEvent()
}
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ public sealed class HierarchyChangeEvent {
public abstract val parent: ViewGroup
public abstract val child: View

public class ChildAdded(override val parent: ViewGroup, override val child: View) : HierarchyChangeEvent()
public data class ChildAdded(override val parent: ViewGroup, override val child: View) : HierarchyChangeEvent()

public class ChildRemoved(override val parent: ViewGroup, override val child: View) : HierarchyChangeEvent()
public data class ChildRemoved(override val parent: ViewGroup, override val child: View) : HierarchyChangeEvent()
}
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ public fun View.layoutChangeEvents(): Flow<LayoutChangeEvent> = callbackFlow {
}.conflate()

@Suppress("LongParameterList")
public class LayoutChangeEvent(
public data class LayoutChangeEvent(
public val view: View,
public val left: Int,
public val top: Int,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ public fun View.scrollChangeEvents(): Flow<ScrollChangeEvent> = callbackFlow {
awaitClose { setOnScrollChangeListener(null) }
}.conflate()

public class ScrollChangeEvent(
public data class ScrollChangeEvent(
public val view: View,
public val scrollX: Int,
public val scrollY: Int,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ public fun AbsListView.scrollEvents(): Flow<ScrollEvent> = callbackFlow<ScrollEv
awaitClose { setOnScrollListener(null) }
}.conflate()

public class ScrollEvent(
public data class ScrollEvent(
public val view: AbsListView,
public val scrollState: Int,
public val firstVisibleItem: Int,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ public fun <T : Adapter> AdapterView<T>.itemClickEvents(): Flow<AdapterViewItemC
awaitClose { onItemClickListener = null }
}.conflate()

public class AdapterViewItemClickEvent(
public data class AdapterViewItemClickEvent(
public val view: AdapterView<*>,
public val clickedView: View?,
public val position: Int,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ public fun <T : Adapter> AdapterView<T>.itemLongClickEvents(
awaitClose { onItemLongClickListener = null }
}.conflate()

public class AdapterViewItemLongClickEvent(
public data class AdapterViewItemLongClickEvent(
public val view: AdapterView<*>,
public val longClickedView: View?,
public val position: Int,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,12 +78,12 @@ public fun <T : Adapter> AdapterView<T>.selectionEvents(): InitialValueFlow<Adap
public sealed class AdapterViewSelectionEvent {
public abstract val view: AdapterView<*>

public class ItemSelected(
public data class ItemSelected(
override val view: AdapterView<*>,
public val selectedView: View?,
public val position: Int,
public val id: Long
) : AdapterViewSelectionEvent()

public class NothingSelected(override val view: AdapterView<*>) : AdapterViewSelectionEvent()
public data class NothingSelected(override val view: AdapterView<*>) : AdapterViewSelectionEvent()
}
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ public fun RatingBar.ratingChangeEvents(): InitialValueFlow<RatingChangeEvent> =
)
}

public class RatingChangeEvent(
public data class RatingChangeEvent(
public val view: RatingBar,
public val rating: Float,
public val fromUser: Boolean
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,12 +72,12 @@ public sealed class QueryTextEvent {
public abstract val view: SearchView
public abstract val queryText: CharSequence

public class QueryChanged(
public data class QueryChanged(
override val view: SearchView,
override val queryText: CharSequence
) : QueryTextEvent()

public class QuerySubmitted(
public data class QuerySubmitted(
override val view: SearchView,
override val queryText: CharSequence
) : QueryTextEvent()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,13 +83,13 @@ public fun SeekBar.changeEvents(): InitialValueFlow<SeekBarChangeEvent> =
public sealed class SeekBarChangeEvent {
public abstract val view: SeekBar

public class ProgressChanged(
public data class ProgressChanged(
override val view: SeekBar,
public val progress: Int,
public val fromUser: Boolean
) : SeekBarChangeEvent()

public class StartTracking(override val view: SeekBar) : SeekBarChangeEvent()
public data class StartTracking(override val view: SeekBar) : SeekBarChangeEvent()

public class StopTracking(override val view: SeekBar) : SeekBarChangeEvent()
public data class StopTracking(override val view: SeekBar) : SeekBarChangeEvent()
}
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ public fun TextView.afterTextChanges(): InitialValueFlow<AfterTextChangeEvent> =
AfterTextChangeEvent(view = this@afterTextChanges, editable = editableText)
}

public class AfterTextChangeEvent(
public data class AfterTextChangeEvent(
public val view: TextView,
public val editable: Editable?
)
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ public fun TextView.beforeTextChanges(): InitialValueFlow<BeforeTextChangeEvent>
)
}

public class BeforeTextChangeEvent(
public data class BeforeTextChangeEvent(
public val view: TextView,
public val text: CharSequence,
public val start: Int,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public fun TextView.editorActionEvents(handled: (EditorActionEvent) -> Boolean =
awaitClose { setOnEditorActionListener(null) }
}.conflate()

public class EditorActionEvent(
public data class EditorActionEvent(
public val view: TextView,
public val actionId: Int,
public val keyEvent: KeyEvent?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ public fun TextView.textChangeEvents(): InitialValueFlow<TextChangeEvent> =
)
}

public class TextChangeEvent(
public data class TextChangeEvent(
public val view: TextView,
public val text: CharSequence,
public val start: Int,
Expand Down
14 changes: 14 additions & 0 deletions flowbinding-appcompat/api/flowbinding-appcompat.api
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,28 @@ public abstract class reactivecircus/flowbinding/appcompat/QueryTextEvent {

public final class reactivecircus/flowbinding/appcompat/QueryTextEvent$QueryChanged : reactivecircus/flowbinding/appcompat/QueryTextEvent {
public fun <init> (Landroidx/appcompat/widget/SearchView;Ljava/lang/CharSequence;)V
public final fun component1 ()Landroidx/appcompat/widget/SearchView;
public final fun component2 ()Ljava/lang/CharSequence;
public final fun copy (Landroidx/appcompat/widget/SearchView;Ljava/lang/CharSequence;)Lreactivecircus/flowbinding/appcompat/QueryTextEvent$QueryChanged;
public static synthetic fun copy$default (Lreactivecircus/flowbinding/appcompat/QueryTextEvent$QueryChanged;Landroidx/appcompat/widget/SearchView;Ljava/lang/CharSequence;ILjava/lang/Object;)Lreactivecircus/flowbinding/appcompat/QueryTextEvent$QueryChanged;
public fun equals (Ljava/lang/Object;)Z
public fun getQueryText ()Ljava/lang/CharSequence;
public fun getView ()Landroidx/appcompat/widget/SearchView;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class reactivecircus/flowbinding/appcompat/QueryTextEvent$QuerySubmitted : reactivecircus/flowbinding/appcompat/QueryTextEvent {
public fun <init> (Landroidx/appcompat/widget/SearchView;Ljava/lang/CharSequence;)V
public final fun component1 ()Landroidx/appcompat/widget/SearchView;
public final fun component2 ()Ljava/lang/CharSequence;
public final fun copy (Landroidx/appcompat/widget/SearchView;Ljava/lang/CharSequence;)Lreactivecircus/flowbinding/appcompat/QueryTextEvent$QuerySubmitted;
public static synthetic fun copy$default (Lreactivecircus/flowbinding/appcompat/QueryTextEvent$QuerySubmitted;Landroidx/appcompat/widget/SearchView;Ljava/lang/CharSequence;ILjava/lang/Object;)Lreactivecircus/flowbinding/appcompat/QueryTextEvent$QuerySubmitted;
public fun equals (Ljava/lang/Object;)Z
public fun getQueryText ()Ljava/lang/CharSequence;
public fun getView ()Landroidx/appcompat/widget/SearchView;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class reactivecircus/flowbinding/appcompat/SearchViewQueryTextChangeFlowKt {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,12 +72,12 @@ public sealed class QueryTextEvent {
public abstract val view: SearchView
public abstract val queryText: CharSequence

public class QueryChanged(
public data class QueryChanged(
override val view: SearchView,
override val queryText: CharSequence
) : QueryTextEvent()

public class QuerySubmitted(
public data class QuerySubmitted(
override val view: SearchView,
override val queryText: CharSequence
) : QueryTextEvent()
Expand Down
10 changes: 10 additions & 0 deletions flowbinding-core/api/flowbinding-core.api
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,20 @@ public final class reactivecircus/flowbinding/core/NestedScrollViewScrollChangeE

public final class reactivecircus/flowbinding/core/ScrollChangeEvent {
public fun <init> (Landroid/view/View;IIII)V
public final fun component1 ()Landroid/view/View;
public final fun component2 ()I
public final fun component3 ()I
public final fun component4 ()I
public final fun component5 ()I
public final fun copy (Landroid/view/View;IIII)Lreactivecircus/flowbinding/core/ScrollChangeEvent;
public static synthetic fun copy$default (Lreactivecircus/flowbinding/core/ScrollChangeEvent;Landroid/view/View;IIIIILjava/lang/Object;)Lreactivecircus/flowbinding/core/ScrollChangeEvent;
public fun equals (Ljava/lang/Object;)Z
public final fun getOldScrollX ()I
public final fun getOldScrollY ()I
public final fun getScrollX ()I
public final fun getScrollY ()I
public final fun getView ()Landroid/view/View;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ public fun NestedScrollView.scrollChangeEvents(): Flow<ScrollChangeEvent> = call
awaitClose { setOnScrollChangeListener(null as NestedScrollView.OnScrollChangeListener?) }
}.conflate()

public class ScrollChangeEvent(
public data class ScrollChangeEvent(
public val view: View,
public val scrollX: Int,
public val scrollY: Int,
Expand Down
Loading

0 comments on commit a7e62bf

Please sign in to comment.