Commit b22a6d40 authored by Vladislav Bogdashkin's avatar Vladislav Bogdashkin 🎣

Merge branch 'feature/start_tour_flat_preview' into develop

parents 811a6796 b5481bc1
......@@ -197,6 +197,7 @@ class EstateRepository @Inject constructor(
private val getDealsApi: Observable<List<DealEntity>> =
local.recentUser()
.doOnError (Timber::e)
.flatMap {
when (it) {
is UserState.Authenticated -> db.fetchUser(it.uuid.toInt())
......@@ -230,8 +231,8 @@ class EstateRepository @Inject constructor(
override fun getDeals(): Observable<List<DealModel>> {
return Observable.mergeDelayError(
arrayListOf(
getDealsDb,getDealsApi
getDealsDb,
getDealsApi
)
)
.map { fromEntity(it, ::fromEntity) }
......
......@@ -34,7 +34,7 @@ private const val TIMEOUT_SECONDS=120L
private const val WRITE_SECONDS=120L
private const val READ_SECONDS=120L
val INTERCEPT_LOG_LEVEL = HttpLoggingInterceptor.Level.HEADERS
val INTERCEPT_LOG_LEVEL = HttpLoggingInterceptor.Level.NONE
@Module
class RetrofitModule{
......
......@@ -35,7 +35,8 @@ data class EstateRaw(
val plan_jpg:PlanRaw?,
val url:String,
val album_id:Int,
val multitour_id:Int?
val multitour_id:Int?,
val multitour_preview:String?
)
data class PlanRaw(
......
......@@ -38,6 +38,9 @@ interface Estate : Persistable {
@get:Nullable
val multitourId: Int?
@get:Nullable
val multitourPreview: String?
val info_building: Int
val info_section_begin: Int
val info_floor: Int
......
......@@ -137,6 +137,7 @@ fun fromRaw(raw:EstateRaw):EstateEntity{
entity.setRooms(raw.common_info.rooms)
entity.setAlbumId(raw.album_id)
entity.setMultitourId(raw.multitour_id)
entity.setMultitourPreview(raw.multitour_preview)
entity.setUrl(raw.url)
entity.setInfo_floor_max(raw.common_info.floor_max)
......
......@@ -21,7 +21,7 @@ const val ESTATES_CACHE_LIMIT_SECONDS_INACTIVE = 200L
const val FILES_CACHE_LIMIT_SIZE = 10000
const val FILES_CACHE_LIMIT_SECONDS_INACTIVE = 60L
const val DATABASE_VERSION = 9
const val DATABASE_VERSION = 10
@Module
abstract class AppModule{
......
......@@ -35,7 +35,7 @@ data class DealPreviewModel(
data.first.amount_pay_sum,
arrayListOf<Int?>(data.first.estate.multitourId),
false,
null,
data.first.estate.multitourPreview,
data.second
)
}
......
......@@ -56,6 +56,7 @@ data class EstateModel(
val rooms:Int?=null,
val albumId:Int?=null,
val multitourId:Int?=null,
val multitourPreview:String?=null,
val commonInfo:CommonInfoModel? = null,
val url:String?
)
......@@ -94,6 +95,7 @@ fun fromEntity(entity:EstateEntity): EstateModel {
rooms = entity.rooms,
albumId = entity.albumId,
multitourId = entity.multitourId,
multitourPreview = entity.multitourPreview,
commonInfo = CommonInfoModel(
building = entity.info_building,
section_begin = entity.sectionBegin,
......
......@@ -17,10 +17,12 @@ import com.biganto.visual.roompark.domain.model.typeDoubleString
import com.biganto.visual.roompark.domain.model.typeShortString
import com.biganto.visual.roompark.presentation.screen.estate.EstateScreenController
import com.biganto.visual.roompark.util.extensions.toRubly
import com.biganto.visual.roompark.util.view_utils.image_view.RoundedImageView
import com.biganto.visual.roompark.util.view_utils.status_progress_view.StatusProgressAnimationState
import com.biganto.visual.roompark.util.view_utils.status_progress_view.StatusProgressCeil
import com.bluelinelabs.conductor.RouterTransaction
import com.bluelinelabs.conductor.changehandler.FadeChangeHandler
import com.bumptech.glide.Glide
import com.google.android.material.textview.MaterialTextView
import com.jakewharton.rxbinding3.view.clicks
import com.jakewharton.rxbinding3.view.scrollChangeEvents
......@@ -85,6 +87,9 @@ class DealScreenController :
@BindView(R.id.start_tour_card)
lateinit var startTourView: View
@BindView(R.id.start_tour_image_view) lateinit var tourScreen: RoundedImageView
private var servedDeal : DealModel? = null
override fun onAttach(view: View) {
......@@ -204,6 +209,12 @@ class DealScreenController :
dealPayed.text = viewState.estate.paymentSum.toRubly()
dealSumToPay.text = viewState.estate.amount_pay_sum.toRubly()
viewState.estate.estate.multitourPreview?.let {
Glide.with(tourScreen)
.load(it)
.into(tourScreen)
}
dealModel = viewState.estate
toolBar.setToolbar(HeaderToolbarModel(
......
......@@ -92,6 +92,7 @@ class DealViewHolder(itemView: View) : CommonViewHolder<DealPreviewModel>(itemVi
statusLayout.addView(currentStatusText,0)
statusLayout.invalidate()
model.tourPreview?.let {
Glide.with(tourScreen)
.load(it)
......
......@@ -22,6 +22,8 @@ import com.biganto.visual.roompark.domain.model.*
import com.biganto.visual.roompark.presentation.screen.estate.util.FlatInfoAdapter
import com.biganto.visual.roompark.util.extensions.setGone
import com.biganto.visual.roompark.util.extensions.startUrl
import com.biganto.visual.roompark.util.view_utils.image_view.RoundedImageView
import com.bumptech.glide.Glide
import com.google.android.material.switchmaterial.SwitchMaterial
import com.google.android.material.tabs.TabLayout
import com.google.android.material.textview.MaterialTextView
......@@ -183,6 +185,8 @@ class EstateScreenController :
lateinit var furnitureDivider: View
@BindView(R.id.start_tour_image_view) lateinit var tourScreen: RoundedImageView
private fun setToolbar(){
toolBar.setToolbar(null, StatusToolbarModel())
toolBar.statusToolbar.findViewById<View>(R.id.back_cross).let {
......@@ -276,6 +280,12 @@ class EstateScreenController :
startTour.setGone(viewState.estate.multitourId == null)
startTourDivider.setGone(viewState.estate.multitourId == null)
viewState.estate.multitourPreview?.let {
Glide.with(tourScreen)
.load(it)
.into(tourScreen)
}
when(viewState.estate.type){
FlatType.FLAT -> {
flatTypeView.setGone(false)
......
......@@ -235,7 +235,7 @@
android:id="@+id/start_tour_card"
layout="@layout/start_tour_viewholder_big"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
android:layout_height="wrap_content" />
<include
layout="@layout/horizontal_divider"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment