diff --git a/app/src/main/java/com/runnect/runnect/data/dto/response/ResponsePostMyDrawCourse.kt b/app/src/main/java/com/runnect/runnect/data/dto/response/ResponsePostMyDrawCourse.kt index 2cc95367..f5bc6775 100644 --- a/app/src/main/java/com/runnect/runnect/data/dto/response/ResponsePostMyDrawCourse.kt +++ b/app/src/main/java/com/runnect/runnect/data/dto/response/ResponsePostMyDrawCourse.kt @@ -5,14 +5,8 @@ import kotlinx.serialization.Serializable @Serializable data class ResponsePostMyDrawCourse( - @SerialName("data") - val data: Data -) { - @Serializable - data class Data( - @SerialName("id") - val id: Int, - @SerialName("createdAt") - val createdAt: String - ) -} \ No newline at end of file + @SerialName("id") + val id: Int, + @SerialName("createdAt") + val createdAt: String +) \ No newline at end of file diff --git a/app/src/main/java/com/runnect/runnect/data/repository/CourseRepositoryImpl.kt b/app/src/main/java/com/runnect/runnect/data/repository/CourseRepositoryImpl.kt index 0155cd8a..b25a7335 100644 --- a/app/src/main/java/com/runnect/runnect/data/repository/CourseRepositoryImpl.kt +++ b/app/src/main/java/com/runnect/runnect/data/repository/CourseRepositoryImpl.kt @@ -7,10 +7,6 @@ import com.runnect.runnect.data.dto.request.RequestPostPublicCourse import com.runnect.runnect.data.dto.request.RequestPostRunningHistory import com.runnect.runnect.data.dto.request.RequestPutMyDrawCourse import com.runnect.runnect.data.dto.response.ResponseGetMyDrawDetail -import com.runnect.runnect.data.dto.response.ResponsePostDiscoverUpload -import com.runnect.runnect.data.dto.response.ResponsePostMyDrawCourse -import com.runnect.runnect.data.dto.response.ResponsePostMyHistory -import com.runnect.runnect.data.dto.response.ResponsePutMyDrawCourse import com.runnect.runnect.data.network.mapToFlowResult import com.runnect.runnect.data.source.remote.RemoteCourseDataSource import com.runnect.runnect.domain.entity.CourseDetail @@ -26,8 +22,9 @@ import okhttp3.MultipartBody import okhttp3.RequestBody import javax.inject.Inject -class CourseRepositoryImpl @Inject constructor(private val remoteCourseDataSource: RemoteCourseDataSource) : - CourseRepository { +class CourseRepositoryImpl @Inject constructor( + private val remoteCourseDataSource: RemoteCourseDataSource +) : CourseRepository { override suspend fun getMarathonCourse(): Flow>> { return remoteCourseDataSource.getMarathonCourse().mapToFlowResult { @@ -67,8 +64,8 @@ class CourseRepositoryImpl @Inject constructor(private val remoteCourseDataSourc return remoteCourseDataSource.getMyDrawDetail(courseId = courseId).mapToFlowResult { it } } - override suspend fun deleteMyDrawCourse(deleteCourseList: RequestPutMyDrawCourse): Flow> { - return remoteCourseDataSource.deleteMyDrawCourse(deleteCourseList = deleteCourseList).mapToFlowResult { it } + override suspend fun deleteMyDrawCourse(deleteCourseList: RequestPutMyDrawCourse): Flow> { + return remoteCourseDataSource.deleteMyDrawCourse(deleteCourseList = deleteCourseList).mapToFlowResult {} } override suspend fun postCourseScrap( @@ -79,6 +76,10 @@ class CourseRepositoryImpl @Inject constructor(private val remoteCourseDataSourc } } + override suspend fun postUploadMyCourse(requestPostPublicCourse: RequestPostPublicCourse): Flow> { + return remoteCourseDataSource.postUploadMyCourse(requestPostPublicCourse = requestPostPublicCourse).mapToFlowResult {} + } + override suspend fun patchMyDrawCourseTitle( courseId: Int, requestPatchMyDrawCourseTitle: RequestPatchMyDrawCourseTitle @@ -86,10 +87,6 @@ class CourseRepositoryImpl @Inject constructor(private val remoteCourseDataSourc remoteCourseDataSource.patchMyDrawCourseTitle(courseId, requestPatchMyDrawCourseTitle).data?.toEditableMyDrawCourseDetail() } - override suspend fun postUploadMyCourse(requestPostPublicCourse: RequestPostPublicCourse): Flow> { - return remoteCourseDataSource.postUploadMyCourse(requestPostPublicCourse = requestPostPublicCourse).mapToFlowResult { it } - } - override suspend fun patchPublicCourse( publicCourseId: Int, requestPatchPublicCourse: RequestPatchPublicCourse @@ -101,14 +98,16 @@ class CourseRepositoryImpl @Inject constructor(private val remoteCourseDataSourc it.toEditableCourseDetail() } - override suspend fun postRecord(request: RequestPostRunningHistory): Flow> { - return remoteCourseDataSource.postRecord(request = request).mapToFlowResult { it } + override suspend fun postRecord(request: RequestPostRunningHistory): Flow> { + return remoteCourseDataSource.postRecord(request = request).mapToFlowResult {} } override suspend fun uploadCourse( image: MultipartBody.Part, data: RequestBody - ): Flow> { - return remoteCourseDataSource.uploadCourse(image = image, data = data).mapToFlowResult { it } + ): Flow> { + return remoteCourseDataSource.uploadCourse(image = image, data = data).mapToFlowResult { + it.id + } } } \ No newline at end of file diff --git a/app/src/main/java/com/runnect/runnect/data/repository/StorageRepositoryImpl.kt b/app/src/main/java/com/runnect/runnect/data/repository/StorageRepositoryImpl.kt index 94fb3a28..d03f88a5 100644 --- a/app/src/main/java/com/runnect/runnect/data/repository/StorageRepositoryImpl.kt +++ b/app/src/main/java/com/runnect/runnect/data/repository/StorageRepositoryImpl.kt @@ -1,7 +1,6 @@ package com.runnect.runnect.data.repository import com.runnect.runnect.data.dto.request.RequestPutMyDrawCourse -import com.runnect.runnect.data.dto.response.ResponsePutMyDrawCourse import com.runnect.runnect.data.dto.response.toMyDrawCourse import com.runnect.runnect.data.network.mapToFlowResult import com.runnect.runnect.data.source.remote.RemoteStorageDataSource @@ -18,8 +17,8 @@ class StorageRepositoryImpl @Inject constructor( override suspend fun getMyDrawCourse(): Flow>> = remoteStorageDataSource.getMyDrawCourse().mapToFlowResult { it.toMyDrawCourse() } - override suspend fun deleteMyDrawCourse(deleteCourseList: RequestPutMyDrawCourse): Flow> { - return remoteStorageDataSource.deleteMyDrawCourse(deleteCourseList = deleteCourseList).mapToFlowResult { it } + override suspend fun deleteMyDrawCourse(deleteCourseList: RequestPutMyDrawCourse): Flow> { + return remoteStorageDataSource.deleteMyDrawCourse(deleteCourseList = deleteCourseList).mapToFlowResult {} } override suspend fun getMyScrapCourse(): Flow>> = diff --git a/app/src/main/java/com/runnect/runnect/data/repository/UserRepositoryImpl.kt b/app/src/main/java/com/runnect/runnect/data/repository/UserRepositoryImpl.kt index 045cc4bc..dba12a12 100644 --- a/app/src/main/java/com/runnect/runnect/data/repository/UserRepositoryImpl.kt +++ b/app/src/main/java/com/runnect/runnect/data/repository/UserRepositoryImpl.kt @@ -1,26 +1,22 @@ package com.runnect.runnect.data.repository import com.runnect.runnect.data.dto.HistoryInfoDTO -import com.runnect.runnect.domain.entity.UserProfile import com.runnect.runnect.data.dto.request.RequestDeleteHistory import com.runnect.runnect.data.dto.request.RequestDeleteUploadCourse import com.runnect.runnect.data.dto.request.RequestPatchHistoryTitle import com.runnect.runnect.data.dto.request.RequestPatchNickName -import com.runnect.runnect.data.dto.response.ResponseDeleteHistory -import com.runnect.runnect.data.dto.response.ResponseDeleteUploadCourse -import com.runnect.runnect.data.dto.response.ResponseDeleteUser -import com.runnect.runnect.data.dto.response.ResponsePatchHistoryTitle -import com.runnect.runnect.data.dto.response.ResponsePatchUserNickName import com.runnect.runnect.data.network.mapToFlowResult import com.runnect.runnect.data.source.remote.RemoteUserDataSource import com.runnect.runnect.domain.entity.User +import com.runnect.runnect.domain.entity.UserProfile import com.runnect.runnect.domain.entity.UserUploadCourse import com.runnect.runnect.domain.repository.UserRepository import kotlinx.coroutines.flow.Flow import javax.inject.Inject -class UserRepositoryImpl @Inject constructor(private val remoteUserDataSource: RemoteUserDataSource) : - UserRepository { +class UserRepositoryImpl @Inject constructor( + private val remoteUserDataSource: RemoteUserDataSource +) : UserRepository { override suspend fun getUserInfo(): Flow> = remoteUserDataSource.getUserInfo() .mapToFlowResult { it.toUser() } @@ -33,29 +29,31 @@ class UserRepositoryImpl @Inject constructor(private val remoteUserDataSource: R override suspend fun putDeleteUploadCourse( requestDeleteUploadCourse: RequestDeleteUploadCourse - ): Flow> { - return remoteUserDataSource.putDeleteUploadCourse(requestDeleteUploadCourse).mapToFlowResult { it } + ): Flow> { + return remoteUserDataSource.putDeleteUploadCourse(requestDeleteUploadCourse).mapToFlowResult {} } override suspend fun putDeleteHistory( requestDeleteHistory: RequestDeleteHistory - ): Flow> { - return remoteUserDataSource.putDeleteHistory(requestDeleteHistory).mapToFlowResult { it } + ): Flow> { + return remoteUserDataSource.putDeleteHistory(requestDeleteHistory).mapToFlowResult {} } override suspend fun patchHistoryTitle( historyId: Int, requestPatchHistoryTitle: RequestPatchHistoryTitle - ): Flow> = - remoteUserDataSource.patchHistoryTitle(historyId, requestPatchHistoryTitle).mapToFlowResult { it } + ): Flow> = + remoteUserDataSource.patchHistoryTitle(historyId, requestPatchHistoryTitle).mapToFlowResult { + it.record.title + } - override suspend fun deleteUser(): Flow> { - return remoteUserDataSource.deleteUser().mapToFlowResult { it } + override suspend fun deleteUser(): Flow> { + return remoteUserDataSource.deleteUser().mapToFlowResult {} } override suspend fun updateNickName( requestPatchNickName: RequestPatchNickName - ): Flow> = - remoteUserDataSource.updateNickName(requestPatchNickName).mapToFlowResult { it } + ): Flow> = + remoteUserDataSource.updateNickName(requestPatchNickName).mapToFlowResult {} override suspend fun getRecord(): Flow>> { return remoteUserDataSource.getRecord().mapToFlowResult { diff --git a/app/src/main/java/com/runnect/runnect/domain/repository/CourseRepository.kt b/app/src/main/java/com/runnect/runnect/domain/repository/CourseRepository.kt index b9cbbf1a..e0e388f6 100644 --- a/app/src/main/java/com/runnect/runnect/domain/repository/CourseRepository.kt +++ b/app/src/main/java/com/runnect/runnect/domain/repository/CourseRepository.kt @@ -7,10 +7,6 @@ import com.runnect.runnect.data.dto.request.RequestPostPublicCourse import com.runnect.runnect.data.dto.request.RequestPostRunningHistory import com.runnect.runnect.data.dto.request.RequestPutMyDrawCourse import com.runnect.runnect.data.dto.response.ResponseGetMyDrawDetail -import com.runnect.runnect.data.dto.response.ResponsePostDiscoverUpload -import com.runnect.runnect.data.dto.response.ResponsePostMyDrawCourse -import com.runnect.runnect.data.dto.response.ResponsePostMyHistory -import com.runnect.runnect.data.dto.response.ResponsePutMyDrawCourse import com.runnect.runnect.domain.entity.CourseDetail import com.runnect.runnect.domain.entity.DiscoverMultiViewItem.MarathonCourse import com.runnect.runnect.domain.entity.DiscoverSearchCourse @@ -24,6 +20,7 @@ import okhttp3.MultipartBody import okhttp3.RequestBody interface CourseRepository { + suspend fun getMarathonCourse(): Flow>> suspend fun getRecommendCourse( @@ -39,25 +36,25 @@ interface CourseRepository { suspend fun getMyDrawDetail(courseId: Int): Flow> - suspend fun deleteMyDrawCourse(deleteCourseList: RequestPutMyDrawCourse): Flow> - suspend fun postCourseScrap(requestPostCourseScrap: RequestPostCourseScrap): Flow> + suspend fun postUploadMyCourse(requestPostPublicCourse: RequestPostPublicCourse): Flow> + + suspend fun postRecord(request: RequestPostRunningHistory): Flow> + + suspend fun uploadCourse( + image: MultipartBody.Part, data: RequestBody + ): Flow> + suspend fun patchMyDrawCourseTitle( courseId: Int, requestPatchMyDrawCourseTitle: RequestPatchMyDrawCourseTitle ): Result - suspend fun postUploadMyCourse(requestPostPublicCourse: RequestPostPublicCourse): Flow> - suspend fun patchPublicCourse( publicCourseId: Int, requestPatchPublicCourse: RequestPatchPublicCourse ): Flow> - suspend fun postRecord(request: RequestPostRunningHistory): Flow> - - suspend fun uploadCourse( - image: MultipartBody.Part, data: RequestBody - ): Flow> + suspend fun deleteMyDrawCourse(deleteCourseList: RequestPutMyDrawCourse): Flow> } \ No newline at end of file diff --git a/app/src/main/java/com/runnect/runnect/domain/repository/StorageRepository.kt b/app/src/main/java/com/runnect/runnect/domain/repository/StorageRepository.kt index 258841be..6001dcc5 100644 --- a/app/src/main/java/com/runnect/runnect/domain/repository/StorageRepository.kt +++ b/app/src/main/java/com/runnect/runnect/domain/repository/StorageRepository.kt @@ -9,5 +9,5 @@ import kotlinx.coroutines.flow.Flow interface StorageRepository { suspend fun getMyDrawCourse(): Flow>> suspend fun getMyScrapCourse(): Flow>> - suspend fun deleteMyDrawCourse(deleteCourseList: RequestPutMyDrawCourse) : Flow> + suspend fun deleteMyDrawCourse(deleteCourseList: RequestPutMyDrawCourse) : Flow> } \ No newline at end of file diff --git a/app/src/main/java/com/runnect/runnect/domain/repository/UserRepository.kt b/app/src/main/java/com/runnect/runnect/domain/repository/UserRepository.kt index 45fb4183..ce5316ab 100644 --- a/app/src/main/java/com/runnect/runnect/domain/repository/UserRepository.kt +++ b/app/src/main/java/com/runnect/runnect/domain/repository/UserRepository.kt @@ -1,17 +1,12 @@ package com.runnect.runnect.domain.repository import com.runnect.runnect.data.dto.HistoryInfoDTO -import com.runnect.runnect.domain.entity.UserProfile import com.runnect.runnect.data.dto.request.RequestDeleteHistory import com.runnect.runnect.data.dto.request.RequestDeleteUploadCourse import com.runnect.runnect.data.dto.request.RequestPatchHistoryTitle import com.runnect.runnect.data.dto.request.RequestPatchNickName -import com.runnect.runnect.data.dto.response.ResponseDeleteHistory -import com.runnect.runnect.data.dto.response.ResponseDeleteUploadCourse -import com.runnect.runnect.data.dto.response.ResponseDeleteUser -import com.runnect.runnect.data.dto.response.ResponsePatchHistoryTitle -import com.runnect.runnect.data.dto.response.ResponsePatchUserNickName import com.runnect.runnect.domain.entity.User +import com.runnect.runnect.domain.entity.UserProfile import com.runnect.runnect.domain.entity.UserUploadCourse import kotlinx.coroutines.flow.Flow @@ -22,11 +17,11 @@ interface UserRepository { suspend fun putDeleteUploadCourse( requestDeleteUploadCourse: RequestDeleteUploadCourse - ): Flow> + ): Flow> - suspend fun putDeleteHistory(requestDeleteHistory: RequestDeleteHistory): Flow> + suspend fun putDeleteHistory(requestDeleteHistory: RequestDeleteHistory): Flow> - suspend fun deleteUser(): Flow> + suspend fun deleteUser(): Flow> suspend fun getRecord(): Flow>> @@ -35,11 +30,11 @@ interface UserRepository { suspend fun patchHistoryTitle( historyId: Int, requestPatchHistoryTitle: RequestPatchHistoryTitle - ): Flow> + ): Flow> suspend fun updateNickName( requestPatchNickName: RequestPatchNickName - ): Flow> + ): Flow> suspend fun getUserProfile(userId: Int): Flow> } \ No newline at end of file diff --git a/app/src/main/java/com/runnect/runnect/presentation/detail/CourseDetailViewModel.kt b/app/src/main/java/com/runnect/runnect/presentation/detail/CourseDetailViewModel.kt index c91ddfb3..1a8d3293 100644 --- a/app/src/main/java/com/runnect/runnect/presentation/detail/CourseDetailViewModel.kt +++ b/app/src/main/java/com/runnect/runnect/presentation/detail/CourseDetailViewModel.kt @@ -34,8 +34,8 @@ class CourseDetailViewModel @Inject constructor( val coursePatchState: LiveData> get() = _coursePatchState - private val _courseDeleteState = MutableLiveData>() - val courseDeleteState: LiveData> + private val _courseDeleteState = MutableLiveData>() + val courseDeleteState: LiveData> get() = _courseDeleteState private val _courseScrapState = MutableLiveData>() diff --git a/app/src/main/java/com/runnect/runnect/presentation/draw/DrawActivity.kt b/app/src/main/java/com/runnect/runnect/presentation/draw/DrawActivity.kt index 28a648ca..5cd069a4 100644 --- a/app/src/main/java/com/runnect/runnect/presentation/draw/DrawActivity.kt +++ b/app/src/main/java/com/runnect/runnect/presentation/draw/DrawActivity.kt @@ -162,7 +162,7 @@ class DrawActivity : BindingActivity(R.layout.activity_draw binding.tvGuide.isVisible = false viewModel.searchResult.value = searchResult - viewModel.departureName.value = searchResult.name + viewModel.departureName = searchResult.name setDepartureLatLng( latLng = LatLng( @@ -515,11 +515,11 @@ class DrawActivity : BindingActivity(R.layout.activity_draw if (isCustomLocationMode) departureLatLng = customDepartureLatLng val courseData = CourseData( - courseId = viewModel.uploadResult.value?.data?.id, + courseId = viewModel.uploadCourseId, publicCourseId = null, //직접 생성하는 코스는 publicCourseId가 없지만 코스 발견 -> 러닝 등의 루트로 넘어올 시 기록 업로드에서 requestBody에 필요함 touchList = touchList, startLatLng = departureLatLng, - departure = viewModel.departureName.value, + departure = viewModel.departureName, distance = viewModel.distanceSum.value, image = captureUri.toString(), dataFrom = "fromDrawCourse" @@ -791,18 +791,18 @@ class DrawActivity : BindingActivity(R.layout.activity_draw val uploadLatLngList: List = distanceList.map { latLng -> UploadLatLng(latLng.latitude, latLng.longitude) } - viewModel.path.value = uploadLatLngList + viewModel.path = uploadLatLngList when { isSearchLocationMode -> { - viewModel.departureAddress.value = searchResult.fullAddress - viewModel.departureName.value = searchResult.name + viewModel.departureAddress = searchResult.fullAddress + viewModel.departureName = searchResult.name } isCurrentLocationMode || isCustomLocationMode -> { - viewModel.departureAddress.value = - viewModel.reverseGeocodingResult.value?.fullAddress - viewModel.departureName.value = + viewModel.departureAddress = + viewModel.reverseGeocodingResult.value?.fullAddress ?: "" + viewModel.departureName = viewModel.reverseGeocodingResult.value?.buildingName ?: "내가 설정한 출발지" } } diff --git a/app/src/main/java/com/runnect/runnect/presentation/draw/DrawViewModel.kt b/app/src/main/java/com/runnect/runnect/presentation/draw/DrawViewModel.kt index 149bb786..e7acb175 100644 --- a/app/src/main/java/com/runnect/runnect/presentation/draw/DrawViewModel.kt +++ b/app/src/main/java/com/runnect/runnect/presentation/draw/DrawViewModel.kt @@ -4,7 +4,6 @@ import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import com.runnect.runnect.data.dto.SearchResultEntity import com.runnect.runnect.data.dto.UploadLatLng -import com.runnect.runnect.data.dto.response.ResponsePostMyDrawCourse import com.runnect.runnect.domain.common.toLog import com.runnect.runnect.domain.entity.LocationData import com.runnect.runnect.domain.repository.CourseRepository @@ -15,6 +14,7 @@ import com.runnect.runnect.util.extension.collectResult import com.runnect.runnect.util.multipart.ContentUriRequestBody import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.onStart +import timber.log.Timber import javax.inject.Inject import kotlin.math.acos @@ -30,15 +30,20 @@ class DrawViewModel @Inject constructor( val searchResult = MutableLiveData() - val path = MutableLiveData>() + var path: List = listOf( + UploadLatLng( + 37.52901832956373, + 126.9136196847032 + ) + ) var distanceSum = MutableLiveData(0.0f) - val departureAddress = MutableLiveData() - var courseTitle = "" - val departureName = MutableLiveData("내가 설정한 출발지") val isBtnAvailable = MutableLiveData(false) - val reverseGeocodingResult = MutableLiveData() + var departureAddress: String = "" + var departureName: String = "내가 설정한 출발지" + var courseTitle: String = "" + var uploadCourseId: Int? = null private val _image = MutableLiveData() val image: LiveData @@ -48,9 +53,6 @@ class DrawViewModel @Inject constructor( _image.value = requestBody } - val uploadResult = MutableLiveData() - val errorMessage = MutableLiveData() - fun distance(lat1: Double, lon1: Double, lat2: Double, lon2: Double, unit: String): Double { @@ -87,27 +89,22 @@ class DrawViewModel @Inject constructor( courseRepository.uploadCourse( image = _image.value!!.toFormData(), data = CourseCreateRequestDto( - path = path.value ?: listOf( - UploadLatLng( - 37.52901832956373, - 126.9136196847032 - ) - ), + path = path, title = courseTitle, distance = distanceSum.value!!, - departureAddress = departureAddress.value!!, - departureName = departureName.value!! + departureAddress = departureAddress, + departureName = departureName ).toRequestBody() ).onStart { _drawState.value = UiState.Loading }.collectResult( onSuccess = { - uploadResult.value = it + uploadCourseId = it _drawState.value = UiState.Success }, onFailure = { - errorMessage.value = it.message _drawState.value = UiState.Failure + Timber.e(it.toLog()) } ) } @@ -122,7 +119,7 @@ class DrawViewModel @Inject constructor( reverseGeocodingResult.value = it }, onFailure = { - errorMessage.value = it.toLog() + Timber.e(it.toLog()) } ) } diff --git a/app/src/main/java/com/runnect/runnect/presentation/endrun/EndRunActivity.kt b/app/src/main/java/com/runnect/runnect/presentation/endrun/EndRunActivity.kt index d5ab7b3c..56eec2de 100644 --- a/app/src/main/java/com/runnect/runnect/presentation/endrun/EndRunActivity.kt +++ b/app/src/main/java/com/runnect/runnect/presentation/endrun/EndRunActivity.kt @@ -200,7 +200,6 @@ class EndRunActivity: BindingActivity(R.layout.activity_e private fun notifyUploadFinish() { RunnectToast.createToast(this@EndRunActivity, "저장한 러닝 기록은 마이페이지에서 볼 수 있어요").show() - Timber.tag(ContentValues.TAG).d("서버 성공 : ${viewModel.uploadResult.value!!.message}") } private fun showErrorMessage() { diff --git a/app/src/main/java/com/runnect/runnect/presentation/endrun/EndRunViewModel.kt b/app/src/main/java/com/runnect/runnect/presentation/endrun/EndRunViewModel.kt index 03ca0c34..dc115ac0 100644 --- a/app/src/main/java/com/runnect/runnect/presentation/endrun/EndRunViewModel.kt +++ b/app/src/main/java/com/runnect/runnect/presentation/endrun/EndRunViewModel.kt @@ -25,7 +25,6 @@ class EndRunViewModel @Inject constructor(private val courseRepository: CourseRe val courseId = MutableLiveData() val publicCourseId = MutableLiveData() val editTextValue = MutableLiveData() - val uploadResult = MutableLiveData() val errorMessage = MutableLiveData() val currentTime = MutableLiveData() val dataFrom = MutableLiveData() @@ -49,7 +48,6 @@ class EndRunViewModel @Inject constructor(private val courseRepository: CourseRe _endRunState.value = UiState.Loading }.collectResult( onSuccess = { - uploadResult.value = it _endRunState.value = UiState.Success }, onFailure = { diff --git a/app/src/main/java/com/runnect/runnect/presentation/mypage/history/detail/MyHistoryDetailActivity.kt b/app/src/main/java/com/runnect/runnect/presentation/mypage/history/detail/MyHistoryDetailActivity.kt index 87c9b691..a918ea02 100644 --- a/app/src/main/java/com/runnect/runnect/presentation/mypage/history/detail/MyHistoryDetailActivity.kt +++ b/app/src/main/java/com/runnect/runnect/presentation/mypage/history/detail/MyHistoryDetailActivity.kt @@ -202,8 +202,7 @@ class MyHistoryDetailActivity : dismissLoadingProgressBar() enterReadMode() - val response = state.data ?: return@observe - val newTitle = response.record.title + val newTitle = state.data viewModel.updateHistoryTitle(newTitle) showToast(getString(R.string.course_detail_title_edit_success_msg)) diff --git a/app/src/main/java/com/runnect/runnect/presentation/mypage/history/detail/MyHistoryDetailViewModel.kt b/app/src/main/java/com/runnect/runnect/presentation/mypage/history/detail/MyHistoryDetailViewModel.kt index d2a13284..1e8edc18 100644 --- a/app/src/main/java/com/runnect/runnect/presentation/mypage/history/detail/MyHistoryDetailViewModel.kt +++ b/app/src/main/java/com/runnect/runnect/presentation/mypage/history/detail/MyHistoryDetailViewModel.kt @@ -5,8 +5,6 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.map import com.runnect.runnect.data.dto.request.RequestDeleteHistory import com.runnect.runnect.data.dto.request.RequestPatchHistoryTitle -import com.runnect.runnect.data.dto.response.ResponseDeleteHistory -import com.runnect.runnect.data.dto.response.ResponsePatchHistoryTitle import com.runnect.runnect.domain.common.toLog import com.runnect.runnect.domain.repository.UserRepository import com.runnect.runnect.presentation.base.BaseViewModel @@ -22,13 +20,12 @@ class MyHistoryDetailViewModel @Inject constructor( private val userRepository: UserRepository ) : BaseViewModel() { - private val _historyDeleteState = - MutableLiveData>() - val historyDeleteState: LiveData> + private val _historyDeleteState = MutableLiveData>() + val historyDeleteState: LiveData> get() = _historyDeleteState - private val _titlePatchState = MutableLiveData>() - val titlePatchState: LiveData> + private val _titlePatchState = MutableLiveData>() + val titlePatchState: LiveData> get() = _titlePatchState val _title = MutableLiveData("")