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..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,22 @@ 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.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())} 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/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 89% 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 6904450..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 @@ -16,7 +17,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/rocket/RocketFragment.kt similarity index 58% 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 c17bb3d..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 @@ -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 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">