package com.kickstarter.viewmodels.outputs; import android.util.Pair; import com.kickstarter.models.Project; import com.kickstarter.models.Reward; import com.kickstarter.models.RewardsItem; import org.joda.time.DateTime; import java.util.List; import rx.Observable; public interface RewardViewModelOutputs { /** * Returns `true` if the all gone TextView should be hidden, `false` otherwise. */ Observable<Boolean> allGoneTextViewIsHidden(); /** * Set the backers TextView's text. */ Observable<Integer> backersTextViewText(); /** * Returns `true` if the number of backers TextView should be hidden, `false` otherwise. */ Observable<Boolean> backersTextViewIsHidden(); /** * Set the description TextView's text. */ Observable<String> descriptionTextViewText(); /** * Set the estimated delivery date TextView's text. */ Observable<DateTime> estimatedDeliveryDateTextViewText(); /** * Returns `true` if the estimated delivery section should be hidden, `false` otherwise. */ Observable<Boolean> estimatedDeliveryDateSectionIsHidden(); /** * Start checkout with the project's reward selected. */ Observable<Pair<Project, Reward>> goToCheckout(); /** * Start checkout with the project's reward selected. */ Observable<Project> goToViewPledge(); /** * Returns `true` if reward can be clicked, `false` otherwise. */ Observable<Boolean> isClickable(); /** * Returns `true` if the separator between the limit and backers TextViews should be hidden, `false` otherwise. */ Observable<Boolean> limitAndBackersSeparatorIsHidden(); /** * Returns `true` if the limit TextView should be hidden, `false` otherwise. */ Observable<Boolean> limitAndRemainingTextViewIsHidden(); /** * Set the limit and remaining TextView's text. */ Observable<Pair<String, String>> limitAndRemainingTextViewText(); /** * Returns `true` if the limit header should be hidden, `false` otherwise. */ Observable<Boolean> limitHeaderIsHidden(); /** * Set the minimum TextView's text. */ Observable<String> minimumTextViewText(); /** * Returns `true` if the reward description is empty and should be hidden in the UI */ Observable<Boolean> rewardDescriptionIsHidden(); /** * Show the rewards items. */ Observable<List<RewardsItem>> rewardsItems(); /** * Returns `true` if the items section should be hidden, `false` otherwise. */ Observable<Boolean> rewardsItemsAreHidden(); /** * Returns `true` if selected header should be hidden, `false` otherwise. */ Observable<Boolean> selectedHeaderIsHidden(); /** * Returns `true` if selected overlay should be hidden, `false` otherwise. */ Observable<Boolean> selectedOverlayIsHidden(); /** * Returns `true` if the shipping section should be hidden, `false` otherwise. */ Observable<Boolean> shippingSummarySectionIsHidden(); /** * Set the shipping summary TextView's text. */ Observable<String> shippingSummaryTextViewText(); /** * Returns `true` if the title TextView should be hidden, `false` otherwise. */ Observable<Boolean> titleTextViewIsHidden(); /** * Use the reward's title to set the title text. */ Observable<String> titleTextViewText(); /** * Returns `true` if the USD conversion section should be hidden, `false` otherwise. */ Observable<Boolean> usdConversionTextViewIsHidden(); /** * Set the USD conversion. */ Observable<String> usdConversionTextViewText(); /** * Returns `true` if the white overlay indicating a reward is disabled should be hidden, `false` otherwise. */ Observable<Boolean> whiteOverlayIsHidden(); }