Pawan Gorai
06/01/2021, 10:03 AMAny, None, and Allmin_age_limit is > 18available_dose_1 > 0{
"centers": [
	{
		....
		"sessions": [
			{
				"session_id":"adad",
				...
				"min_age_limit":45,
				"available_capacity_dose1": 5,
				"available_capacity_dose2": 5
				...
			},
			{
				"session_id":"adad1",
				...
				"min_age_limit":18,
				"available_capacity_dose1": 0,
				"available_capacity_dose2": 5
				...
			},
			{
				"session_id":"adad2",
				...
				"min_age_limit":18,
				"available_capacity_dose1": 5,
				"available_capacity_dose2": 0
				...
			}
		]
	}
	....
	]
}bsimmons
06/01/2021, 12:58 PMList<Session>Pawan Gorai
06/01/2021, 4:06 PMdata classdata class Center(
        @SerializedName("name")
        val name: String?,
        @SerializedName("address")
        val address: String?,
        @SerializedName("pincode")
        val pincode: Int?,
        @SerializedName("fee_type")
        val feeType: String?,
        @SerializedName("sessions")
        var sessions: List<Session>?
)bsimmons
06/01/2021, 5:19 PMfun isValidSession(session: Session) = session.minAgeLimit > 18 && session.availableDose > 0
val centersWithAtLeastOneValidSession = centers.filter { center ->
    center.sessions.any { session -> isValidSession(session) }
}Pawan Gorai
06/01/2021, 6:20 PMAnybsimmons
06/01/2021, 6:33 PMval allValidSessions = centers.map { center ->
    center.sessions.filter { session -> isValidSession(session)}
}.flatten()bsimmons
06/01/2021, 6:34 PMbsimmons
06/01/2021, 6:38 PMCenterdata class Center(
    /* other properties .... */
    val sessions: List<Session>
) {
    fun hasValidSession() = sessions.any(::isValidSession)
    fun getValidSessions() = sessions.filter(::isValidSession)
}Pawan Gorai
06/02/2021, 6:16 AMval allValidSessions = it?.data?.centers?.sortedBy { it.name }?.map { center ->
    center to center.sessions?.filter { session -> isValidSession(session, prefAge[0], selectedDose) }
}?.toMap()