From 75c7ee0c400562526fd2ade3cae25fe1cb7aae33 Mon Sep 17 00:00:00 2001 From: crownjoe Date: Fri, 12 Jan 2024 00:39:33 +0900 Subject: [PATCH 01/11] =?UTF-8?q?[FEAT/#77]=20domain=20entity=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../going/domain/entity/request/RequestEnterTripModel.kt | 5 +++++ .../com/going/domain/entity/response/EnterTripModel.kt | 9 +++++++++ 2 files changed, 14 insertions(+) create mode 100644 domain/src/main/kotlin/com/going/domain/entity/request/RequestEnterTripModel.kt create mode 100644 domain/src/main/kotlin/com/going/domain/entity/response/EnterTripModel.kt diff --git a/domain/src/main/kotlin/com/going/domain/entity/request/RequestEnterTripModel.kt b/domain/src/main/kotlin/com/going/domain/entity/request/RequestEnterTripModel.kt new file mode 100644 index 00000000..d4315adf --- /dev/null +++ b/domain/src/main/kotlin/com/going/domain/entity/request/RequestEnterTripModel.kt @@ -0,0 +1,5 @@ +package com.going.domain.entity.request + +data class RequestEnterTripModel( + val code: String +) diff --git a/domain/src/main/kotlin/com/going/domain/entity/response/EnterTripModel.kt b/domain/src/main/kotlin/com/going/domain/entity/response/EnterTripModel.kt new file mode 100644 index 00000000..c7a9e56f --- /dev/null +++ b/domain/src/main/kotlin/com/going/domain/entity/response/EnterTripModel.kt @@ -0,0 +1,9 @@ +package com.going.domain.entity.response + +data class EnterTripModel( + val tripId: Long, + val title: String, + val startDate: String, + val endDate: String, + val day: Int +) From 3512c7c4663acbd506a6b59937a4b59a433d3c6b Mon Sep 17 00:00:00 2001 From: crownjoe Date: Fri, 12 Jan 2024 00:39:51 +0900 Subject: [PATCH 02/11] =?UTF-8?q?[FEAT/#77]=20domain=20repository=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/going/data/dto/request/EnterTripRequestDto.kt | 9 +++++++++ .../going/domain/repository/EnterTripRepository.kt | 11 +++++++++++ 2 files changed, 20 insertions(+) create mode 100644 data/src/main/java/com/going/data/dto/request/EnterTripRequestDto.kt create mode 100644 domain/src/main/kotlin/com/going/domain/repository/EnterTripRepository.kt diff --git a/data/src/main/java/com/going/data/dto/request/EnterTripRequestDto.kt b/data/src/main/java/com/going/data/dto/request/EnterTripRequestDto.kt new file mode 100644 index 00000000..19f4c401 --- /dev/null +++ b/data/src/main/java/com/going/data/dto/request/EnterTripRequestDto.kt @@ -0,0 +1,9 @@ +package com.going.data.dto.request + +import kotlinx.serialization.Serializable + +@Serializable +data class EnterTripRequestDto( + + +) diff --git a/domain/src/main/kotlin/com/going/domain/repository/EnterTripRepository.kt b/domain/src/main/kotlin/com/going/domain/repository/EnterTripRepository.kt new file mode 100644 index 00000000..0a7ba047 --- /dev/null +++ b/domain/src/main/kotlin/com/going/domain/repository/EnterTripRepository.kt @@ -0,0 +1,11 @@ +package com.going.domain.repository + +import com.going.domain.entity.request.RequestEnterTripModel +import com.going.domain.entity.response.EnterTripModel + +interface EnterTripRepository { + + suspend fun postEnterTrip( + requestEnterTripModel: RequestEnterTripModel + ): Result +} From bccf9f0b0bb0d870abe6928d7a3de71b939de382 Mon Sep 17 00:00:00 2001 From: crownjoe Date: Fri, 12 Jan 2024 00:40:28 +0900 Subject: [PATCH 03/11] =?UTF-8?q?[FEAT/#77]=20profileviewmodel=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 2 +- .../{ => tripdashboard}/profile/ProfileActivity.kt | 4 ++-- .../{ => tripdashboard}/profile/ProfileViewModel.kt | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) rename presentation/src/main/java/com/going/presentation/{ => tripdashboard}/profile/ProfileActivity.kt (97%) rename presentation/src/main/java/com/going/presentation/{ => tripdashboard}/profile/ProfileViewModel.kt (96%) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e9b03d99..09a98b79 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -130,7 +130,7 @@ android:screenOrientation="portrait" /> diff --git a/presentation/src/main/java/com/going/presentation/profile/ProfileActivity.kt b/presentation/src/main/java/com/going/presentation/tripdashboard/profile/ProfileActivity.kt similarity index 97% rename from presentation/src/main/java/com/going/presentation/profile/ProfileActivity.kt rename to presentation/src/main/java/com/going/presentation/tripdashboard/profile/ProfileActivity.kt index 86712199..b3a67bfd 100644 --- a/presentation/src/main/java/com/going/presentation/profile/ProfileActivity.kt +++ b/presentation/src/main/java/com/going/presentation/tripdashboard/profile/ProfileActivity.kt @@ -1,4 +1,4 @@ -package com.going.presentation.profile +package com.going.presentation.tripdashboard.profile import android.os.Bundle import android.text.SpannableString @@ -63,4 +63,4 @@ class ProfileActivity : return string } -} \ No newline at end of file +} diff --git a/presentation/src/main/java/com/going/presentation/profile/ProfileViewModel.kt b/presentation/src/main/java/com/going/presentation/tripdashboard/profile/ProfileViewModel.kt similarity index 96% rename from presentation/src/main/java/com/going/presentation/profile/ProfileViewModel.kt rename to presentation/src/main/java/com/going/presentation/tripdashboard/profile/ProfileViewModel.kt index 2b6d25af..b1c0781e 100644 --- a/presentation/src/main/java/com/going/presentation/profile/ProfileViewModel.kt +++ b/presentation/src/main/java/com/going/presentation/tripdashboard/profile/ProfileViewModel.kt @@ -1,4 +1,4 @@ -package com.going.presentation.profile +package com.going.presentation.tripdashboard.profile import androidx.lifecycle.ViewModel import com.going.domain.entity.ProfileMock From 2d4b4285e0775dd1002d3bbcae031ad59a5a923e Mon Sep 17 00:00:00 2001 From: crownjoe Date: Fri, 12 Jan 2024 09:24:54 +0900 Subject: [PATCH 04/11] =?UTF-8?q?[FEAT/#77]=20enter=20trip=20data=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/datasource/EnterTripDataSource.kt | 11 +++++++++++ .../datasourceImpl/EnterTripDataSourceImpl.kt | 19 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 data/src/main/java/com/going/data/datasource/EnterTripDataSource.kt create mode 100644 data/src/main/java/com/going/data/datasourceImpl/EnterTripDataSourceImpl.kt diff --git a/data/src/main/java/com/going/data/datasource/EnterTripDataSource.kt b/data/src/main/java/com/going/data/datasource/EnterTripDataSource.kt new file mode 100644 index 00000000..06d5fcb1 --- /dev/null +++ b/data/src/main/java/com/going/data/datasource/EnterTripDataSource.kt @@ -0,0 +1,11 @@ +package com.going.data.datasource; + +import com.going.data.dto.BaseResponse +import com.going.data.dto.request.EnterTripRequestDto +import com.going.data.dto.response.EnterTripResponseDto + +interface EnterTripDataSource { + suspend fun postEnterTrip( + code: EnterTripRequestDto, + ): BaseResponse +} diff --git a/data/src/main/java/com/going/data/datasourceImpl/EnterTripDataSourceImpl.kt b/data/src/main/java/com/going/data/datasourceImpl/EnterTripDataSourceImpl.kt new file mode 100644 index 00000000..41c22211 --- /dev/null +++ b/data/src/main/java/com/going/data/datasourceImpl/EnterTripDataSourceImpl.kt @@ -0,0 +1,19 @@ +package com.going.data.datasourceImpl + +import com.going.data.datasource.EnterTripDataSource +import com.going.data.dto.BaseResponse +import com.going.data.dto.request.EnterTripRequestDto +import com.going.data.dto.response.EnterTripResponseDto +import com.going.data.service.EnterTripService +import javax.inject.Inject + +class EnterTripDataSourceImpl @Inject constructor( + private val enterTripService: EnterTripService, +) : EnterTripDataSource { + override suspend fun postEnterTrip( + code: EnterTripRequestDto + ): BaseResponse = + enterTripService.postEnterTrip(code) + + +} From 6d804ef80bcbc01b3b84cfa14b79e69d913bf925 Mon Sep 17 00:00:00 2001 From: crownjoe Date: Fri, 12 Jan 2024 09:26:57 +0900 Subject: [PATCH 05/11] =?UTF-8?q?[FEAT/#77]=20enter=20trip=20data=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/dto/request/EnterTripRequestDto.kt | 8 ++++++- .../data/dto/response/EnterTripResponseDto.kt | 22 +++++++++++++++++++ .../repositoryImpl/EnterTripRepositoryImpl.kt | 22 +++++++++++++++++++ .../going/data/service/EnterTripService.kt | 14 ++++++++++++ 4 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 data/src/main/java/com/going/data/dto/response/EnterTripResponseDto.kt create mode 100644 data/src/main/java/com/going/data/repositoryImpl/EnterTripRepositoryImpl.kt create mode 100644 data/src/main/java/com/going/data/service/EnterTripService.kt diff --git a/data/src/main/java/com/going/data/dto/request/EnterTripRequestDto.kt b/data/src/main/java/com/going/data/dto/request/EnterTripRequestDto.kt index 19f4c401..922ae693 100644 --- a/data/src/main/java/com/going/data/dto/request/EnterTripRequestDto.kt +++ b/data/src/main/java/com/going/data/dto/request/EnterTripRequestDto.kt @@ -1,9 +1,15 @@ package com.going.data.dto.request +import com.going.domain.entity.request.RequestEnterTripModel +import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @Serializable data class EnterTripRequestDto( + @SerialName("code") + val code: String, +) +fun RequestEnterTripModel.toEnterTripRequestDto(): EnterTripRequestDto = + EnterTripRequestDto(code) -) diff --git a/data/src/main/java/com/going/data/dto/response/EnterTripResponseDto.kt b/data/src/main/java/com/going/data/dto/response/EnterTripResponseDto.kt new file mode 100644 index 00000000..d2d6b7ec --- /dev/null +++ b/data/src/main/java/com/going/data/dto/response/EnterTripResponseDto.kt @@ -0,0 +1,22 @@ +package com.going.data.dto.response + +import com.going.domain.entity.response.EnterTripModel +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class EnterTripResponseDto( + @SerialName("tripId") + val tripId: Long, + @SerialName("title") + val title: String, + @SerialName("startDate") + val startDate: String, + @SerialName("endDate") + val endDate: String, + @SerialName("day") + val day: Int, +) { + fun toEnterTripModel() = + EnterTripModel(tripId, title, startDate, endDate, day) +} diff --git a/data/src/main/java/com/going/data/repositoryImpl/EnterTripRepositoryImpl.kt b/data/src/main/java/com/going/data/repositoryImpl/EnterTripRepositoryImpl.kt new file mode 100644 index 00000000..86d0e6e2 --- /dev/null +++ b/data/src/main/java/com/going/data/repositoryImpl/EnterTripRepositoryImpl.kt @@ -0,0 +1,22 @@ +package com.going.data.repositoryImpl + +import com.going.data.datasource.EnterTripDataSource +import com.going.data.dto.request.toEnterTripRequestDto +import com.going.domain.entity.request.RequestEnterTripModel +import com.going.domain.entity.response.EnterTripModel +import com.going.domain.repository.EnterTripRepository +import javax.inject.Inject + +class EnterTripRepositoryImpl @Inject constructor( + private val enterTripDataSource: EnterTripDataSource, +) : EnterTripRepository { + + override suspend fun postEnterTrip( + requestEnterTripModel: RequestEnterTripModel + ): Result = + runCatching { + enterTripDataSource.postEnterTrip( + requestEnterTripModel.toEnterTripRequestDto(), + ).data?.toEnterTripModel() + } +} diff --git a/data/src/main/java/com/going/data/service/EnterTripService.kt b/data/src/main/java/com/going/data/service/EnterTripService.kt new file mode 100644 index 00000000..d5b3d1b6 --- /dev/null +++ b/data/src/main/java/com/going/data/service/EnterTripService.kt @@ -0,0 +1,14 @@ +package com.going.data.service + +import com.going.data.dto.BaseResponse +import com.going.data.dto.request.EnterTripRequestDto +import com.going.data.dto.response.EnterTripResponseDto +import retrofit2.http.Body +import retrofit2.http.POST + +interface EnterTripService { + @POST("/api/trips/verify") + suspend fun postEnterTrip( + @Body body: EnterTripRequestDto, + ): BaseResponse +} From 97e27144c61a02656cb365658d7fb37aa9ed565e Mon Sep 17 00:00:00 2001 From: crownjoe Date: Fri, 12 Jan 2024 09:27:15 +0900 Subject: [PATCH 06/11] =?UTF-8?q?[FEAT/#77]=20enter=20trip=20di=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/com/going/doorip/di/DataSourceModule.kt | 7 +++++++ app/src/main/java/com/going/doorip/di/RepositoryModule.kt | 7 +++++++ app/src/main/java/com/going/doorip/di/ServiceModule.kt | 6 ++++++ 3 files changed, 20 insertions(+) diff --git a/app/src/main/java/com/going/doorip/di/DataSourceModule.kt b/app/src/main/java/com/going/doorip/di/DataSourceModule.kt index b4905e72..a74526e7 100644 --- a/app/src/main/java/com/going/doorip/di/DataSourceModule.kt +++ b/app/src/main/java/com/going/doorip/di/DataSourceModule.kt @@ -1,10 +1,12 @@ package com.going.doorip.di import com.going.data.datasource.AuthDataSource +import com.going.data.datasource.EnterTripDataSource import com.going.data.datasource.MockDataSource import com.going.data.datasource.SettingDataSource import com.going.data.datasource.TodoDataSource import com.going.data.datasourceImpl.AuthDataSourceImpl +import com.going.data.datasourceImpl.EnterTripDataSourceImpl import com.going.data.datasourceImpl.MockDataSourceImpl import com.going.data.datasourceImpl.SettingDataSourceImpl import com.going.data.datasourceImpl.TodoDataSourceImpl @@ -38,4 +40,9 @@ object DataSourceModule { fun provideTodoDataSource(todoDataSourceImpl: TodoDataSourceImpl): TodoDataSource = todoDataSourceImpl + @Provides + @Singleton + fun provideEnterTripDataSource(entertripDataSourceImpl: EnterTripDataSourceImpl): EnterTripDataSource = + entertripDataSourceImpl + } diff --git a/app/src/main/java/com/going/doorip/di/RepositoryModule.kt b/app/src/main/java/com/going/doorip/di/RepositoryModule.kt index 08aae754..b1e5eec7 100644 --- a/app/src/main/java/com/going/doorip/di/RepositoryModule.kt +++ b/app/src/main/java/com/going/doorip/di/RepositoryModule.kt @@ -1,11 +1,13 @@ package com.going.doorip.di import com.going.data.repositoryImpl.AuthRepositoryImpl +import com.going.data.repositoryImpl.EnterTripRepositoryImpl import com.going.data.repositoryImpl.MockRepositoryImpl import com.going.data.repositoryImpl.SettingRepositoryImpl import com.going.data.repositoryImpl.TodoRepositoryImpl import com.going.data.repositoryImpl.TokenRepositoryImpl import com.going.domain.repository.AuthRepository +import com.going.domain.repository.EnterTripRepository import com.going.domain.repository.MockRepository import com.going.domain.repository.SettingRepository import com.going.domain.repository.TodoRepository @@ -45,4 +47,9 @@ object RepositoryModule { fun provideTodoRepository(todoRepositoryImpl: TodoRepositoryImpl): TodoRepository = todoRepositoryImpl + @Provides + @Singleton + fun provideEnterTripRepository(entertripRepositoryImpl: EnterTripRepositoryImpl): EnterTripRepository = + entertripRepositoryImpl + } diff --git a/app/src/main/java/com/going/doorip/di/ServiceModule.kt b/app/src/main/java/com/going/doorip/di/ServiceModule.kt index 4e74947d..06e7543b 100644 --- a/app/src/main/java/com/going/doorip/di/ServiceModule.kt +++ b/app/src/main/java/com/going/doorip/di/ServiceModule.kt @@ -1,6 +1,7 @@ package com.going.doorip.di import com.going.data.service.AuthService +import com.going.data.service.EnterTripService import com.going.data.service.MockService import com.going.data.service.SettingService import com.going.data.service.TodoService @@ -35,4 +36,9 @@ object ServiceModule { fun provideTodoService(retrofit: Retrofit): TodoService = retrofit.create(TodoService::class.java) + @Provides + @Singleton + fun provideEnterTripService(retrofit: Retrofit): EnterTripService = + retrofit.create(EnterTripService::class.java) + } From a961e65165a98851f707b334985dbe62614922a2 Mon Sep 17 00:00:00 2001 From: crownjoe Date: Fri, 12 Jan 2024 09:28:04 +0900 Subject: [PATCH 07/11] =?UTF-8?q?[FEAT/#77]=20enter=20trip=20presentation?= =?UTF-8?q?=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../enter/entertrip/EnterTripActivity.kt | 41 ++++++++++++++++++- .../enter/entertrip/EnterTripViewModel.kt | 29 ++++++++++++- .../invitefinish/InviteFinishActivity.kt | 27 ++++++++++-- 3 files changed, 91 insertions(+), 6 deletions(-) diff --git a/presentation/src/main/java/com/going/presentation/enter/entertrip/EnterTripActivity.kt b/presentation/src/main/java/com/going/presentation/enter/entertrip/EnterTripActivity.kt index a64b189a..9cffcaf2 100644 --- a/presentation/src/main/java/com/going/presentation/enter/entertrip/EnterTripActivity.kt +++ b/presentation/src/main/java/com/going/presentation/enter/entertrip/EnterTripActivity.kt @@ -2,20 +2,29 @@ package com.going.presentation.enter.entertrip import android.content.Intent import android.os.Bundle +import android.util.Log import android.widget.TextView import androidx.activity.viewModels import androidx.core.content.res.ResourcesCompat +import androidx.lifecycle.flowWithLifecycle +import androidx.lifecycle.lifecycleScope import com.going.domain.entity.CodeState import com.going.presentation.R import com.going.presentation.databinding.ActivityEnterTripBinding +import com.going.presentation.enter.invitefinish.InviteFinishActivity import com.going.presentation.starttrip.StartTripSplashActivity import com.going.ui.base.BaseActivity +import com.going.ui.extension.UiState import com.going.ui.extension.setOnSingleClickListener +import com.going.ui.extension.toast +import dagger.hilt.android.AndroidEntryPoint +import kotlinx.coroutines.flow.launchIn +import kotlinx.coroutines.flow.onEach +@AndroidEntryPoint class EnterTripActivity : BaseActivity(R.layout.activity_enter_trip) { private val viewModel by viewModels() - override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -23,6 +32,7 @@ class EnterTripActivity : BaseActivity(R.layout.activi initBindingViewModel() observeIsCodeAvailable() initNextBtnClickListener() + observeEnterTripState() } @@ -76,9 +86,36 @@ class EnterTripActivity : BaseActivity(R.layout.activi counter.setTextColor(getColor(color)) } + + private fun observeEnterTripState() { + viewModel.tripState.flowWithLifecycle(lifecycle).onEach { state -> + when (state) { + is UiState.Success -> { + + Intent(this, InviteFinishActivity::class.java).apply { + putExtra("title", state.data.title) + putExtra("start", state.data.startDate) + putExtra("end", state.data.endDate) + putExtra("day", state.data.day) + Log.d("day1",state.data.day.toString()) + startActivity(this) + } + } + + is UiState.Failure -> { + toast(getString(R.string.server_error)) + } + + is UiState.Loading -> return@onEach + + is UiState.Empty -> return@onEach + } + }.launchIn(lifecycleScope) + } + private fun initNextBtnClickListener() { binding.btnEnterTripNext.setOnSingleClickListener { - //다음 뷰로 이동 + viewModel.checkInviteCodeFromServer() } } diff --git a/presentation/src/main/java/com/going/presentation/enter/entertrip/EnterTripViewModel.kt b/presentation/src/main/java/com/going/presentation/enter/entertrip/EnterTripViewModel.kt index ce11be42..83c29239 100644 --- a/presentation/src/main/java/com/going/presentation/enter/entertrip/EnterTripViewModel.kt +++ b/presentation/src/main/java/com/going/presentation/enter/entertrip/EnterTripViewModel.kt @@ -2,10 +2,25 @@ package com.going.presentation.enter.entertrip import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope import com.going.domain.entity.CodeState +import com.going.domain.entity.request.RequestEnterTripModel +import com.going.domain.entity.response.EnterTripModel +import com.going.domain.repository.EnterTripRepository +import com.going.ui.extension.UiState +import dagger.hilt.android.lifecycle.HiltViewModel +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.launch import java.util.regex.Pattern +import javax.inject.Inject -class EnterTripViewModel : ViewModel() { +@HiltViewModel +class EnterTripViewModel @Inject constructor( + private val enterTripRepository: EnterTripRepository +) : ViewModel() { + private val _tripState = MutableStateFlow>(UiState.Empty) + val tripState: StateFlow> = _tripState val inviteCode = MutableLiveData() var codeLength = MutableLiveData(0) @@ -31,6 +46,18 @@ class EnterTripViewModel : ViewModel() { isCheckEnterAvailable.value = isCodeAvailable.value == CodeState.Success } + fun checkInviteCodeFromServer() { + _tripState.value = UiState.Loading + viewModelScope.launch { + enterTripRepository.postEnterTrip( + RequestEnterTripModel(inviteCode.value ?:"") + ).onSuccess {result -> + _tripState.value = result?.let { UiState.Success(it) } ?: UiState.Failure("no") + }.onFailure { + _tripState.value = UiState.Failure(it.message.orEmpty()) + } + } + } companion object { private const val ENG_NUM_PATTERN = "^[a-z0-9]*$" diff --git a/presentation/src/main/java/com/going/presentation/enter/invitefinish/InviteFinishActivity.kt b/presentation/src/main/java/com/going/presentation/enter/invitefinish/InviteFinishActivity.kt index e4444cf1..f6174fee 100644 --- a/presentation/src/main/java/com/going/presentation/enter/invitefinish/InviteFinishActivity.kt +++ b/presentation/src/main/java/com/going/presentation/enter/invitefinish/InviteFinishActivity.kt @@ -2,28 +2,49 @@ package com.going.presentation.enter.invitefinish import android.content.Intent import android.os.Bundle -import androidx.activity.viewModels +import android.util.Log import com.going.presentation.R import com.going.presentation.databinding.ActivityInviteFinishBinding import com.going.presentation.enter.entertrip.EnterTripActivity import com.going.presentation.preferencetag.PreferenceTagActivity import com.going.ui.base.BaseActivity import com.going.ui.extension.setOnSingleClickListener +import dagger.hilt.android.AndroidEntryPoint +@AndroidEntryPoint class InviteFinishActivity : BaseActivity(R.layout.activity_invite_finish) { - private val viewModel by viewModels() - override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + getServerList() initBackBtnClickListener() initEnterBtnClickListener() } + private fun getServerList() { + val serverlist = getIntent() + + if (serverlist != null) { + val title = intent.getStringExtra("title") + val start = intent.getStringExtra("start") + val end = intent.getStringExtra("end") + val day = intent.getIntExtra("day", 0) + Log.d("day", day.toString()) + + binding.tvInviteFinishName.text = title + binding.tvInviteFinishDay.text = "$start - $end" + + + if (day > 0) { + binding.tvInviteFinishDayLeft.text = "D - $day" + } else binding.tvInviteFinishDayLeft.text = "여행중" + } + } + private fun initBackBtnClickListener() { binding.btnInviteFinishBack.setOnSingleClickListener { Intent(this, EnterTripActivity::class.java).apply { From 9423802ed1cee2a4a21bdc56ea22b4d94fff83e6 Mon Sep 17 00:00:00 2001 From: crownjoe Date: Fri, 12 Jan 2024 09:29:22 +0900 Subject: [PATCH 08/11] =?UTF-8?q?[FEAT/#77]=20enter=20trip=20=EC=84=9C?= =?UTF-8?q?=EB=B2=84=ED=86=B5=EC=8B=A0=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../going/data/interceptor/AuthInterceptor.kt | 18 +++++++++++------- .../domain/repository/EnterTripRepository.kt | 2 +- .../main/res/layout/activity_invite_finish.xml | 10 +++------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/data/src/main/java/com/going/data/interceptor/AuthInterceptor.kt b/data/src/main/java/com/going/data/interceptor/AuthInterceptor.kt index da83d5e7..dac3fe42 100644 --- a/data/src/main/java/com/going/data/interceptor/AuthInterceptor.kt +++ b/data/src/main/java/com/going/data/interceptor/AuthInterceptor.kt @@ -22,11 +22,12 @@ class AuthInterceptor @Inject constructor( Timber.d("GET ACCESS TOKEN : ${dataStore.accessToken}") - val authRequest = if (dataStore.accessToken.isNotBlank()) { - originalRequest.newAuthBuilder().build() - } else { - originalRequest - } + //val authRequest = if (dataStore.accessToken.isNotBlank()) { + // originalRequest.newAuthBuilder().build() + //} else { + // originalRequest + //} + val authRequest = originalRequest.newAuthBuilder().build() val response = chain.proceed(authRequest) @@ -84,8 +85,11 @@ class AuthInterceptor @Inject constructor( return response } - private fun Request.newAuthBuilder() = - this.newBuilder().addHeader(AUTHORIZATION, "$BEARER ${dataStore.accessToken}") + //private fun Request.newAuthBuilder() = + // this.newBuilder().addHeader(AUTHORIZATION, "$BEARER ${dataStore.accessToken}") + + private fun Request.newAuthBuilder()= + this.newBuilder().addHeader(AUTHORIZATION, "$BEARER eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiI2IiwiaWF0IjoxNzA0ODk1NDE4LCJleHAiOjE3MDU1MDAyMTh9.FWPJhGl9amOs1Aog1snD2O1ayVm6lRYBJgHOndyWdMQ") companion object { private const val CODE_TOKEN_EXPIRED = 401 diff --git a/domain/src/main/kotlin/com/going/domain/repository/EnterTripRepository.kt b/domain/src/main/kotlin/com/going/domain/repository/EnterTripRepository.kt index 0a7ba047..58c71700 100644 --- a/domain/src/main/kotlin/com/going/domain/repository/EnterTripRepository.kt +++ b/domain/src/main/kotlin/com/going/domain/repository/EnterTripRepository.kt @@ -7,5 +7,5 @@ interface EnterTripRepository { suspend fun postEnterTrip( requestEnterTripModel: RequestEnterTripModel - ): Result + ): Result } diff --git a/presentation/src/main/res/layout/activity_invite_finish.xml b/presentation/src/main/res/layout/activity_invite_finish.xml index aa492dbe..d64b5849 100644 --- a/presentation/src/main/res/layout/activity_invite_finish.xml +++ b/presentation/src/main/res/layout/activity_invite_finish.xml @@ -5,10 +5,6 @@ - - @@ -80,7 +76,7 @@ android:background="@drawable/shape_rect_2_red100_fill" android:paddingHorizontal="8dp" android:paddingVertical="2dp" - android:text="D - 16" + tools:text="D - 16" android:textAppearance="@style/TextAppearance.Doorip.Detail2.Bold" android:textColor="@color/red_500" app:layout_constraintEnd_toEndOf="parent" @@ -93,7 +89,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="8dp" - android:text="굉굉이랑 스페인" + tools:text="굉굉이랑 스페인" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/tv_invite_finish_day_left" /> @@ -105,7 +101,7 @@ android:layout_height="wrap_content" android:layout_marginTop="2dp" android:maxLines="2" - android:text="2023.03.24 - 2023.03.31" + tools:text="2023.03.24 - 2023.03.31" android:textColor="@color/gray_300" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" From e7f32c7bde1103173205032f2b6bfa1fc2d279ed Mon Sep 17 00:00:00 2001 From: crownjoe Date: Fri, 12 Jan 2024 09:33:02 +0900 Subject: [PATCH 09/11] =?UTF-8?q?[FEAT/#77]=20enter=20trip=20=EC=84=9C?= =?UTF-8?q?=EB=B2=84=ED=86=B5=EC=8B=A0=20=EA=B5=AC=ED=98=84=20=EC=99=84?= =?UTF-8?q?=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 1 - .../going/data/interceptor/AuthInterceptor.kt | 19 ++++++++----------- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 09a98b79..53bd1fac 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -63,7 +63,6 @@ android:exported="false" android:screenOrientation="portrait" /> - Date: Fri, 12 Jan 2024 09:37:59 +0900 Subject: [PATCH 10/11] =?UTF-8?q?[FEAT/#77]=20enter=20trip=20=EC=84=9C?= =?UTF-8?q?=EB=B2=84=ED=86=B5=EC=8B=A0=20=EC=BD=94=EB=93=9C=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/going/data/interceptor/AuthInterceptor.kt | 2 +- .../going/presentation/enter/entertrip/EnterTripActivity.kt | 2 +- .../going/presentation/enter/entertrip/EnterTripViewModel.kt | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/data/src/main/java/com/going/data/interceptor/AuthInterceptor.kt b/data/src/main/java/com/going/data/interceptor/AuthInterceptor.kt index 98a7de65..a848b847 100644 --- a/data/src/main/java/com/going/data/interceptor/AuthInterceptor.kt +++ b/data/src/main/java/com/going/data/interceptor/AuthInterceptor.kt @@ -85,7 +85,7 @@ class AuthInterceptor @Inject constructor( return response } - private fun Request.newAuthBuilder() = + private fun Request.newAuthBuilder() = this.newBuilder().addHeader(AUTHORIZATION, "$BEARER ${dataStore.accessToken}") companion object { diff --git a/presentation/src/main/java/com/going/presentation/enter/entertrip/EnterTripActivity.kt b/presentation/src/main/java/com/going/presentation/enter/entertrip/EnterTripActivity.kt index 9cffcaf2..ebed1687 100644 --- a/presentation/src/main/java/com/going/presentation/enter/entertrip/EnterTripActivity.kt +++ b/presentation/src/main/java/com/going/presentation/enter/entertrip/EnterTripActivity.kt @@ -97,7 +97,7 @@ class EnterTripActivity : BaseActivity(R.layout.activi putExtra("start", state.data.startDate) putExtra("end", state.data.endDate) putExtra("day", state.data.day) - Log.d("day1",state.data.day.toString()) + Log.d("day1", state.data.day.toString()) startActivity(this) } } diff --git a/presentation/src/main/java/com/going/presentation/enter/entertrip/EnterTripViewModel.kt b/presentation/src/main/java/com/going/presentation/enter/entertrip/EnterTripViewModel.kt index 83c29239..471d30d2 100644 --- a/presentation/src/main/java/com/going/presentation/enter/entertrip/EnterTripViewModel.kt +++ b/presentation/src/main/java/com/going/presentation/enter/entertrip/EnterTripViewModel.kt @@ -50,8 +50,8 @@ class EnterTripViewModel @Inject constructor( _tripState.value = UiState.Loading viewModelScope.launch { enterTripRepository.postEnterTrip( - RequestEnterTripModel(inviteCode.value ?:"") - ).onSuccess {result -> + RequestEnterTripModel(inviteCode.value ?: "") + ).onSuccess { result -> _tripState.value = result?.let { UiState.Success(it) } ?: UiState.Failure("no") }.onFailure { _tripState.value = UiState.Failure(it.message.orEmpty()) From e537087e604081e5396981b2e1f533695bb421e6 Mon Sep 17 00:00:00 2001 From: crownjoe Date: Fri, 12 Jan 2024 09:53:24 +0900 Subject: [PATCH 11/11] =?UTF-8?q?[FEAT/#77]=20enter=20trip=20=EC=84=9C?= =?UTF-8?q?=EB=B2=84=ED=86=B5=EC=8B=A0=20=EC=BD=94=EB=93=9C=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/going/data/repositoryImpl/EnterTripRepositoryImpl.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/src/main/java/com/going/data/repositoryImpl/EnterTripRepositoryImpl.kt b/data/src/main/java/com/going/data/repositoryImpl/EnterTripRepositoryImpl.kt index 86d0e6e2..8b88b45c 100644 --- a/data/src/main/java/com/going/data/repositoryImpl/EnterTripRepositoryImpl.kt +++ b/data/src/main/java/com/going/data/repositoryImpl/EnterTripRepositoryImpl.kt @@ -13,10 +13,10 @@ class EnterTripRepositoryImpl @Inject constructor( override suspend fun postEnterTrip( requestEnterTripModel: RequestEnterTripModel - ): Result = + ): Result = runCatching { enterTripDataSource.postEnterTrip( requestEnterTripModel.toEnterTripRequestDto(), - ).data?.toEnterTripModel() + ).data.toEnterTripModel() } }