Untitled
unknown
kotlin
2 years ago
4.0 kB
2
Indexable
private fun makeHomeSections(home: HomePage, showLocationOnboarding: Boolean): List<Component> { val list = mutableListOf<Component>() list.addAll(generateBrowseEventsComponents()) if (shouldShowSpotifyConnect()) { analytics.log( AnalyticsEvent.Event.Spotify.ConnectViewed( location = AnalyticsEvent.Event.Spotify.Location.FEED ) ) list.add(generateSpotifyConnectComponent()) } if (shouldShowTicketWalletOnboarding()) { list.add(generateTicketWalletOnboarding()) } else if (showLocationOnboarding) { list.add(generateLocationOnboarding()) } if (home.feedItems.isEmpty().not()) { // Required for analytics feedStartPosition = list.size for (item in home.feedItems) { val position = list.size when (item) { is FeedItem.EventCollectionFeedItem, is FeedItem.ThumbnailWithUrlFeedItem, is FeedItem.BlogFeedItem -> { item as ThumbnailFeedItem list.add( FeedItemComponent( item.id, item.title, item.subtitle, item.imageUrl, item.status == FeedItemStatus.Preview, item.apiType, item.id ) { onFeedItemTap(item, position) } ) } is FeedItem.GroupFeedItem -> { if (item.items.isNotEmpty()) { val subtitle = item.subtitle val events = item.items.take(NUM_ITEMS_CARD).mapToEventComponents() val showMore = item.items.size > NUM_ITEMS_CARD list.add( CardItemGroupComponent( id = item.id, title = RawText(item.title), subtitle = if (subtitle != null) RawText(subtitle) else null, clickText = ResText(R.string.see_all), preview = item.status == FeedItemStatus.Preview, items = events, onClick = { onFeedItemTap(item, position) }, showMore = showMore, apiType = item.apiType, titleAnalytics = item.title, adapterProvider = componentAdapterProvider ) ) } } } } } if (home.eventsFromFollowedArtists.isEmpty().not()) { val events = home.eventsFromFollowedArtists.take(3) .mapEventToEventComponentsFromFollowedArtists() val showMore = home.eventsFromFollowedArtists.size > 3 list.add( CardItemGroupComponent( id = "EVENTS_FROM_YOUR_ARTISTS", title = ResText(R.string.feed_events_from_followed_artists_title), subtitle = ResText(R.string.feed_events_from_followed_artists_subtitle), clickText = ResText(R.string.see_all), items = events, showMore = showMore, onClick = { view?.goToFollowedArtistsEvents() }, apiType = "", titleAnalytics = "", adapterProvider = componentAdapterProvider ) ) } return list }
Editor is loading...