Skip to content

Instantly share code, notes, and snippets.

@jayesh83
Created August 25, 2021 09:13
Show Gist options
  • Save jayesh83/896959b718b8c0ecf1eaf93d0a16e62a to your computer and use it in GitHub Desktop.
Save jayesh83/896959b718b8c0ecf1eaf93d0a16e62a to your computer and use it in GitHub Desktop.
package com.nascent.pcmc.ui.home
import androidx.lifecycle.ViewModel
import androidx.lifecycle.asLiveData
import com.nascent.pcmc.data.SessionManager
import com.nascent.pcmc.data.repository.PcmcDataRepository
import com.nascent.pcmc.model.BuildingPinInfoModel
import com.nascent.pcmc.utils.ViewUtils.Companion.log
import com.nascent.pcmc.utils.combineWith
import dagger.hilt.android.lifecycle.HiltViewModel
import org.json.JSONObject
import javax.inject.Inject
@HiltViewModel
class HomeViewModel @Inject constructor(
private val sessionManager: SessionManager,
pcmcDataRepository: PcmcDataRepository
) : ViewModel() {
fun isUserLoggedIn() = sessionManager.getToken() != null
private val currentlyAssignedGrids = pcmcDataRepository.getCurrentlyAssignedGrids
private val mapBbox = pcmcDataRepository.getMapBbox
val mapConfig = currentlyAssignedGrids.combineWith(mapBbox) { grids, bbox ->
JSONObject().put("grids", grids).put("bbox", bbox)
}
val userGeneratedNewBuildings = pcmcDataRepository.getAllNewBuildingsFlow().asLiveData()
fun getNewBuildingDetails(buildingGisId: String): BuildingPinInfoModel? {
/*val building = userGeneratedNewBuildings.map {
it.find { building -> building.gisId == gisId }
}.value*/
return userGeneratedNewBuildings.value?.find { building ->
log(building.toString())
building.gisId == buildingGisId
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment