From 19e808ccece2da2072729834521877c96a132c40 Mon Sep 17 00:00:00 2001 From: adenilsonricardo <85114978+adenilsonricardo@users.noreply.github.com> Date: Wed, 31 Aug 2022 16:35:39 -0300 Subject: [PATCH 1/2] implemented rocketFragment to rocketDetailsViewModel --- .../src/main/java/com/devpass/spaceapp/di/SpaceModule.kt | 7 +++++++ .../spaceapp/presentation/RocketDetailsViewModel.kt | 2 +- .../com/devpass/spaceapp/presentation/RocketFragment.kt | 7 +++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/di/SpaceModule.kt b/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/di/SpaceModule.kt index f4947aa..105d65f 100644 --- a/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/di/SpaceModule.kt +++ b/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/di/SpaceModule.kt @@ -3,8 +3,11 @@ package com.devpass.spaceapp.di import FetchLaunchesRepositoryImpl import com.devpass.spaceapp.data.api.NetworkModule import com.devpass.spaceapp.data.api.SpaceXAPIService +import com.devpass.spaceapp.model.repository.FetchRocketRepositoryImpl +import com.devpass.spaceapp.presentation.RocketDetailsViewModel import com.devpass.spaceapp.presentation.launchList.LaunchListViewModel import com.devpass.spaceapp.repository.FetchLaunchesRepository +import com.devpass.spaceapp.repository.FetchRocketRepository import org.koin.androidx.viewmodel.dsl.viewModel import org.koin.dsl.module import retrofit2.Retrofit @@ -14,4 +17,8 @@ val spaceModules = module{ factory{FetchLaunchesRepositoryImpl(get())} factory { get().create(SpaceXAPIService::class.java) } viewModel{LaunchListViewModel(get())} + + factory{FetchRocketRepositoryImpl(get())} + viewModel{RocketDetailsViewModel(get())} + } \ No newline at end of file diff --git a/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/RocketDetailsViewModel.kt b/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/RocketDetailsViewModel.kt index 6904450..8403803 100644 --- a/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/RocketDetailsViewModel.kt +++ b/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/RocketDetailsViewModel.kt @@ -16,7 +16,7 @@ class RocketDetailsViewModel( private val resultRocketLiveData = MutableLiveData>() private val resultRocketErrorLiveData =MutableLiveData(StateViewData()) - fun fetchRocketLauches(id: String) { + fun fetchRocketLaunches(id: String) { resultRocketLiveData.value = StateClassView.Loading() viewModelScope.launch { when (val result = launchRepository.getRocket(id)) { diff --git a/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/RocketFragment.kt b/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/RocketFragment.kt index c17bb3d..39b510a 100644 --- a/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/RocketFragment.kt +++ b/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/RocketFragment.kt @@ -6,8 +6,10 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.devpass.spaceapp.R +import org.koin.androidx.viewmodel.ext.android.viewModel class RocketFragment : Fragment() { + private val viewModel: RocketDetailsViewModel by viewModel() override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -16,4 +18,9 @@ class RocketFragment : Fragment() { // Inflate the layout for this fragment return inflater.inflate(R.layout.fragment_rocket, container, false) } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + viewModel.fetchRocketLaunches(id = "") + } } \ No newline at end of file From 8d60ba73ff304d22e85e41c331b8f6a116cfdfcd Mon Sep 17 00:00:00 2001 From: adenilsonricardo <85114978+adenilsonricardo@users.noreply.github.com> Date: Wed, 31 Aug 2022 16:49:58 -0300 Subject: [PATCH 2/2] implemented rocketFragment to rocketDetailsViewModel --- .../src/main/java/com/devpass/spaceapp/di/SpaceModule.kt | 6 ++---- .../com/devpass/spaceapp/presentation/LaunchActivity.kt | 1 + .../presentation/{ => rocket}/RocketDetailsActivity.kt | 2 +- .../presentation/{ => rocket}/RocketDetailsViewModel.kt | 3 ++- .../spaceapp/presentation/{ => rocket}/RocketFragment.kt | 2 +- .../app/src/main/res/layout/activity_rocket_details.xml | 2 +- .../app/src/main/res/layout/fragment_rocket.xml | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) rename solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/{ => rocket}/RocketDetailsActivity.kt (86%) rename solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/{ => rocket}/RocketDetailsViewModel.kt (92%) rename solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/{ => rocket}/RocketFragment.kt (94%) diff --git a/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/di/SpaceModule.kt b/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/di/SpaceModule.kt index 105d65f..547d628 100644 --- a/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/di/SpaceModule.kt +++ b/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/di/SpaceModule.kt @@ -1,17 +1,15 @@ package com.devpass.spaceapp.di import FetchLaunchesRepositoryImpl -import com.devpass.spaceapp.data.api.NetworkModule import com.devpass.spaceapp.data.api.SpaceXAPIService import com.devpass.spaceapp.model.repository.FetchRocketRepositoryImpl -import com.devpass.spaceapp.presentation.RocketDetailsViewModel +import com.devpass.spaceapp.presentation.rocket.RocketDetailsViewModel import com.devpass.spaceapp.presentation.launchList.LaunchListViewModel import com.devpass.spaceapp.repository.FetchLaunchesRepository import com.devpass.spaceapp.repository.FetchRocketRepository import org.koin.androidx.viewmodel.dsl.viewModel import org.koin.dsl.module import retrofit2.Retrofit -import retrofit2.create val spaceModules = module{ factory{FetchLaunchesRepositoryImpl(get())} @@ -19,6 +17,6 @@ val spaceModules = module{ viewModel{LaunchListViewModel(get())} factory{FetchRocketRepositoryImpl(get())} - viewModel{RocketDetailsViewModel(get())} + viewModel{ RocketDetailsViewModel(get()) } } \ No newline at end of file diff --git a/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/LaunchActivity.kt b/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/LaunchActivity.kt index 229fddb..52b8019 100644 --- a/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/LaunchActivity.kt +++ b/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/LaunchActivity.kt @@ -3,6 +3,7 @@ package com.devpass.spaceapp.presentation import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import com.devpass.spaceapp.databinding.ActivityTabBinding +import com.devpass.spaceapp.presentation.rocket.RocketFragment class LaunchActivity : AppCompatActivity() { diff --git a/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/RocketDetailsActivity.kt b/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/rocket/RocketDetailsActivity.kt similarity index 86% rename from solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/RocketDetailsActivity.kt rename to solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/rocket/RocketDetailsActivity.kt index 4e60780..65b0d3a 100644 --- a/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/RocketDetailsActivity.kt +++ b/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/rocket/RocketDetailsActivity.kt @@ -1,4 +1,4 @@ -package com.devpass.spaceapp.presentation +package com.devpass.spaceapp.presentation.rocket import androidx.appcompat.app.AppCompatActivity import android.os.Bundle diff --git a/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/RocketDetailsViewModel.kt b/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/rocket/RocketDetailsViewModel.kt similarity index 92% rename from solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/RocketDetailsViewModel.kt rename to solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/rocket/RocketDetailsViewModel.kt index 8403803..fd8abb7 100644 --- a/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/RocketDetailsViewModel.kt +++ b/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/rocket/RocketDetailsViewModel.kt @@ -1,10 +1,11 @@ -package com.devpass.spaceapp.presentation +package com.devpass.spaceapp.presentation.rocket import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.devpass.spaceapp.data.api.Results import com.devpass.spaceapp.model.Rocket +import com.devpass.spaceapp.presentation.StateClassView import com.devpass.spaceapp.presentation.launchList.StateViewData import com.devpass.spaceapp.repository.FetchRocketRepository import kotlinx.coroutines.launch diff --git a/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/RocketFragment.kt b/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/rocket/RocketFragment.kt similarity index 94% rename from solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/RocketFragment.kt rename to solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/rocket/RocketFragment.kt index 39b510a..45cf1e6 100644 --- a/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/RocketFragment.kt +++ b/solutions/devsprint-mychelle-rocha-2/app/src/main/java/com/devpass/spaceapp/presentation/rocket/RocketFragment.kt @@ -1,4 +1,4 @@ -package com.devpass.spaceapp.presentation +package com.devpass.spaceapp.presentation.rocket import android.os.Bundle import androidx.fragment.app.Fragment diff --git a/solutions/devsprint-mychelle-rocha-2/app/src/main/res/layout/activity_rocket_details.xml b/solutions/devsprint-mychelle-rocha-2/app/src/main/res/layout/activity_rocket_details.xml index aa3a620..9a69718 100644 --- a/solutions/devsprint-mychelle-rocha-2/app/src/main/res/layout/activity_rocket_details.xml +++ b/solutions/devsprint-mychelle-rocha-2/app/src/main/res/layout/activity_rocket_details.xml @@ -4,7 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".presentation.RocketDetailsActivity"> + tools:context=".presentation.rocket.RocketDetailsActivity"> + tools:context=".presentation.rocket.RocketFragment">