Commit 0845fa5b authored by Vladislav Bogdashkin's avatar Vladislav Bogdashkin 🎣

downloader screen; default

parent 53f4fbc3
package com.biganto.visual.roompark.conductor.dialogs.tour_chooser package com.biganto.visual.roompark.conductor.dialogs.tour_chooser
import android.content.Context
import android.os.Bundle import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
...@@ -10,14 +11,23 @@ import android.widget.TextView ...@@ -10,14 +11,23 @@ import android.widget.TextView
import androidx.annotation.LayoutRes import androidx.annotation.LayoutRes
import androidx.core.os.bundleOf import androidx.core.os.bundleOf
import com.biganto.visual.roompark.R import com.biganto.visual.roompark.R
import com.biganto.visual.roompark.base.RoomParkApplication
import com.biganto.visual.roompark.base.RoomParkMainActivity
import com.biganto.visual.roompark.di.dagger.AppComponent
import com.biganto.visual.roompark.di.dagger.PerScreen
import com.biganto.visual.roompark.domain.interactor.ToursInteractor import com.biganto.visual.roompark.domain.interactor.ToursInteractor
import com.biganto.visual.roompark.domain.model.TourModel import com.biganto.visual.roompark.domain.model.TourModel
import com.biganto.visual.roompark.domain.use_case.DownloadUseCase import com.biganto.visual.roompark.domain.use_case.DownloadUseCase
import com.biganto.visual.roomparkvr.data.repository.db.requery.model.TourPreviewEntity import com.biganto.visual.roomparkvr.data.repository.db.requery.model.TourPreviewEntity
import com.bluelinelabs.conductor.Controller import com.bluelinelabs.conductor.Controller
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
import dagger.Binds
import dagger.BindsInstance
import dagger.Component
import dagger.Module
import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.disposables.CompositeDisposable import io.reactivex.disposables.CompositeDisposable
import io.reactivex.schedulers.Schedulers
import jp.wasabeef.glide.transformations.BlurTransformation import jp.wasabeef.glide.transformations.BlurTransformation
import jp.wasabeef.glide.transformations.ColorFilterTransformation import jp.wasabeef.glide.transformations.ColorFilterTransformation
import timber.log.Timber import timber.log.Timber
...@@ -42,6 +52,14 @@ class DownloadTourDialogController : Controller { ...@@ -42,6 +52,14 @@ class DownloadTourDialogController : Controller {
lateinit var downloadTourTitleText: TextView lateinit var downloadTourTitleText: TextView
lateinit var cancelDownloadText: TextView lateinit var cancelDownloadText: TextView
override fun onContextAvailable(context: Context) {
super.onContextAvailable(context)
DaggerDownloaderScreenComponent.factory()
.create(RoomParkApplication.component,activity as RoomParkMainActivity)
.inject(this)
}
private val tour:TourModel by lazy { private val tour:TourModel by lazy {
args.getParcelable<TourModel>(DOWNLOAD_TOUR_ID_KEY) args.getParcelable<TourModel>(DOWNLOAD_TOUR_ID_KEY)
} }
...@@ -82,6 +100,7 @@ class DownloadTourDialogController : Controller { ...@@ -82,6 +100,7 @@ class DownloadTourDialogController : Controller {
downloader.downloadTour(tour.tour_id, downloadToken) downloader.downloadTour(tour.tour_id, downloadToken)
.onErrorReturn { Timber.e(it);TourPreviewEntity() } .onErrorReturn { Timber.e(it);TourPreviewEntity() }
// .onErrorReturn { parseError(it);TourPreviewEntity() } // .onErrorReturn { parseError(it);TourPreviewEntity() }
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.subscribe ( .subscribe (
{ model -> { model ->
...@@ -100,7 +119,7 @@ class DownloadTourDialogController : Controller { ...@@ -100,7 +119,7 @@ class DownloadTourDialogController : Controller {
)) ))
// downloadTour(it.tour.tour_id, downloadToken) // downloadTour(it.tour.tour_id, downloadToken)
view.findViewById<View>(R.id.close_current_button).setOnClickListener { handleBack() } // view.findViewById<View>(R.id.close_current_button).setOnClickListener { handleBack() }
return view return view
} }
...@@ -115,7 +134,7 @@ class DownloadTourDialogController : Controller { ...@@ -115,7 +134,7 @@ class DownloadTourDialogController : Controller {
} }
@LayoutRes @LayoutRes
fun getLayoutId() = R.layout.photo_viewer fun getLayoutId() = R.layout.download_tour_layout
override fun handleBack(): Boolean { override fun handleBack(): Boolean {
return router.popCurrentController() return router.popCurrentController()
...@@ -123,3 +142,32 @@ class DownloadTourDialogController : Controller { ...@@ -123,3 +142,32 @@ class DownloadTourDialogController : Controller {
} }
@PerScreen
@Component(
modules = [DownloaderScreenModule::class],
dependencies = [AppComponent::class])
interface DownloaderScreenComponent {
@Component.Factory
interface Factory{
fun create(
appComponent: AppComponent
,@BindsInstance activity: RoomParkMainActivity
): DownloaderScreenComponent
}
//
// val presenter: ArticlesScreenPresenter
fun inject(controller: DownloadTourDialogController)
}
@Module
abstract class DownloaderScreenModule{
@PerScreen
@Binds
abstract fun provideContext(activity: RoomParkMainActivity): Context
}
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