From 67ad9f0f26ad5707c5a2ce768687152cad930374 Mon Sep 17 00:00:00 2001 From: Azat Sagutdinov Date: Thu, 16 May 2024 16:51:12 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A4=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=BE?= =?UTF-8?q?=D0=BD=D0=B0=D0=BB=20=D0=BC=D0=B5=D1=85=D0=B0=D0=BD=D0=B8=D0=BA?= =?UTF-8?q?=D0=B0=20=D1=87.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/dev/res/values/strings.xml | 1 + .../ru/tele2med/mobile/data/api/ApiService.kt | 15 ++ .../response/CheckupShowListResponse.kt | 1 + .../mobile/data/db/TechCheckupsTests.kt | 23 ++ .../mobile/data/repository/DataConverter.kt | 8 + .../data/repository/TechRepositoryImpl.kt | 16 ++ .../mobile/domain/entity/CheckupData.kt | 9 + .../mobile/domain/entity/CheckupShowList.kt | 8 + .../mobile/domain/entity/DataCheckupShow.kt | 12 + .../domain/interactor/TechInteractor.kt | 6 + .../domain/repository/TechRepository.kt | 4 + .../mobile/presentation/router/NavRouter.kt | 5 + .../mobile/presentation/router/NavScreens.kt | 4 + .../list/techCheckup/TechCheckupFragment.kt | 2 - .../tests/TechCheckupTestsFragment.kt | 23 +- .../tests/TechCheckupTestsPresenter.kt | 11 +- .../list/techCheckup/tests/TestListAdapter.kt | 10 +- .../techCheckup/tests/test/TestFragment.kt | 83 ++++++ .../techCheckup/tests/test/TestPresenter.kt | 26 ++ .../list/techCheckup/tests/test/TestScreen.kt | 16 ++ .../list/techCheckup/tests/test/TestView.kt | 14 ++ .../main/res/layout/fragment_checkup_test.xml | 237 ++++++++++++++++++ app/src/main/res/layout/item_test.xml | 4 +- 23 files changed, 523 insertions(+), 15 deletions(-) create mode 100644 app/src/main/java/ru/tele2med/mobile/data/api/entity/response/CheckupShowListResponse.kt create mode 100644 app/src/main/java/ru/tele2med/mobile/data/db/TechCheckupsTests.kt create mode 100644 app/src/main/java/ru/tele2med/mobile/domain/entity/CheckupData.kt create mode 100644 app/src/main/java/ru/tele2med/mobile/domain/entity/CheckupShowList.kt create mode 100644 app/src/main/java/ru/tele2med/mobile/domain/entity/DataCheckupShow.kt create mode 100644 app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/test/TestFragment.kt create mode 100644 app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/test/TestPresenter.kt create mode 100644 app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/test/TestScreen.kt create mode 100644 app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/test/TestView.kt create mode 100644 app/src/main/res/layout/fragment_checkup_test.xml diff --git a/app/src/dev/res/values/strings.xml b/app/src/dev/res/values/strings.xml index d798e07..5557e55 100644 --- a/app/src/dev/res/values/strings.xml +++ b/app/src/dev/res/values/strings.xml @@ -258,6 +258,7 @@ sos Парк + Тест diff --git a/app/src/main/java/ru/tele2med/mobile/data/api/ApiService.kt b/app/src/main/java/ru/tele2med/mobile/data/api/ApiService.kt index 5d5f403..c9d78fb 100644 --- a/app/src/main/java/ru/tele2med/mobile/data/api/ApiService.kt +++ b/app/src/main/java/ru/tele2med/mobile/data/api/ApiService.kt @@ -10,6 +10,7 @@ import retrofit2.http.* import ru.tele2med.mobile.BuildConfig.* import ru.tele2med.mobile.data.api.entity.request.BeginMedicalCheckupFinall import ru.tele2med.mobile.data.api.entity.response.* +import ru.tele2med.mobile.domain.entity.CheckupData interface ApiService { @@ -329,6 +330,20 @@ interface ApiService { ): Single + @Multipart + @POST("${API_BASE_URL}waybills/checklist/update/{uniq_id}") + fun update( + @Path("uniq_id") uuid: String, + @Part("uniq_id") uuidPart: RequestBody, + @Part("data") data: List?, + @Header("token") token: String? = "iddqd", + @Header("Authorization") tokenUser: String? + ): Single + + + + + } diff --git a/app/src/main/java/ru/tele2med/mobile/data/api/entity/response/CheckupShowListResponse.kt b/app/src/main/java/ru/tele2med/mobile/data/api/entity/response/CheckupShowListResponse.kt new file mode 100644 index 0000000..5c84b13 --- /dev/null +++ b/app/src/main/java/ru/tele2med/mobile/data/api/entity/response/CheckupShowListResponse.kt @@ -0,0 +1 @@ +package ru.tele2med.mobile.data.api.entity.response import ru.tele2med.mobile.domain.entity.* data class CheckupShowListResponse( val af: String, val status: String, val message: String, val data: DataCheckupShow ) \ No newline at end of file diff --git a/app/src/main/java/ru/tele2med/mobile/data/db/TechCheckupsTests.kt b/app/src/main/java/ru/tele2med/mobile/data/db/TechCheckupsTests.kt new file mode 100644 index 0000000..c476784 --- /dev/null +++ b/app/src/main/java/ru/tele2med/mobile/data/db/TechCheckupsTests.kt @@ -0,0 +1,23 @@ +package ru.tele2med.mobile.data.db + +import androidx.room.Entity +import androidx.room.PrimaryKey +import ru.tele2med.mobile.domain.entity.DataShow + +@Entity(tableName = "tech_checkups") +data class TechCheckupsTests( + val id: String, + @PrimaryKey + val uniq_id: String, + val template_checklist_uniq_id: String, + val waybill_uniq_id: String?, + val techcontrol_uuid: String?, + val organization_id: String?, + val name: String?, + val comment: String?, + val date_create: String, + val date_update: String, + val date_delete: String, + val enabled: String, + val data: List +) \ No newline at end of file diff --git a/app/src/main/java/ru/tele2med/mobile/data/repository/DataConverter.kt b/app/src/main/java/ru/tele2med/mobile/data/repository/DataConverter.kt index 86f019e..1911f8c 100644 --- a/app/src/main/java/ru/tele2med/mobile/data/repository/DataConverter.kt +++ b/app/src/main/java/ru/tele2med/mobile/data/repository/DataConverter.kt @@ -95,6 +95,14 @@ class DataConverter { message = list.message ) + fun toCheckupShow(list: CheckupShowListResponse): CheckupShowList = + CheckupShowList( + af = list.af, + status = list.status, + data = list.data, + message = list.message + ) + fun toTech(tech: TechResponse): Tech = Tech( diff --git a/app/src/main/java/ru/tele2med/mobile/data/repository/TechRepositoryImpl.kt b/app/src/main/java/ru/tele2med/mobile/data/repository/TechRepositoryImpl.kt index 8141508..33eb9d2 100644 --- a/app/src/main/java/ru/tele2med/mobile/data/repository/TechRepositoryImpl.kt +++ b/app/src/main/java/ru/tele2med/mobile/data/repository/TechRepositoryImpl.kt @@ -108,5 +108,21 @@ class TechRepositoryImpl( ) .map(dataConverter::toTechShow) + override fun updateCheckList( + id: String, + data: List + ): Single = + apiService + .update( + uuid = id, + uuidPart = RequestBody.create( + MediaType.parse("text/plain"), id + ), + tokenUser = "Bearer ${prefs.getTokenUser().toString()}", + data = data, + ) + .map(dataConverter::toCheckupShow) + + } \ No newline at end of file diff --git a/app/src/main/java/ru/tele2med/mobile/domain/entity/CheckupData.kt b/app/src/main/java/ru/tele2med/mobile/domain/entity/CheckupData.kt new file mode 100644 index 0000000..5e5d81f --- /dev/null +++ b/app/src/main/java/ru/tele2med/mobile/domain/entity/CheckupData.kt @@ -0,0 +1,9 @@ +package ru.tele2med.mobile.domain.entity + +data class CheckupData( + val uniq_id: String, + val label: String, + val value: String, + val view: String + +) \ No newline at end of file diff --git a/app/src/main/java/ru/tele2med/mobile/domain/entity/CheckupShowList.kt b/app/src/main/java/ru/tele2med/mobile/domain/entity/CheckupShowList.kt new file mode 100644 index 0000000..48e62ea --- /dev/null +++ b/app/src/main/java/ru/tele2med/mobile/domain/entity/CheckupShowList.kt @@ -0,0 +1,8 @@ +package ru.tele2med.mobile.domain.entity + +data class CheckupShowList( + val af: String, + val status: String, + val message: String, + val data: DataCheckupShow +) \ No newline at end of file diff --git a/app/src/main/java/ru/tele2med/mobile/domain/entity/DataCheckupShow.kt b/app/src/main/java/ru/tele2med/mobile/domain/entity/DataCheckupShow.kt new file mode 100644 index 0000000..f629990 --- /dev/null +++ b/app/src/main/java/ru/tele2med/mobile/domain/entity/DataCheckupShow.kt @@ -0,0 +1,12 @@ +package ru.tele2med.mobile.domain.entity + +data class DataCheckupShow( + val id: String, + val uniq_id: String, + val template_checklist_fields_uniq_id: String, + val has_data: String?, + val value: String?, + val checklist_uuid: String? + + +) \ No newline at end of file diff --git a/app/src/main/java/ru/tele2med/mobile/domain/interactor/TechInteractor.kt b/app/src/main/java/ru/tele2med/mobile/domain/interactor/TechInteractor.kt index 0bdc4e7..6eda336 100644 --- a/app/src/main/java/ru/tele2med/mobile/domain/interactor/TechInteractor.kt +++ b/app/src/main/java/ru/tele2med/mobile/domain/interactor/TechInteractor.kt @@ -28,4 +28,10 @@ class TechInteractor( ): Single = techRepository.showTech(id) + fun updateCheckList( + id: String, + data: List + ): Single = + techRepository.showCheckup(id, data) + } \ No newline at end of file diff --git a/app/src/main/java/ru/tele2med/mobile/domain/repository/TechRepository.kt b/app/src/main/java/ru/tele2med/mobile/domain/repository/TechRepository.kt index 974cb7c..c935f64 100644 --- a/app/src/main/java/ru/tele2med/mobile/domain/repository/TechRepository.kt +++ b/app/src/main/java/ru/tele2med/mobile/domain/repository/TechRepository.kt @@ -18,4 +18,8 @@ interface TechRepository { id: String, ): Single + fun updateCheckList( + id: String, + data: List + ): Single } diff --git a/app/src/main/java/ru/tele2med/mobile/presentation/router/NavRouter.kt b/app/src/main/java/ru/tele2med/mobile/presentation/router/NavRouter.kt index a5601f9..3d57ad9 100644 --- a/app/src/main/java/ru/tele2med/mobile/presentation/router/NavRouter.kt +++ b/app/src/main/java/ru/tele2med/mobile/presentation/router/NavRouter.kt @@ -1,6 +1,7 @@ package ru.tele2med.mobile.presentation.router import ru.tele2med.mobile.domain.entity.DataQR +import ru.tele2med.mobile.domain.entity.DataShow import ru.tele2med.mobile.domain.entity.DataTech import ru.terrakok.cicerone.Router @@ -123,6 +124,10 @@ class NavRouter : Router() { navigateTo(NavScreens.getTechCheckup(dataTech)) } + fun openTestCheckupScreen(test: DataShow) { + navigateTo(NavScreens.getTestCheckup(test)) + } + fun openMedicalCheckupsScreen() { navigateTo(NavScreens.getMedicalCheckups()) } diff --git a/app/src/main/java/ru/tele2med/mobile/presentation/router/NavScreens.kt b/app/src/main/java/ru/tele2med/mobile/presentation/router/NavScreens.kt index 9b39b3f..18b6d45 100644 --- a/app/src/main/java/ru/tele2med/mobile/presentation/router/NavScreens.kt +++ b/app/src/main/java/ru/tele2med/mobile/presentation/router/NavScreens.kt @@ -1,6 +1,7 @@ package ru.tele2med.mobile.presentation.router import ru.tele2med.mobile.domain.entity.DataQR +import ru.tele2med.mobile.domain.entity.DataShow import ru.tele2med.mobile.domain.entity.DataTech import ru.tele2med.mobile.presentation.ui.auth.login.LoginScreen import ru.tele2med.mobile.presentation.ui.auth.number_enter.NumberEnterScreen @@ -40,6 +41,7 @@ import ru.tele2med.mobile.presentation.ui.menu.items.stats.StatsScreen import ru.tele2med.mobile.presentation.ui.menu.items.status.StatusesScreen import ru.tele2med.mobile.presentation.ui.menu.items.tech.TechScreen import ru.tele2med.mobile.presentation.ui.menu.items.tech.list.techCheckup.TechCheckupScreen +import ru.tele2med.mobile.presentation.ui.menu.items.tech.list.techCheckup.tests.test.TestScreen import ru.tele2med.mobile.presentation.ui.menu.items.tonometr.TonScreen object NavScreens { @@ -93,6 +95,8 @@ object NavScreens { fun getTechCheckup(dataTech: DataTech): TechCheckupScreen = TechCheckupScreen(dataTech) + fun getTestCheckup(test: DataShow): TestScreen = TestScreen(test) + fun getTechCheckupInfo(dataTech: DataTech): TechCheckupScreen = TechCheckupScreen(dataTech) fun getTechCheckupTests(dataTech: DataTech): TechCheckupScreen = TechCheckupScreen(dataTech) diff --git a/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/TechCheckupFragment.kt b/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/TechCheckupFragment.kt index 6ec5348..bdb2cf3 100644 --- a/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/TechCheckupFragment.kt +++ b/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/TechCheckupFragment.kt @@ -52,8 +52,6 @@ class TechCheckupFragment : BaseMenuFragment(), TechCheckupView { private fun initViewPager() { context?.let { - - MyViewPager.adapter = TechCheckupAdapter( it, childFragmentManager, arguments?.getString( DATA_QR diff --git a/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/TechCheckupTestsFragment.kt b/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/TechCheckupTestsFragment.kt index e836b1e..ce4a460 100644 --- a/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/TechCheckupTestsFragment.kt +++ b/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/TechCheckupTestsFragment.kt @@ -9,11 +9,13 @@ import android.view.View import android.widget.MediaController import androidx.annotation.RequiresApi import androidx.core.net.toUri +import androidx.recyclerview.widget.LinearLayoutManager import com.arellomobile.mvp.presenter.InjectPresenter import com.arellomobile.mvp.presenter.ProvidePresenter import com.bumptech.glide.Glide import com.google.gson.Gson import com.squareup.picasso.Picasso +import kotlinx.android.synthetic.main.fragment_tech_list.* import ru.tele2med.mobile.R import ru.tele2med.mobile.presentation.ui.base.BasePresenter import ru.tele2med.mobile.presentation.ui.drawer.entity.ScreenType @@ -22,8 +24,10 @@ import ru.tele2med.mobile.presentation.ui.menu.ReviewActivity import ru.tele2med.mobile.presentation.ui.menu.base.BaseMenuFragment import ru.tele2med.mobile.presentation.util.providePresenter import kotlinx.android.synthetic.main.fragment_test_list.* +import kotlinx.android.synthetic.main.fragment_test_list.recyclerView import kotlinx.android.synthetic.main.toolbar_with_help.* import ru.tele2med.mobile.domain.entity.* +import ru.tele2med.mobile.presentation.ui.common.EndlessRecyclerViewScrollListener class TechCheckupTestsFragment : BaseMenuFragment(), TechCheckupTestsView { @@ -34,6 +38,8 @@ class TechCheckupTestsFragment : BaseMenuFragment(), TechCheckupTestsView { @InjectPresenter lateinit var presenter: TechCheckupTestsPresenter + private lateinit var layoutManager: LinearLayoutManager + @ProvidePresenter fun initPresenter(): TechCheckupTestsPresenter = @@ -44,8 +50,8 @@ class TechCheckupTestsFragment : BaseMenuFragment(), TechCheckupTestsView { get() = R.layout.fragment_test_list private val adapter: TestListAdapter by lazy { - TestListAdapter { idcheckup -> - presenter.get(idcheckup) + TestListAdapter { test -> + presenter.get(test) } } @@ -73,8 +79,19 @@ class TechCheckupTestsFragment : BaseMenuFragment(), TechCheckupTestsView { } } } + + layoutManager = LinearLayoutManager(context) + recyclerView.layoutManager = layoutManager + recyclerView.adapter = adapter + val scrollListener = object : EndlessRecyclerViewScrollListener(layoutManager) { + override fun onLoadMore() { + // presenter.getCheckups() + } + } + recyclerView.addOnScrollListener(scrollListener) + // tvDriverTitle.focusable // tvDriverTitle.requestFocus() var dataString = DATA_QR @@ -88,7 +105,7 @@ class TechCheckupTestsFragment : BaseMenuFragment(), TechCheckupTestsView { } override fun showCheckups(list: List) { - Log.v("SHOWCH", "data = $list") + Log.v("SHOWCH", "data tests = $list") adapter.submitList(list) } diff --git a/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/TechCheckupTestsPresenter.kt b/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/TechCheckupTestsPresenter.kt index bdb53b6..9583729 100644 --- a/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/TechCheckupTestsPresenter.kt +++ b/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/TechCheckupTestsPresenter.kt @@ -9,14 +9,16 @@ import ru.tele2med.mobile.presentation.util.Prefs import ru.tele2med.mobile.presentation.util.ioToMain import io.reactivex.rxkotlin.plusAssign import ru.tele2med.mobile.data.api.entity.exception.ApiException +import ru.tele2med.mobile.domain.entity.DataShow import ru.tele2med.mobile.domain.entity.DataTech import ru.tele2med.mobile.domain.interactor.TechInteractor +import ru.tele2med.mobile.presentation.router.NavRouter @InjectViewState class TechCheckupTestsPresenter( private val techInteractor: TechInteractor, private val prefs: Prefs, - private val stringId: String + private val navRouter: NavRouter ) : BasePresenter() { fun onRefresh() { @@ -42,7 +44,7 @@ class TechCheckupTestsPresenter( } .subscribe({ - Log.v("LOG", "it = $it ${it.message}") + Log.v("LOG", "it = $it ${it.data.data}") viewState.showCheckups(it.data.data) }, { @@ -57,8 +59,9 @@ class TechCheckupTestsPresenter( }) } - fun get(code: String) { - println("qrcode4 $code") + fun get(test: DataShow) { + println("TechCheckupTestsPresenter ${test.uniq_id}") + navRouter.openTestCheckupScreen(test) } diff --git a/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/TestListAdapter.kt b/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/TestListAdapter.kt index 5889488..022c82e 100644 --- a/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/TestListAdapter.kt +++ b/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/TestListAdapter.kt @@ -10,10 +10,11 @@ import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.RecyclerView import ru.tele2med.mobile.R +import ru.tele2med.mobile.domain.entity.Data import ru.tele2med.mobile.domain.entity.DataShow class TestListAdapter( - val onItemClick: (checkupId: String) -> Unit + val onItemClick: (test: DataShow) -> Unit ) : ListAdapter( DIFF_CALLBACK ) { @@ -45,15 +46,16 @@ class TestListAdapter( init { view.setOnClickListener { - val list = getItem(adapterPosition) - onItemClick(list.uniq_id) + val test = getItem(adapterPosition) + onItemClick(test) } } fun bind(list: DataShow) { Log.v("BIND", "list = $list") testName.text = list.name - testResult.text = list.value + testResult.text = + if (list.value == "1") "Исправно" else if (list.value == "0") "Неисправно" else "Ещё не пройдено" } } diff --git a/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/test/TestFragment.kt b/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/test/TestFragment.kt new file mode 100644 index 0000000..4fe6a61 --- /dev/null +++ b/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/test/TestFragment.kt @@ -0,0 +1,83 @@ +package ru.tele2med.mobile.presentation.ui.menu.items.tech.list.techCheckup.tests.test + +import android.os.Bundle +import android.util.Log +import android.view.View +import com.arellomobile.mvp.presenter.InjectPresenter +import com.arellomobile.mvp.presenter.ProvidePresenter +import com.google.gson.Gson +import kotlinx.android.synthetic.main.fragment_checkup_test.* +import ru.tele2med.mobile.R +import ru.tele2med.mobile.domain.entity.Data +import ru.tele2med.mobile.domain.entity.DataShow +import ru.tele2med.mobile.domain.entity.DataTech +import ru.tele2med.mobile.presentation.ui.base.BasePresenter +import ru.tele2med.mobile.presentation.ui.drawer.entity.ScreenType +import ru.tele2med.mobile.presentation.ui.menu.MenuActivity +import ru.tele2med.mobile.presentation.ui.menu.base.BaseMenuFragment +import ru.tele2med.mobile.presentation.ui.menu.items.result.ResFragment +import ru.tele2med.mobile.presentation.ui.menu.items.tech.list.techCheckup.TechCheckupFragment +import ru.tele2med.mobile.presentation.ui.menu.items.tech.list.techCheckup.info.TechCheckupInfoFragment +import ru.tele2med.mobile.presentation.util.providePresenter + +class TestFragment : BaseMenuFragment(), TestView { + + override val screenType: ScreenType + get() = ScreenType.WITHOUT_BORDER + + @InjectPresenter + lateinit var presenter: TestPresenter + + private var errorDialog: androidx.appcompat.app.AlertDialog? = null + + + @ProvidePresenter + fun initPresenter(): TestPresenter = providePresenter() + + override fun getPresenter(): BasePresenter<*>? = presenter + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + (activity as MenuActivity).apply { + addDrawerToggle() + title = getString(R.string.test_toolbar) + } + + val args = arguments + val data = args?.toString() // getString("data", "") + + + Log.v("TestFragment", "args = ${arguments?.getString("data")}") + val gson = Gson() + val dataTest = gson.fromJson(TEST, DataShow::class.java) + fillData(dataTest) + } + + private fun fillData(data: DataShow) { + Log.v("TestFragment", "data = data.name = ${data.name}") + + tvTestName.text = data.name + + } + + + override val layoutId: Int + get() = R.layout.fragment_checkup_test + + companion object { + private const val TEST = "TEST" + + fun getInstance(test: DataShow): TestFragment { + val gson = Gson() + val string: String = gson.toJson(test) + return TestFragment().also { + it.arguments = Bundle().apply { + putString(TEST, string) + } + } + + } + } + + +} \ No newline at end of file diff --git a/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/test/TestPresenter.kt b/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/test/TestPresenter.kt new file mode 100644 index 0000000..7144e5a --- /dev/null +++ b/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/test/TestPresenter.kt @@ -0,0 +1,26 @@ +package ru.tele2med.mobile.presentation.ui.menu.items.tech.list.techCheckup.tests.test + +import com.arellomobile.mvp.InjectViewState +import ru.tele2med.mobile.domain.entity.Position +import ru.tele2med.mobile.domain.interactor.SosInteractor +import ru.tele2med.mobile.presentation.Changes +import ru.tele2med.mobile.presentation.router.NavRouter +import ru.tele2med.mobile.presentation.ui.menu.base.BaseMenuPresenter +import ru.tele2med.mobile.presentation.ui.menu.items.tech.list.techCheckup.tests.test.TestView + + +@InjectViewState +class TestPresenter( + private val sosInteractor: SosInteractor, + private val navRouter: NavRouter, + private val changes: Changes +) : BaseMenuPresenter() { + + private var position: Position? = null + + override fun onFirstViewAttach() { + super.onFirstViewAttach() + + } + +} diff --git a/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/test/TestScreen.kt b/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/test/TestScreen.kt new file mode 100644 index 0000000..07ff668 --- /dev/null +++ b/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/test/TestScreen.kt @@ -0,0 +1,16 @@ +package ru.tele2med.mobile.presentation.ui.menu.items.tech.list.techCheckup.tests.test + +import androidx.fragment.app.Fragment +import ru.tele2med.mobile.domain.entity.DataShow +import ru.terrakok.cicerone.android.support.SupportAppScreen + +class TestScreen(val test: DataShow) : SupportAppScreen() { + + override fun getFragment(): Fragment { + return TestFragment.getInstance(test) + } + + override fun getScreenKey(): String { + return TestFragment::class.java.name + } +} \ No newline at end of file diff --git a/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/test/TestView.kt b/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/test/TestView.kt new file mode 100644 index 0000000..65e00a9 --- /dev/null +++ b/app/src/main/java/ru/tele2med/mobile/presentation/ui/menu/items/tech/list/techCheckup/tests/test/TestView.kt @@ -0,0 +1,14 @@ +package ru.tele2med.mobile.presentation.ui.menu.items.tech.list.techCheckup.tests.test + +import com.arellomobile.mvp.viewstate.strategy.SkipStrategy +import com.arellomobile.mvp.viewstate.strategy.StateStrategyType +import ru.tele2med.mobile.domain.entity.DataShow +import ru.tele2med.mobile.presentation.ui.base.BaseView + +interface TestView : BaseView { + + fun bindTest(test: DataShow) { + + } + +} \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_checkup_test.xml b/app/src/main/res/layout/fragment_checkup_test.xml new file mode 100644 index 0000000..bf0a8cb --- /dev/null +++ b/app/src/main/res/layout/fragment_checkup_test.xml @@ -0,0 +1,237 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +