diff --git a/app/src/main/java/com/mument_android/app/application/MumentApplication.kt b/app/src/main/java/com/mument_android/app/application/MumentApplication.kt index 59c6c1ad4..d6cd6954c 100644 --- a/app/src/main/java/com/mument_android/app/application/MumentApplication.kt +++ b/app/src/main/java/com/mument_android/app/application/MumentApplication.kt @@ -5,7 +5,7 @@ import com.google.firebase.crashlytics.FirebaseCrashlytics import com.kakao.sdk.common.KakaoSdk import com.mument_android.BuildConfig import com.mument_android.data.BuildConfig.KAKAO_NATIVE_KEY -import com.mument_android.domain.entity.musicdetail.musicdetaildata.Music +import com.mument_android.domain.entity.musicdetail.Music import dagger.hilt.android.HiltAndroidApp import timber.log.Timber import java.util.* diff --git a/app/src/main/java/com/mument_android/app/di/UseCaseModule.kt b/app/src/main/java/com/mument_android/app/di/UseCaseModule.kt index 2e7a1075f..c95c0fbb4 100644 --- a/app/src/main/java/com/mument_android/app/di/UseCaseModule.kt +++ b/app/src/main/java/com/mument_android/app/di/UseCaseModule.kt @@ -1,19 +1,51 @@ package com.mument_android.app.di +import com.mument_android.data.usecase.app.LimitUserUseCaseImpl +import com.mument_android.data.usecase.detail.BlockUserUseCaseImpl +import com.mument_android.data.usecase.detail.DeleteMumentUseCaseImpl +import com.mument_android.data.usecase.detail.FetchMumentDetailContentUseCaseImpl +import com.mument_android.data.usecase.detail.FetchMumentListUseCaseImpl +import com.mument_android.data.usecase.detail.FetchMusicDetailUseCaseImpl +import com.mument_android.data.usecase.detail.FetchUsersLikeMumentUseCaseImpl +import com.mument_android.data.usecase.detail.GetMumentHistoryUseCaseImpl +import com.mument_android.data.usecase.detail.ReportMumentUseCaseImpl +import com.mument_android.data.usecase.home.BeforeWhenHomeEnterUseCaseImpl +import com.mument_android.data.usecase.home.CRURecentSearchListUseCaseImpl +import com.mument_android.data.usecase.home.DeleteRecentSearchListUseCaseImpl +import com.mument_android.data.usecase.home.SearchMusicUseCaseImpl +import com.mument_android.data.usecase.home.WhenHomeEnterUseCaseImpl +import com.mument_android.data.usecase.locker.FetchMyLikeListUseCaseImpl +import com.mument_android.data.usecase.locker.FetchMyMumentListUseCaseImpl +import com.mument_android.data.usecase.main.CancelLikeMumentUseCaseImpl +import com.mument_android.data.usecase.main.LikeMumentUseCaseImpl +import com.mument_android.data.usecase.mypage.DeleteBlockUserUseCaseImpl +import com.mument_android.data.usecase.mypage.FetchBlockUserUseCaseImpl +import com.mument_android.data.usecase.mypage.FetchNoticeDetailUseCaseImpl +import com.mument_android.data.usecase.mypage.FetchNoticeListUseCaseImpl +import com.mument_android.data.usecase.mypage.FetchUnregisterInfoUseCaseImpl +import com.mument_android.data.usecase.mypage.LogOutUseCaseImpl +import com.mument_android.data.usecase.mypage.PostUnregisterReasonUseCaseImpl +import com.mument_android.data.usecase.mypage.UserInfoUseCaseImpl +import com.mument_android.data.usecase.notify.FetchNotifyListDeleteUseCaseImpl +import com.mument_android.data.usecase.notify.FetchNotifyListUseCaseImpl +import com.mument_android.data.usecase.notify.FetchNotifyListsReadUseCaseImpl +import com.mument_android.data.usecase.record.IsFirstRecordMumentUseCaseImpl +import com.mument_android.data.usecase.record.RecordModifyMumentUseCaseImpl +import com.mument_android.data.usecase.record.RecordMumentUseCaseImpl +import com.mument_android.data.usecase.sign.GetWebViewUseCaseImpl +import com.mument_android.data.usecase.sign.NewTokenUseCaseImpl +import com.mument_android.data.usecase.sign.SignDulCheckUseCaseImpl +import com.mument_android.data.usecase.sign.SignKaKaoUseCaseImpl +import com.mument_android.data.usecase.sign.SignPutProfileUseCaseImpl import com.mument_android.domain.repository.detail.* import com.mument_android.domain.repository.mypage.* import com.mument_android.domain.usecase.app.LimitUserUseCase -import com.mument_android.domain.usecase.app.LimitUserUseCaseImpl import com.mument_android.domain.usecase.detail.* import com.mument_android.domain.usecase.home.* import com.mument_android.domain.usecase.locker.FetchMyLikeListUseCase -import com.mument_android.domain.usecase.locker.FetchMyLikeListUseCaseImpl import com.mument_android.domain.usecase.locker.FetchMyMumentListUseCase -import com.mument_android.domain.usecase.locker.FetchMyMumentListUseCaseImpl import com.mument_android.domain.usecase.main.CancelLikeMumentUseCase -import com.mument_android.domain.usecase.main.CancelLikeMumentUseCaseImpl import com.mument_android.domain.usecase.main.LikeMumentUseCase -import com.mument_android.domain.usecase.main.LikeMumentUseCaseImpl import com.mument_android.domain.usecase.mypage.* import com.mument_android.domain.usecase.notify.* import com.mument_android.domain.usecase.record.* diff --git a/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/DeclareNavigatorProviderImpl.kt b/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/DeclareNavigatorProviderImpl.kt index 44dacd486..be7512523 100644 --- a/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/DeclareNavigatorProviderImpl.kt +++ b/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/DeclareNavigatorProviderImpl.kt @@ -4,6 +4,7 @@ import android.app.Activity import android.content.Intent import com.angdroid.navigation.DeclareNavigatorProvider import com.mument_android.app.presentation.ui.main.MainActivity +import com.mument_android.core.util.Constants.MUMENT_ID import com.mument_android.detail.mument.activity.DeclarMumentActivity import javax.inject.Inject @@ -12,7 +13,7 @@ DeclareNavigatorProvider{ override fun moveDeclare(mumentId: String) { with(activity as MainActivity) { startActivity(Intent(this, DeclarMumentActivity::class.java).apply { - putExtra("MUMENT_ID", mumentId) + putExtra(MUMENT_ID, mumentId) }) } diff --git a/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/EditMumentNavigator.kt b/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/EditMumentNavigator.kt index 724a18ae2..c21f32395 100644 --- a/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/EditMumentNavigator.kt +++ b/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/EditMumentNavigator.kt @@ -1,7 +1,7 @@ package com.mument_android.app.presentation.ui.detail.mument.navigator import com.mument_android.domain.entity.detail.MumentDetailEntity -import com.mument_android.domain.entity.musicdetail.musicdetaildata.Music +import com.mument_android.domain.entity.musicdetail.Music interface EditMumentNavigator { fun editMument(mumentId: String, mumentDetailEntity: MumentDetailEntity) diff --git a/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/EditMumentNavigatorProviderImpl.kt b/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/EditMumentNavigatorProviderImpl.kt index 27704b4ef..a706782d7 100644 --- a/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/EditMumentNavigatorProviderImpl.kt +++ b/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/EditMumentNavigatorProviderImpl.kt @@ -4,6 +4,9 @@ import android.app.Activity import android.content.Intent import com.angdroid.navigation.EditMumentNavigatorProvider import com.mument_android.app.presentation.ui.main.MainActivity +import com.mument_android.core.util.Constants.MUMENT_ID +import com.mument_android.core.util.Constants.MUMENT_MODIFY_ENTITY +import com.mument_android.core.util.Constants.RECENT_SEARCH_DATA import com.mument_android.domain.entity.home.RecentSearchData import com.mument_android.domain.entity.record.MumentModifyEntity import com.mument_android.record.RecordActivity @@ -19,9 +22,9 @@ class EditMumentNavigatorProviderImpl @Inject constructor( ) { if (activity is MainActivity) { val intent = Intent(activity, RecordActivity::class.java).apply { - putExtra("MumentModifyEntity", mumentModifyEntity) - putExtra("RecentSearchData", music) - putExtra("MumentID", mumentId) + putExtra(MUMENT_MODIFY_ENTITY, mumentModifyEntity) + putExtra(RECENT_SEARCH_DATA, music) + putExtra(MUMENT_ID, mumentId) } activity.recordMumentLauncher.launch(intent) } diff --git a/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/HistoryNavigatorProviderImpl.kt b/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/HistoryNavigatorProviderImpl.kt index e98794ae3..8d9b40abd 100644 --- a/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/HistoryNavigatorProviderImpl.kt +++ b/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/HistoryNavigatorProviderImpl.kt @@ -2,11 +2,12 @@ package com.mument_android.app.presentation.ui.detail.mument.navigator import android.app.Activity import android.content.Intent -import android.util.Log import com.angdroid.navigation.HistoryNavigatorProvider import com.mument_android.app.presentation.ui.main.MainActivity +import com.mument_android.core.util.Constants.MUSIC +import com.mument_android.core.util.Constants.USER_ID import com.mument_android.detail.history.HistoryActivity -import com.mument_android.domain.entity.musicdetail.musicdetaildata.Music +import com.mument_android.domain.entity.musicdetail.Music import javax.inject.Inject class HistoryNavigatorProviderImpl @Inject constructor(private val activity: Activity) : @@ -14,8 +15,8 @@ class HistoryNavigatorProviderImpl @Inject constructor(private val activity: Act override fun moveHistory(music: Music, userId: Int) { with(activity as MainActivity) { startActivity(Intent(this, HistoryActivity::class.java).apply { - putExtra("music", music) - putExtra("userId", userId) + putExtra(MUSIC, music) + putExtra(USER_ID, userId) }) } } diff --git a/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MainHomeNavigatorProviderImpl.kt b/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MainHomeNavigatorProviderImpl.kt index d78575b01..90e7fc8fb 100644 --- a/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MainHomeNavigatorProviderImpl.kt +++ b/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MainHomeNavigatorProviderImpl.kt @@ -7,7 +7,6 @@ import com.mument_android.app.presentation.ui.main.MainActivity import com.mument_android.core.util.Constants import com.mument_android.core.util.Constants.FROM_SEARCH import com.mument_android.core.util.Constants.MUSIC_INFO_ENTITY -import com.mument_android.detail.music.MusicDetailFragment.Companion.MUSIC_ID import com.mument_android.domain.entity.music.MusicInfoEntity import javax.inject.Inject diff --git a/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MoveMusicDetailNavigatorProviderImpl.kt b/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MoveMusicDetailNavigatorProviderImpl.kt index a8eed6392..10fd63d07 100644 --- a/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MoveMusicDetailNavigatorProviderImpl.kt +++ b/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MoveMusicDetailNavigatorProviderImpl.kt @@ -3,10 +3,9 @@ package com.mument_android.app.presentation.ui.detail.mument.navigator import android.app.Activity import android.content.Intent import androidx.appcompat.app.AppCompatActivity -import androidx.navigation.findNavController import com.angdroid.navigation.MoveMusicDetailNavigatorProvider -import com.mument_android.R import com.mument_android.app.presentation.ui.main.MainActivity +import com.mument_android.core.util.Constants.MUSIC_INFO_ENTITY import com.mument_android.domain.entity.music.MusicInfoEntity import com.mument_android.home.search.SearchActivity import javax.inject.Inject @@ -20,7 +19,7 @@ class MoveMusicDetailNavigatorProviderImpl @Inject constructor(private val activ override fun intentMusicDetail(music: MusicInfoEntity) { with(activity as SearchActivity) { val intent = Intent(this, MainActivity::class.java).apply { - putExtra("MUSIC_INFO_ENTITY", music) + putExtra(MUSIC_INFO_ENTITY, music) } setResult(AppCompatActivity.RESULT_OK, intent) finish() diff --git a/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MoveNotifyNavigatorProviderImpl.kt b/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MoveNotifyNavigatorProviderImpl.kt index 6e2906a11..c2a933050 100644 --- a/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MoveNotifyNavigatorProviderImpl.kt +++ b/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MoveNotifyNavigatorProviderImpl.kt @@ -1,10 +1,8 @@ package com.mument_android.app.presentation.ui.detail.mument.navigator import android.app.Activity -import android.app.Activity.RESULT_OK import android.content.Intent import com.angdroid.navigation.MoveNotifyNavigatorProvider -import com.google.gson.Gson import com.mument_android.app.presentation.ui.main.MainActivity import com.mument_android.core.util.Constants.MUMENT_ID import com.mument_android.core.util.Constants.MUSIC_INFO_ENTITY diff --git a/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MoveRecordProviderImpl.kt b/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MoveRecordProviderImpl.kt index 124a82355..0fe2a0ad8 100644 --- a/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MoveRecordProviderImpl.kt +++ b/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MoveRecordProviderImpl.kt @@ -2,8 +2,7 @@ package com.mument_android.app.presentation.ui.detail.mument.navigator import android.app.Activity import com.angdroid.navigation.MoveRecordProvider -import com.mument_android.R -import com.mument_android.domain.entity.musicdetail.musicdetaildata.Music +import com.mument_android.domain.entity.musicdetail.Music import com.mument_android.app.presentation.ui.main.MainActivity import javax.inject.Inject diff --git a/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MumentDetailNavigatorProviderImpl.kt b/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MumentDetailNavigatorProviderImpl.kt index 15b01c666..05b175383 100644 --- a/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MumentDetailNavigatorProviderImpl.kt +++ b/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MumentDetailNavigatorProviderImpl.kt @@ -2,9 +2,7 @@ package com.mument_android.app.presentation.ui.detail.mument.navigator import android.app.Activity import android.os.Bundle -import android.util.Log import com.angdroid.navigation.MumentDetailNavigatorProvider -import com.google.gson.Gson import com.mument_android.R import com.mument_android.app.presentation.ui.main.MainActivity import com.mument_android.core.util.Constants.MUMENT_ID @@ -56,7 +54,7 @@ class MumentDetailNavigatorProviderImpl @Inject constructor( if (activity is MainActivity) { val bundle = Bundle().apply { putString(MUMENT_ID, mumentId) - putParcelable(MUSIC_INFO_ENTITY, musicInfo) + putSerializable(MUSIC_INFO_ENTITY, musicInfo) putString(START_NAV_KEY, startNav) } activity.navController.navigate(actionId, bundle) diff --git a/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MumentHistoryNavigatorProviderImpl.kt b/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MumentHistoryNavigatorProviderImpl.kt index 292d052ac..0296ae242 100644 --- a/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MumentHistoryNavigatorProviderImpl.kt +++ b/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MumentHistoryNavigatorProviderImpl.kt @@ -3,8 +3,10 @@ package com.mument_android.app.presentation.ui.detail.mument.navigator import android.app.Activity import android.content.Intent import com.angdroid.navigation.MumentHistoryNavigatorProvider +import com.mument_android.core.util.Constants.MUSIC +import com.mument_android.core.util.Constants.USER_ID import com.mument_android.detail.history.HistoryActivity -import com.mument_android.domain.entity.musicdetail.musicdetaildata.Music +import com.mument_android.domain.entity.musicdetail.Music import javax.inject.Inject class MumentHistoryNavigatorProviderImpl @Inject constructor( @@ -12,8 +14,8 @@ class MumentHistoryNavigatorProviderImpl @Inject constructor( ): MumentHistoryNavigatorProvider { override fun mumentDetailToHistory(music: Music, userId: Int) { Intent(activity, HistoryActivity::class.java).apply { - putExtra("music", music) - putExtra("userId", userId) + putExtra(MUSIC, music) + putExtra(USER_ID, userId) activity.startActivity(this) } } diff --git a/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MusicDetailNavigatorProviderImpl.kt b/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MusicDetailNavigatorProviderImpl.kt index d6a6f9236..6d408b410 100644 --- a/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MusicDetailNavigatorProviderImpl.kt +++ b/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/MusicDetailNavigatorProviderImpl.kt @@ -18,7 +18,7 @@ class MusicDetailNavigatorProviderImpl @Inject constructor(private val activity: override fun fromHomeToMusicDetail(music: MusicInfoEntity, startNav: String) { with(activity as MainActivity) { val bundle = Bundle().also { - it.putParcelable(MUSIC_INFO_ENTITY, music) + it.putSerializable(MUSIC_INFO_ENTITY, music) it.putString(START_NAV_KEY, startNav) } navController.navigate( @@ -33,7 +33,7 @@ class MusicDetailNavigatorProviderImpl @Inject constructor(private val activity: with(activity as MainActivity) { val bundle = Bundle().apply { putString(START_NAV_KEY, startNav) - putParcelable(MUSIC_INFO_ENTITY, music) + putSerializable(MUSIC_INFO_ENTITY, music) } navController.navigate( @@ -41,37 +41,16 @@ class MusicDetailNavigatorProviderImpl @Inject constructor(private val activity: bundle, NavOptions.Builder().setPopUpTo(R.id.musicDetailFragment, true).build() ) - -// this.navController.navigate( -// R.id.action_mumentDetailFragment_to_musicDetailFragment, -// bundle -// ) -// if (navController.isFragmentInBackStack(R.id.musicDetailFragment)) { -// -// navController.popBackStack(R.id.musicDetailFragment, false) -// -// } else { -// val bundle = Bundle().apply { -// putString(START_NAV_KEY, startNav) -// putParcelable(MUSIC_INFO_ENTITY, music) -// } -// this.navController.navigate( -// R.id.action_mumentDetailFragment_to_musicDetailFragment, -// bundle -// ) -// } } } override fun musicDetailPopBackStack(startNav: String) { with(activity as MainActivity) { - activity.navController.previousBackStackEntry?.savedStateHandle?.set( + navController.previousBackStackEntry?.savedStateHandle?.set( START_NAV_KEY, startNav ) - activity.navController.popBackStack() -// if (startNav == FROM_SEARCH) startActivity(Intent(activity, SearchActivity::class.java)) -// navController.popBackStack() + navController.popBackStack() } } } \ No newline at end of file diff --git a/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/StackProviderImpl.kt b/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/StackProviderImpl.kt index f73ae8aa2..d999a1e2c 100644 --- a/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/StackProviderImpl.kt +++ b/app/src/main/java/com/mument_android/app/presentation/ui/detail/mument/navigator/StackProviderImpl.kt @@ -3,7 +3,7 @@ package com.mument_android.app.presentation.ui.detail.mument.navigator import android.content.Context import com.angdroid.navigation.StackProvider import com.mument_android.app.application.MumentApplication -import com.mument_android.domain.entity.musicdetail.musicdetaildata.Music +import com.mument_android.domain.entity.musicdetail.Music import dagger.hilt.android.qualifiers.ApplicationContext import java.util.* import javax.inject.Inject diff --git a/app/src/main/java/com/mument_android/app/presentation/ui/main/MainActivity.kt b/app/src/main/java/com/mument_android/app/presentation/ui/main/MainActivity.kt index 4359efa76..752d8df19 100644 --- a/app/src/main/java/com/mument_android/app/presentation/ui/main/MainActivity.kt +++ b/app/src/main/java/com/mument_android/app/presentation/ui/main/MainActivity.kt @@ -18,7 +18,6 @@ import androidx.navigation.fragment.NavHostFragment import androidx.navigation.ui.NavigationUI import com.google.android.material.shape.CornerFamily import com.google.android.material.shape.MaterialShapeDrawable -import com.google.gson.Gson import com.mument_android.R import com.mument_android.app.presentation.RestrictUserDialog import com.mument_android.app.presentation.ui.detail.mument.navigator.EditMumentNavigator @@ -38,14 +37,14 @@ import com.mument_android.core_dependent.base.BaseActivity import com.mument_android.core_dependent.ext.DataStoreManager import com.mument_android.core_dependent.util.FirebaseAnalyticsUtil import com.mument_android.core_dependent.util.ViewUtils.snackBar -import com.mument_android.core_dependent.util.parcelable import com.mument_android.databinding.ActivityMainBinding import com.mument_android.detail.mument.fragment.MumentDetailFragment import com.angdroid.navigation.StackProvider +import com.mument_android.core_dependent.util.serializable import com.mument_android.detail.util.SuggestionNotifyAccessDialogFragment import com.mument_android.domain.entity.detail.MumentDetailEntity import com.mument_android.domain.entity.music.MusicInfoEntity -import com.mument_android.domain.entity.musicdetail.musicdetaildata.Music +import com.mument_android.domain.entity.musicdetail.Music import com.mument_android.home.main.HomeFragment import com.mument_android.home.notify.NotifyActivity import com.mument_android.home.search.SearchActivity @@ -160,10 +159,10 @@ class MainActivity : BaseActivity(ActivityMainBinding::infl ) } } - intent.parcelable(MUSIC_INFO_ENTITY)?.let { musicInfo -> + intent.serializable(MUSIC_INFO_ENTITY)?.let { musicInfo -> intent.getStringExtra(MUMENT_ID)?.let { mumentId -> val bundle = Bundle().apply { - putParcelable(MUSIC_INFO_ENTITY, musicInfo) + putSerializable(MUSIC_INFO_ENTITY, musicInfo) putString(MUMENT_ID, mumentId) } navController.navigate( @@ -174,14 +173,14 @@ class MainActivity : BaseActivity(ActivityMainBinding::infl } } } else if (intent.getStringExtra(TO_MUMENT_DETAIL) == TO_MUMENT_DETAIL) { - intent.parcelable(MUSIC_INFO_ENTITY)?.let { musicInfo -> + intent.serializable(MUSIC_INFO_ENTITY)?.let { musicInfo -> intent.getStringExtra(MUMENT_ID)?.let { mumentId -> snackBar( binding.clSnackBar, getString(com.mument_android.detail.R.string.modify_record) ) val bundle = Bundle().apply { - putString(MUSIC_INFO_ENTITY, Gson().toJson(musicInfo)) + putSerializable(MUSIC_INFO_ENTITY, musicInfo) putString(MUMENT_ID, mumentId) } navController.navigate( @@ -291,7 +290,7 @@ class MainActivity : BaseActivity(ActivityMainBinding::infl if (fromHistory == FROM_HISTORY && popBackStack) { updateMumentDetail(null, null, true) } else { - intent?.parcelable(MUSIC_INFO_ENTITY)?.let { music -> + intent?.serializable(MUSIC_INFO_ENTITY)?.let { music -> if (mumentId.isNotEmpty()) { showMumentDetail(mumentId, music, popBackStack, intent) } else { @@ -317,7 +316,7 @@ class MainActivity : BaseActivity(ActivityMainBinding::infl private fun moveToMusicDetail(music: MusicInfoEntity, intent: Intent) { val bundle = Bundle().apply { - putParcelable(MUSIC_INFO_ENTITY, music) + putSerializable(MUSIC_INFO_ENTITY, music) intent.getStringExtra(START_NAV_KEY)?.let { when (it) { FROM_NOTIFICATION_TO_MUMENT_DETAIL -> { @@ -353,7 +352,7 @@ class MainActivity : BaseActivity(ActivityMainBinding::infl ) { val bundle = Bundle().also { bundle -> bundle.putString(MUMENT_ID, mumentId) - bundle.putParcelable(MUSIC_INFO_ENTITY, music) + bundle.putSerializable(MUSIC_INFO_ENTITY, music) intent.getStringExtra(START_NAV_KEY)?.let { when (it) { FROM_NOTIFICATION_TO_MUMENT_DETAIL -> { diff --git a/app/src/main/java/com/mument_android/app/presentation/ui/main/viewmodel/MainViewModel.kt b/app/src/main/java/com/mument_android/app/presentation/ui/main/viewmodel/MainViewModel.kt index 8800b1cd6..8d57aaea0 100644 --- a/app/src/main/java/com/mument_android/app/presentation/ui/main/viewmodel/MainViewModel.kt +++ b/app/src/main/java/com/mument_android/app/presentation/ui/main/viewmodel/MainViewModel.kt @@ -6,7 +6,7 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.mument_android.domain.entity.LimitUserEntity import com.mument_android.domain.entity.detail.MumentDetailEntity -import com.mument_android.domain.entity.musicdetail.musicdetaildata.Music +import com.mument_android.domain.entity.musicdetail.Music import com.mument_android.domain.usecase.app.LimitUserUseCase import com.mument_android.domain.usecase.home.BeforeWhenHomeEnterUseCase import dagger.hilt.android.lifecycle.HiltViewModel diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt index 01a1878f5..f918ce18a 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -4,6 +4,7 @@ object KotlinDependencies { "org.jetbrains.kotlinx:kotlinx-serialization-json:${Versions.kotlinxSerializationJsonVersion}" const val coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-core:${Versions.kotlinCoroutinesVersion}" + const val annotation = "androidx.annotation:annotation:1.2.0" } object AndroidXDependencies { diff --git a/core/src/main/java/com/mument_android/core/util/Constants.kt b/core/src/main/java/com/mument_android/core/util/Constants.kt index 964fdd144..30d6c9d90 100644 --- a/core/src/main/java/com/mument_android/core/util/Constants.kt +++ b/core/src/main/java/com/mument_android/core/util/Constants.kt @@ -4,6 +4,10 @@ object Constants { const val TO_MUMENT_DETAIL = "TO_MUMENT_DETAIL" const val TO_MUSIC_DETAIL = "TO_MUSIC_DETAIL" const val MUMENT_ID = "MUMENT_ID" + const val USER_ID = "userId" + const val MUSIC = "music" + const val RECENT_SEARCH_DATA = "RecentSearchData" + const val MUMENT_MODIFY_ENTITY = "MumentModifyEntity" const val MUSIC_INFO_ENTITY = "MUSIC_INFO_ENTITY" const val START_NAV_KEY = "NAV_FROM_KEY" const val FROM_SEARCH = "FROM_SEARCH" diff --git a/core_dependent/src/main/java/com/mument_android/core_dependent/util/ViewUtils.kt b/core_dependent/src/main/java/com/mument_android/core_dependent/util/ViewUtils.kt index 0c419cad8..aced68932 100644 --- a/core_dependent/src/main/java/com/mument_android/core_dependent/util/ViewUtils.kt +++ b/core_dependent/src/main/java/com/mument_android/core_dependent/util/ViewUtils.kt @@ -3,7 +3,9 @@ package com.mument_android.core_dependent.util import android.app.Activity import android.content.Context import android.content.Intent +import android.os.Build import android.os.Build.VERSION.SDK_INT +import android.os.Build.VERSION_CODES.TIRAMISU import android.os.Bundle import android.os.Parcelable import android.text.Spannable @@ -25,6 +27,7 @@ import androidx.core.view.children import com.google.android.material.snackbar.Snackbar import com.mument_android.core_dependent.R import com.mument_android.core_dependent.util.ViewUtils.dpToPx +import java.io.Serializable object ViewUtils { @@ -181,6 +184,20 @@ inline fun Bundle.parcelable(key: String): T? = when { else -> @Suppress("DEPRECATION") getParcelable(key) } +inline fun Intent.serializable(key: String): T? = when { + SDK_INT >= TIRAMISU -> getSerializableExtra(key, T::class.java) + else -> @Suppress("DEPRECATION") getSerializableExtra(key) as T? +} + +inline fun Intent.getSerializable(key: String): T? = when { + SDK_INT >= TIRAMISU -> getSerializableExtra(key, T::class.java) + else -> @Suppress("DEPRECATION") getSerializableExtra(key) as T +} + +inline fun Bundle.getBundleSerializable(key: String): T? = when { + SDK_INT >= TIRAMISU -> getSerializable(key, T::class.java) + else -> @Suppress("DEPRECATION") getSerializable(key) as? T +} fun Context.createSpannableString( originalText: String, diff --git a/data/src/main/java/com/mument_android/data/datasource/detail/LikeMumentPagingSourceFactory.kt b/data/src/main/java/com/mument_android/data/datasource/detail/LikeMumentPagingSourceFactory.kt index fd9522c08..38a48d8a2 100644 --- a/data/src/main/java/com/mument_android/data/datasource/detail/LikeMumentPagingSourceFactory.kt +++ b/data/src/main/java/com/mument_android/data/datasource/detail/LikeMumentPagingSourceFactory.kt @@ -4,11 +4,8 @@ import android.util.Log import androidx.paging.PagingSource import androidx.paging.PagingState import com.mument_android.data.network.detail.DetailApiService -import com.mument_android.data.network.detail.HistoryService import com.mument_android.data.util.ResultWrapper import com.mument_android.data.util.catchingApiCall -import com.mument_android.domain.entity.history.HistoryRequestParams -import com.mument_android.domain.entity.history.MumentHistory import com.mument_android.domain.entity.user.UserEntity class LikeMumentPagingSourceFactory( diff --git a/data/src/main/java/com/mument_android/data/dto/record/MumentIsFirstDto.kt b/data/src/main/java/com/mument_android/data/dto/record/MumentIsFirstDto.kt index 68534132a..51e8f38aa 100644 --- a/data/src/main/java/com/mument_android/data/dto/record/MumentIsFirstDto.kt +++ b/data/src/main/java/com/mument_android/data/dto/record/MumentIsFirstDto.kt @@ -2,5 +2,5 @@ package com.mument_android.data.dto.record data class MumentIsFirstDto( val isFirst : Boolean, - val FirstAvaliable : Boolean + val firstAvailable : Boolean ) \ No newline at end of file diff --git a/data/src/main/java/com/mument_android/data/mapper/record/RecordMapper.kt b/data/src/main/java/com/mument_android/data/mapper/record/RecordMapper.kt index c0be00d3a..556fd8274 100644 --- a/data/src/main/java/com/mument_android/data/mapper/record/RecordMapper.kt +++ b/data/src/main/java/com/mument_android/data/mapper/record/RecordMapper.kt @@ -9,5 +9,5 @@ import javax.inject.Singleton @Singleton class RecordMapper @Inject constructor() : BaseMapper { override fun map(from: MumentIsFirstDto): RecordIsFirstEntity = - RecordIsFirstEntity(from.isFirst, from.FirstAvaliable) + RecordIsFirstEntity(from.isFirst, from.firstAvailable) } diff --git a/data/src/main/java/com/mument_android/data/network/app/AppApiService.kt b/data/src/main/java/com/mument_android/data/network/app/AppApiService.kt index fca50ac70..3fe4afdc5 100644 --- a/data/src/main/java/com/mument_android/data/network/app/AppApiService.kt +++ b/data/src/main/java/com/mument_android/data/network/app/AppApiService.kt @@ -2,10 +2,7 @@ package com.mument_android.data.network.app import com.mument_android.data.dto.LimitUserDto import com.mument_android.data.util.BaseResponse -import retrofit2.Response import retrofit2.http.GET -import retrofit2.http.Headers -import retrofit2.http.Path interface AppApiService { @GET("/user/report/restrict") diff --git a/data/src/main/java/com/mument_android/data/repository/HomeRepositoryImpl.kt b/data/src/main/java/com/mument_android/data/repository/HomeRepositoryImpl.kt index b09ff7f06..7ee488df6 100644 --- a/data/src/main/java/com/mument_android/data/repository/HomeRepositoryImpl.kt +++ b/data/src/main/java/com/mument_android/data/repository/HomeRepositoryImpl.kt @@ -1,24 +1,21 @@ package com.mument_android.data.repository -import android.util.Log import com.mument_android.core_dependent.ext.DataStoreManager import com.mument_android.data.datasource.home.HomeDataSource import com.mument_android.data.datasource.home.LocalRecentSearchListDataSource import com.mument_android.data.datasource.home.LocalTodayMumentDataSource import com.mument_android.data.datasource.home.RemoteSearchListDataSource -import com.mument_android.data.dto.home.Exist import com.mument_android.data.local.recentlist.RecentSearchDataEntity import com.mument_android.data.mapper.home.HomeTodayMumentMapper import com.mument_android.data.mapper.home.RandomMumentMapper import com.mument_android.data.mapper.home.RecentSearchDataMapper import com.mument_android.data.util.ResultWrapper import com.mument_android.domain.entity.home.* -import com.mument_android.domain.entity.musicdetail.musicdetaildata.Music +import com.mument_android.domain.entity.musicdetail.Music import com.mument_android.domain.repository.home.HomeRepository import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow import timber.log.Timber -import java.time.LocalDate import java.util.* import javax.inject.Inject diff --git a/data/src/main/java/com/mument_android/data/repository/NotifyRepositoryImpl.kt b/data/src/main/java/com/mument_android/data/repository/NotifyRepositoryImpl.kt index 7e9901a77..a369cd021 100644 --- a/data/src/main/java/com/mument_android/data/repository/NotifyRepositoryImpl.kt +++ b/data/src/main/java/com/mument_android/data/repository/NotifyRepositoryImpl.kt @@ -5,7 +5,7 @@ import com.mument_android.data.datasource.notify.NotifyDataSource import com.mument_android.data.mapper.notify.NotifyMapper import com.mument_android.domain.entity.home.NotifyEntity import com.mument_android.domain.repository.notify.NotifyRepository -import com.mument_android.domain.util.NetworkExtensions.callApi +import com.mument_android.data.util.NetworkExtensions.callApi import javax.inject.Inject class NotifyRepositoryImpl @Inject constructor( diff --git a/data/src/main/java/com/mument_android/data/repository/SignRepositoryImpl.kt b/data/src/main/java/com/mument_android/data/repository/SignRepositoryImpl.kt index 2707b3fc7..0624ce029 100644 --- a/data/src/main/java/com/mument_android/data/repository/SignRepositoryImpl.kt +++ b/data/src/main/java/com/mument_android/data/repository/SignRepositoryImpl.kt @@ -5,10 +5,14 @@ import com.mument_android.data.mapper.sign.GetWebViewMapper import com.mument_android.data.mapper.sign.KakaoLoginMapper import com.mument_android.data.mapper.sign.NewTokenMapper import com.mument_android.data.mapper.sign.SetProfileMapper +import com.mument_android.data.util.MultipartResolver import com.mument_android.domain.entity.sign.* import com.mument_android.domain.repository.sign.SignRepository +import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MultipartBody import okhttp3.RequestBody +import okhttp3.RequestBody.Companion.toRequestBody +import okhttp3.ResponseBody.Companion.toResponseBody import javax.inject.Inject class SignRepositoryImpl @Inject constructor( @@ -16,7 +20,8 @@ class SignRepositoryImpl @Inject constructor( private val setProfileMapper: SetProfileMapper, private val kakaoLoginMapper: KakaoLoginMapper, private val getWebViewMapper: GetWebViewMapper, - private val newTokenMapper: NewTokenMapper + private val newTokenMapper: NewTokenMapper, + private val multipartResolver: MultipartResolver ) : SignRepository { override suspend fun signDupCheck(userName: String): Int { @@ -26,14 +31,17 @@ class SignRepositoryImpl @Inject constructor( } override suspend fun signSetProfile( - image: MultipartBody.Part?, - body: HashMap + imageArray: ByteArray, imageType: String, nickName : String ): SetProfileEntity? { - signDataSource.signPutProfile(image, body).let { - return if (it.data != null) { - setProfileMapper.map(it.data) - } else null - } + val requestBody = HashMap() + requestBody[imageType] = nickName.toRequestBody("text/plain".toMediaTypeOrNull()) + multipartResolver.createImageMultiPart(imageArray)?.let { image -> + signDataSource.signPutProfile(image, requestBody).let { + return if (it.data != null) { + setProfileMapper.map(it.data) + } else null + } + } ?: return null } diff --git a/domain/src/main/java/com/mument_android/domain/usecase/app/LimitUserUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/app/LimitUserUseCaseImpl.kt similarity index 59% rename from domain/src/main/java/com/mument_android/domain/usecase/app/LimitUserUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/app/LimitUserUseCaseImpl.kt index eaecf27ae..d069645fb 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/app/LimitUserUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/app/LimitUserUseCaseImpl.kt @@ -1,15 +1,13 @@ -package com.mument_android.domain.usecase.app +package com.mument_android.data.usecase.app import com.mument_android.domain.entity.LimitUserEntity -import com.mument_android.domain.entity.mypage.NoticeListEntity import com.mument_android.domain.repository.app.LimitUserRepository -import com.mument_android.domain.repository.mypage.NoticeListRepository -import kotlinx.coroutines.flow.Flow +import com.mument_android.domain.usecase.app.LimitUserUseCase import javax.inject.Inject class LimitUserUseCaseImpl @Inject constructor( private val limitUserRepository: LimitUserRepository -):LimitUserUseCase{ +): LimitUserUseCase { override suspend fun invoke(): LimitUserEntity = limitUserRepository.limitUser() diff --git a/domain/src/main/java/com/mument_android/domain/usecase/detail/BlockUserUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/detail/BlockUserUseCaseImpl.kt similarity index 79% rename from domain/src/main/java/com/mument_android/domain/usecase/detail/BlockUserUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/detail/BlockUserUseCaseImpl.kt index 6ffdef3da..06ad83353 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/detail/BlockUserUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/detail/BlockUserUseCaseImpl.kt @@ -1,15 +1,16 @@ -package com.mument_android.domain.usecase.detail +package com.mument_android.data.usecase.detail import android.util.Log import com.mument_android.core.network.ApiStatus import com.mument_android.domain.repository.detail.BlockUserRepository +import com.mument_android.domain.usecase.detail.BlockUserUseCase import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.catch import javax.inject.Inject class BlockUserUseCaseImpl @Inject constructor( private val blockUserRepository: BlockUserRepository -): BlockUserUseCase { +) : BlockUserUseCase { override suspend fun invoke(mumentId: String): Flow> = blockUserRepository.block(mumentId).catch { Log.e("CATCH", it.toString()) } } \ No newline at end of file diff --git a/domain/src/main/java/com/mument_android/domain/usecase/detail/DeleteMumentUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/detail/DeleteMumentUseCaseImpl.kt similarity index 75% rename from domain/src/main/java/com/mument_android/domain/usecase/detail/DeleteMumentUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/detail/DeleteMumentUseCaseImpl.kt index d2ad8da13..ad6bd6a24 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/detail/DeleteMumentUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/detail/DeleteMumentUseCaseImpl.kt @@ -1,13 +1,14 @@ -package com.mument_android.domain.usecase.detail +package com.mument_android.data.usecase.detail import com.mument_android.core.network.ApiStatus import com.mument_android.domain.repository.detail.MumentDetailRepository +import com.mument_android.domain.usecase.detail.DeleteMumentUseCase import kotlinx.coroutines.flow.Flow import javax.inject.Inject class DeleteMumentUseCaseImpl @Inject constructor( private val mumentDetailRepository: MumentDetailRepository -): DeleteMumentUseCase { +) : DeleteMumentUseCase { override suspend fun invoke(mumentId: String): Flow> = mumentDetailRepository.deleteMument(mumentId) } \ No newline at end of file diff --git a/domain/src/main/java/com/mument_android/domain/usecase/detail/FetchMumentDetailContentUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/detail/FetchMumentDetailContentUseCaseImpl.kt similarity index 76% rename from domain/src/main/java/com/mument_android/domain/usecase/detail/FetchMumentDetailContentUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/detail/FetchMumentDetailContentUseCaseImpl.kt index df0e1a77b..a156c08e1 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/detail/FetchMumentDetailContentUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/detail/FetchMumentDetailContentUseCaseImpl.kt @@ -1,14 +1,15 @@ -package com.mument_android.domain.usecase.detail +package com.mument_android.data.usecase.detail import com.mument_android.core.network.ApiStatus import com.mument_android.domain.entity.detail.MumentDetailEntity import com.mument_android.domain.repository.detail.MumentDetailRepository +import com.mument_android.domain.usecase.detail.FetchMumentDetailContentUseCase import kotlinx.coroutines.flow.Flow import javax.inject.Inject class FetchMumentDetailContentUseCaseImpl @Inject constructor( private val mumentDetailRepository: MumentDetailRepository -): FetchMumentDetailContentUseCase { +) : FetchMumentDetailContentUseCase { override suspend operator fun invoke(mumentId: String): Flow> = mumentDetailRepository.fetchMumentDetail(mumentId) } \ No newline at end of file diff --git a/domain/src/main/java/com/mument_android/domain/usecase/detail/FetchMumentListUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/detail/FetchMumentListUseCaseImpl.kt similarity index 77% rename from domain/src/main/java/com/mument_android/domain/usecase/detail/FetchMumentListUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/detail/FetchMumentListUseCaseImpl.kt index 18d65eaf1..6707113ff 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/detail/FetchMumentListUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/detail/FetchMumentListUseCaseImpl.kt @@ -1,13 +1,14 @@ -package com.mument_android.domain.usecase.detail +package com.mument_android.data.usecase.detail import com.mument_android.domain.entity.detail.MumentSummaryEntity import com.mument_android.domain.repository.detail.MumentListRepository +import com.mument_android.domain.usecase.detail.FetchMumentListUseCase import kotlinx.coroutines.flow.Flow import javax.inject.Inject class FetchMumentListUseCaseImpl @Inject constructor( private val mumentListRepository: MumentListRepository -): FetchMumentListUseCase { +) : FetchMumentListUseCase { override suspend fun invoke( musicId: String, default: String diff --git a/domain/src/main/java/com/mument_android/domain/usecase/detail/FetchMusicDetailUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/detail/FetchMusicDetailUseCaseImpl.kt similarity index 81% rename from domain/src/main/java/com/mument_android/domain/usecase/detail/FetchMusicDetailUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/detail/FetchMusicDetailUseCaseImpl.kt index 6c736d4a6..fbe36fa15 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/detail/FetchMusicDetailUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/detail/FetchMusicDetailUseCaseImpl.kt @@ -1,16 +1,17 @@ -package com.mument_android.domain.usecase.detail +package com.mument_android.data.usecase.detail import com.mument_android.core.network.ApiStatus import com.mument_android.domain.entity.detail.MusicReqeust import com.mument_android.domain.entity.detail.MusicWithMyMumentEntity import com.mument_android.domain.repository.detail.MusicDetailRepository +import com.mument_android.domain.usecase.detail.FetchMusicDetailUseCase import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow import javax.inject.Inject class FetchMusicDetailUseCaseImpl @Inject constructor( private val musicDetailRepository: MusicDetailRepository -): FetchMusicDetailUseCase { +) : FetchMusicDetailUseCase { override suspend operator fun invoke(musicId: String, music: MusicReqeust): Flow> = musicDetailRepository.fetchMusicDetailInfo(musicId, music) } \ No newline at end of file diff --git a/domain/src/main/java/com/mument_android/domain/usecase/detail/FetchUsersLikeMumentUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/detail/FetchUsersLikeMumentUseCaseImpl.kt similarity index 80% rename from domain/src/main/java/com/mument_android/domain/usecase/detail/FetchUsersLikeMumentUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/detail/FetchUsersLikeMumentUseCaseImpl.kt index f4d45efed..975471cd6 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/detail/FetchUsersLikeMumentUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/detail/FetchUsersLikeMumentUseCaseImpl.kt @@ -1,8 +1,9 @@ -package com.mument_android.domain.usecase.detail +package com.mument_android.data.usecase.detail import androidx.paging.PagingData import com.mument_android.domain.entity.user.UserEntity import com.mument_android.domain.repository.detail.UsersRepository +import com.mument_android.domain.usecase.detail.FetchUsersLikeMumentUseCase import kotlinx.coroutines.flow.Flow import javax.inject.Inject diff --git a/domain/src/main/java/com/mument_android/domain/usecase/detail/GetMumentHistoryUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/detail/GetMumentHistoryUseCaseImpl.kt similarity index 82% rename from domain/src/main/java/com/mument_android/domain/usecase/detail/GetMumentHistoryUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/detail/GetMumentHistoryUseCaseImpl.kt index b1d1a69a5..7cb72f124 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/detail/GetMumentHistoryUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/detail/GetMumentHistoryUseCaseImpl.kt @@ -1,7 +1,8 @@ -package com.mument_android.domain.usecase.detail +package com.mument_android.data.usecase.detail import com.mument_android.domain.entity.history.MumentHistory import com.mument_android.domain.repository.detail.MumentDetailRepository +import com.mument_android.domain.usecase.detail.GetMumentHistoryUseCase import kotlinx.coroutines.flow.Flow import javax.inject.Inject diff --git a/domain/src/main/java/com/mument_android/domain/usecase/detail/ReportMumentUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/detail/ReportMumentUseCaseImpl.kt similarity index 60% rename from domain/src/main/java/com/mument_android/domain/usecase/detail/ReportMumentUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/detail/ReportMumentUseCaseImpl.kt index c77b99964..043b8b81b 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/detail/ReportMumentUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/detail/ReportMumentUseCaseImpl.kt @@ -1,16 +1,13 @@ -package com.mument_android.domain.usecase.detail +package com.mument_android.data.usecase.detail -import com.mument_android.core.network.ApiStatus import com.mument_android.domain.entity.detail.ReportRequest -import com.mument_android.domain.repository.detail.BlockUserRepository import com.mument_android.domain.repository.detail.MumentDetailRepository -import com.mument_android.domain.repository.detail.MusicDetailRepository -import kotlinx.coroutines.flow.Flow +import com.mument_android.domain.usecase.detail.ReportMumentUseCase import javax.inject.Inject class ReportMumentUseCaseImpl @Inject constructor( private val mumentDetailRepository: MumentDetailRepository -): ReportMumentUseCase { +) : ReportMumentUseCase { override suspend fun reportMuemnt(mumentId: String, reportRequest: ReportRequest): Void? { return mumentDetailRepository.reportMument(mumentId, reportRequest) } diff --git a/domain/src/main/java/com/mument_android/domain/usecase/home/BeforeWhenHomeEnterUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/home/BeforeWhenHomeEnterUseCaseImpl.kt similarity index 78% rename from domain/src/main/java/com/mument_android/domain/usecase/home/BeforeWhenHomeEnterUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/home/BeforeWhenHomeEnterUseCaseImpl.kt index c7b9aade4..3247ceb24 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/home/BeforeWhenHomeEnterUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/home/BeforeWhenHomeEnterUseCaseImpl.kt @@ -1,6 +1,7 @@ -package com.mument_android.domain.usecase.home +package com.mument_android.data.usecase.home import com.mument_android.domain.repository.home.HomeRepository +import com.mument_android.domain.usecase.home.BeforeWhenHomeEnterUseCase import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow import javax.inject.Inject diff --git a/domain/src/main/java/com/mument_android/domain/usecase/home/CRURecentSearchListUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/home/CRURecentSearchListUseCaseImpl.kt similarity index 84% rename from domain/src/main/java/com/mument_android/domain/usecase/home/CRURecentSearchListUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/home/CRURecentSearchListUseCaseImpl.kt index b7df122d5..3b142479a 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/home/CRURecentSearchListUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/home/CRURecentSearchListUseCaseImpl.kt @@ -1,7 +1,8 @@ -package com.mument_android.domain.usecase.home +package com.mument_android.data.usecase.home import com.mument_android.domain.entity.home.RecentSearchData import com.mument_android.domain.repository.home.HomeRepository +import com.mument_android.domain.usecase.home.CRURecentSearchListUseCase import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow import javax.inject.Inject diff --git a/domain/src/main/java/com/mument_android/domain/usecase/home/DeleteRecentSearchListUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/home/DeleteRecentSearchListUseCaseImpl.kt similarity index 81% rename from domain/src/main/java/com/mument_android/domain/usecase/home/DeleteRecentSearchListUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/home/DeleteRecentSearchListUseCaseImpl.kt index 800a7994b..c67d97345 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/home/DeleteRecentSearchListUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/home/DeleteRecentSearchListUseCaseImpl.kt @@ -1,7 +1,8 @@ -package com.mument_android.domain.usecase.home +package com.mument_android.data.usecase.home import com.mument_android.domain.entity.home.RecentSearchData import com.mument_android.domain.repository.home.HomeRepository +import com.mument_android.domain.usecase.home.DeleteRecentSearchListUseCase import javax.inject.Inject class DeleteRecentSearchListUseCaseImpl @Inject constructor(private val homeRepository: HomeRepository) : diff --git a/domain/src/main/java/com/mument_android/domain/usecase/home/SearchMusicUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/home/SearchMusicUseCaseImpl.kt similarity index 81% rename from domain/src/main/java/com/mument_android/domain/usecase/home/SearchMusicUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/home/SearchMusicUseCaseImpl.kt index ed4935b8d..2f9a6ceb4 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/home/SearchMusicUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/home/SearchMusicUseCaseImpl.kt @@ -1,10 +1,10 @@ -package com.mument_android.domain.usecase.home +package com.mument_android.data.usecase.home import com.mument_android.domain.entity.home.RecentSearchData import com.mument_android.domain.repository.home.HomeRepository +import com.mument_android.domain.usecase.home.SearchMusicUseCase import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow -import kotlinx.coroutines.flow.launchIn import javax.inject.Inject class SearchMusicUseCaseImpl @Inject constructor(val homeRepository: HomeRepository) : diff --git a/domain/src/main/java/com/mument_android/domain/usecase/home/WhenHomeEnterUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/home/WhenHomeEnterUseCaseImpl.kt similarity index 91% rename from domain/src/main/java/com/mument_android/domain/usecase/home/WhenHomeEnterUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/home/WhenHomeEnterUseCaseImpl.kt index 796ecfe1e..70b0e582e 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/home/WhenHomeEnterUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/home/WhenHomeEnterUseCaseImpl.kt @@ -1,10 +1,11 @@ -package com.mument_android.domain.usecase.home +package com.mument_android.data.usecase.home import com.mument_android.domain.entity.home.AgainMumentEntity import com.mument_android.domain.entity.home.BannerEntity import com.mument_android.domain.entity.home.RandomMumentEntity import com.mument_android.domain.entity.home.TodayMument import com.mument_android.domain.repository.home.HomeRepository +import com.mument_android.domain.usecase.home.WhenHomeEnterUseCase import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow import javax.inject.Inject diff --git a/domain/src/main/java/com/mument_android/domain/usecase/locker/FetchMyLikeListUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/locker/FetchMyLikeListUseCaseImpl.kt similarity index 65% rename from domain/src/main/java/com/mument_android/domain/usecase/locker/FetchMyLikeListUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/locker/FetchMyLikeListUseCaseImpl.kt index 25c4f24c2..5948cd8b4 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/locker/FetchMyLikeListUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/locker/FetchMyLikeListUseCaseImpl.kt @@ -1,14 +1,16 @@ -package com.mument_android.domain.usecase.locker +package com.mument_android.data.usecase.locker import com.mument_android.domain.entity.locker.LockerMumentEntity import com.mument_android.domain.repository.locker.LockerRepository +import com.mument_android.domain.usecase.locker.FetchMyLikeListUseCase import kotlinx.coroutines.flow.Flow import javax.inject.Inject + class FetchMyLikeListUseCaseImpl @Inject constructor( private val lockerRepository: LockerRepository -): FetchMyLikeListUseCase { +) : FetchMyLikeListUseCase { override suspend fun invoke(tag1: Int?, tag2: Int?, tag3: Int?): Flow> { - return lockerRepository.fetchLockerLikeList(tag1, tag2, tag3) + return lockerRepository.fetchLockerLikeList(tag1, tag2, tag3) } } diff --git a/domain/src/main/java/com/mument_android/domain/usecase/locker/FetchMyMumentListUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/locker/FetchMyMumentListUseCaseImpl.kt similarity index 65% rename from domain/src/main/java/com/mument_android/domain/usecase/locker/FetchMyMumentListUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/locker/FetchMyMumentListUseCaseImpl.kt index 8773d34c6..53a60d794 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/locker/FetchMyMumentListUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/locker/FetchMyMumentListUseCaseImpl.kt @@ -1,14 +1,16 @@ -package com.mument_android.domain.usecase.locker +package com.mument_android.data.usecase.locker import com.mument_android.domain.entity.locker.LockerMumentEntity import com.mument_android.domain.repository.locker.LockerRepository +import com.mument_android.domain.usecase.locker.FetchMyMumentListUseCase import kotlinx.coroutines.flow.Flow import javax.inject.Inject + class FetchMyMumentListUseCaseImpl @Inject constructor( private val lockerRepository: LockerRepository -): FetchMyMumentListUseCase { +) : FetchMyMumentListUseCase { override suspend fun invoke(tag1: Int?, tag2: Int?, tag3: Int?): Flow> { - return lockerRepository.fetchLockerMumentList(tag1, tag2, tag3) + return lockerRepository.fetchLockerMumentList(tag1, tag2, tag3) } } diff --git a/domain/src/main/java/com/mument_android/domain/usecase/main/CancelLikeMumentUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/main/CancelLikeMumentUseCaseImpl.kt similarity index 77% rename from domain/src/main/java/com/mument_android/domain/usecase/main/CancelLikeMumentUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/main/CancelLikeMumentUseCaseImpl.kt index 981b68707..99a82fe3a 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/main/CancelLikeMumentUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/main/CancelLikeMumentUseCaseImpl.kt @@ -1,6 +1,7 @@ -package com.mument_android.domain.usecase.main +package com.mument_android.data.usecase.main import com.mument_android.domain.repository.main.LikeMumentRepository +import com.mument_android.domain.usecase.main.CancelLikeMumentUseCase import kotlinx.coroutines.flow.Flow import javax.inject.Inject diff --git a/domain/src/main/java/com/mument_android/domain/usecase/main/LikeMumentUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/main/LikeMumentUseCaseImpl.kt similarity index 77% rename from domain/src/main/java/com/mument_android/domain/usecase/main/LikeMumentUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/main/LikeMumentUseCaseImpl.kt index a91a43dfc..fd0e0b80b 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/main/LikeMumentUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/main/LikeMumentUseCaseImpl.kt @@ -1,6 +1,7 @@ -package com.mument_android.domain.usecase.main +package com.mument_android.data.usecase.main import com.mument_android.domain.repository.main.LikeMumentRepository +import com.mument_android.domain.usecase.main.LikeMumentUseCase import kotlinx.coroutines.flow.Flow import javax.inject.Inject diff --git a/domain/src/main/java/com/mument_android/domain/usecase/mypage/DeleteBlockUserUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/mypage/DeleteBlockUserUseCaseImpl.kt similarity index 78% rename from domain/src/main/java/com/mument_android/domain/usecase/mypage/DeleteBlockUserUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/mypage/DeleteBlockUserUseCaseImpl.kt index 766291076..12835c021 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/mypage/DeleteBlockUserUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/mypage/DeleteBlockUserUseCaseImpl.kt @@ -1,6 +1,7 @@ -package com.mument_android.domain.usecase.mypage +package com.mument_android.data.usecase.mypage import com.mument_android.domain.repository.mypage.BlockUserListRepository +import com.mument_android.domain.usecase.mypage.DeleteBlockUserUseCase import kotlinx.coroutines.flow.Flow import javax.inject.Inject diff --git a/domain/src/main/java/com/mument_android/domain/usecase/mypage/FetchBlockUserUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/mypage/FetchBlockUserUseCaseImpl.kt similarity index 80% rename from domain/src/main/java/com/mument_android/domain/usecase/mypage/FetchBlockUserUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/mypage/FetchBlockUserUseCaseImpl.kt index 1edd53116..37d59758c 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/mypage/FetchBlockUserUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/mypage/FetchBlockUserUseCaseImpl.kt @@ -1,7 +1,8 @@ -package com.mument_android.domain.usecase.mypage +package com.mument_android.data.usecase.mypage import com.mument_android.domain.entity.mypage.BlockUserEntity import com.mument_android.domain.repository.mypage.BlockUserListRepository +import com.mument_android.domain.usecase.mypage.FetchBlockUserUseCase import kotlinx.coroutines.flow.Flow import javax.inject.Inject diff --git a/domain/src/main/java/com/mument_android/domain/usecase/mypage/FetchNoticeDetailUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/mypage/FetchNoticeDetailUseCaseImpl.kt similarity index 80% rename from domain/src/main/java/com/mument_android/domain/usecase/mypage/FetchNoticeDetailUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/mypage/FetchNoticeDetailUseCaseImpl.kt index 3ee002e61..a1eb6a765 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/mypage/FetchNoticeDetailUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/mypage/FetchNoticeDetailUseCaseImpl.kt @@ -1,7 +1,8 @@ -package com.mument_android.domain.usecase.mypage +package com.mument_android.data.usecase.mypage import com.mument_android.domain.entity.mypage.NoticeListEntity import com.mument_android.domain.repository.mypage.NoticeListRepository +import com.mument_android.domain.usecase.mypage.FetchNoticeDetailUseCase import kotlinx.coroutines.flow.Flow import javax.inject.Inject diff --git a/domain/src/main/java/com/mument_android/domain/usecase/mypage/FetchNoticeListUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/mypage/FetchNoticeListUseCaseImpl.kt similarity index 74% rename from domain/src/main/java/com/mument_android/domain/usecase/mypage/FetchNoticeListUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/mypage/FetchNoticeListUseCaseImpl.kt index 18ea1886a..0d665d04f 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/mypage/FetchNoticeListUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/mypage/FetchNoticeListUseCaseImpl.kt @@ -1,13 +1,14 @@ -package com.mument_android.domain.usecase.mypage +package com.mument_android.data.usecase.mypage import com.mument_android.domain.entity.mypage.NoticeListEntity import com.mument_android.domain.repository.mypage.NoticeListRepository +import com.mument_android.domain.usecase.mypage.FetchNoticeListUseCase import kotlinx.coroutines.flow.Flow import javax.inject.Inject class FetchNoticeListUseCaseImpl @Inject constructor( private val noticeListRepository: NoticeListRepository -):FetchNoticeListUseCase{ +) : FetchNoticeListUseCase { override suspend fun invoke(): Flow> = noticeListRepository.fetchNoticeList() diff --git a/domain/src/main/java/com/mument_android/domain/usecase/mypage/FetchUnregisterInfoUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/mypage/FetchUnregisterInfoUseCaseImpl.kt similarity index 81% rename from domain/src/main/java/com/mument_android/domain/usecase/mypage/FetchUnregisterInfoUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/mypage/FetchUnregisterInfoUseCaseImpl.kt index e2e71aba0..2385e26b2 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/mypage/FetchUnregisterInfoUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/mypage/FetchUnregisterInfoUseCaseImpl.kt @@ -1,8 +1,8 @@ -package com.mument_android.domain.usecase.mypage +package com.mument_android.data.usecase.mypage import com.mument_android.domain.entity.mypage.RequestUnregisterEntity -import com.mument_android.domain.entity.mypage.UnregisterEntity import com.mument_android.domain.repository.mypage.UnregisterRepository +import com.mument_android.domain.usecase.mypage.FetchUnregisterInfoUseCase import kotlinx.coroutines.flow.Flow import javax.inject.Inject diff --git a/domain/src/main/java/com/mument_android/domain/usecase/mypage/LogOutUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/mypage/LogOutUseCaseImpl.kt similarity index 73% rename from domain/src/main/java/com/mument_android/domain/usecase/mypage/LogOutUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/mypage/LogOutUseCaseImpl.kt index 1a21f6244..6c275b4a3 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/mypage/LogOutUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/mypage/LogOutUseCaseImpl.kt @@ -1,6 +1,7 @@ -package com.mument_android.domain.usecase.mypage +package com.mument_android.data.usecase.mypage import com.mument_android.domain.repository.mypage.LogOutRepository +import com.mument_android.domain.usecase.mypage.LogOutUseCase import javax.inject.Inject class LogOutUseCaseImpl @Inject constructor( diff --git a/domain/src/main/java/com/mument_android/domain/usecase/mypage/PostUnregisterReasonUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/mypage/PostUnregisterReasonUseCaseImpl.kt similarity index 82% rename from domain/src/main/java/com/mument_android/domain/usecase/mypage/PostUnregisterReasonUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/mypage/PostUnregisterReasonUseCaseImpl.kt index 3d8831e27..7e00ed2ce 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/mypage/PostUnregisterReasonUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/mypage/PostUnregisterReasonUseCaseImpl.kt @@ -1,8 +1,8 @@ -package com.mument_android.domain.usecase.mypage +package com.mument_android.data.usecase.mypage import com.mument_android.domain.entity.mypage.RequestUnregisterReasonEntity -import com.mument_android.domain.entity.mypage.UnregisterReasonEntity import com.mument_android.domain.repository.mypage.UnregisterReasonRepository +import com.mument_android.domain.usecase.mypage.PostUnregisterReasonUseCase import kotlinx.coroutines.flow.Flow import javax.inject.Inject diff --git a/domain/src/main/java/com/mument_android/domain/usecase/mypage/UserInfoUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/mypage/UserInfoUseCaseImpl.kt similarity index 73% rename from domain/src/main/java/com/mument_android/domain/usecase/mypage/UserInfoUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/mypage/UserInfoUseCaseImpl.kt index 90f3c68e3..8348bdb23 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/mypage/UserInfoUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/mypage/UserInfoUseCaseImpl.kt @@ -1,12 +1,13 @@ -package com.mument_android.domain.usecase.mypage +package com.mument_android.data.usecase.mypage import com.mument_android.domain.entity.mypage.UserInfoEntity import com.mument_android.domain.repository.mypage.UserInfoRepository +import com.mument_android.domain.usecase.mypage.UserInfoUseCase import javax.inject.Inject class UserInfoUseCaseImpl @Inject constructor( private val userInfoRepository: UserInfoRepository -): UserInfoUseCase { +) : UserInfoUseCase { override suspend operator fun invoke(): UserInfoEntity { return userInfoRepository.userInfo() } diff --git a/domain/src/main/java/com/mument_android/domain/usecase/notify/FetchNotifyListDeleteUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/notify/FetchNotifyListDeleteUseCaseImpl.kt similarity index 78% rename from domain/src/main/java/com/mument_android/domain/usecase/notify/FetchNotifyListDeleteUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/notify/FetchNotifyListDeleteUseCaseImpl.kt index f349dab87..ccddc6b36 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/notify/FetchNotifyListDeleteUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/notify/FetchNotifyListDeleteUseCaseImpl.kt @@ -1,6 +1,7 @@ -package com.mument_android.domain.usecase.notify +package com.mument_android.data.usecase.notify import com.mument_android.domain.repository.notify.NotifyRepository +import com.mument_android.domain.usecase.notify.FetchNotifyListDeleteUseCase import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow import javax.inject.Inject diff --git a/domain/src/main/java/com/mument_android/domain/usecase/notify/FetchNotifyListUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/notify/FetchNotifyListUseCaseImpl.kt similarity index 82% rename from domain/src/main/java/com/mument_android/domain/usecase/notify/FetchNotifyListUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/notify/FetchNotifyListUseCaseImpl.kt index fa599700b..984fc61b0 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/notify/FetchNotifyListUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/notify/FetchNotifyListUseCaseImpl.kt @@ -1,8 +1,9 @@ -package com.mument_android.domain.usecase.notify +package com.mument_android.data.usecase.notify import com.mument_android.core.network.ApiStatus import com.mument_android.domain.entity.home.NotifyEntity import com.mument_android.domain.repository.notify.NotifyRepository +import com.mument_android.domain.usecase.notify.FetchNotifyListUseCase import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow import javax.inject.Inject diff --git a/domain/src/main/java/com/mument_android/domain/usecase/notify/FetchNotifyListsReadUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/notify/FetchNotifyListsReadUseCaseImpl.kt similarity index 78% rename from domain/src/main/java/com/mument_android/domain/usecase/notify/FetchNotifyListsReadUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/notify/FetchNotifyListsReadUseCaseImpl.kt index ca2ceb341..e0b6b71c1 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/notify/FetchNotifyListsReadUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/notify/FetchNotifyListsReadUseCaseImpl.kt @@ -1,6 +1,7 @@ -package com.mument_android.domain.usecase.notify +package com.mument_android.data.usecase.notify import com.mument_android.domain.repository.notify.NotifyRepository +import com.mument_android.domain.usecase.notify.FetchNotifyListsReadUseCase import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow import javax.inject.Inject diff --git a/domain/src/main/java/com/mument_android/domain/usecase/record/IsFirstRecordMumentUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/record/IsFirstRecordMumentUseCaseImpl.kt similarity index 80% rename from domain/src/main/java/com/mument_android/domain/usecase/record/IsFirstRecordMumentUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/record/IsFirstRecordMumentUseCaseImpl.kt index 7d0470ea6..dc1b7d8a1 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/record/IsFirstRecordMumentUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/record/IsFirstRecordMumentUseCaseImpl.kt @@ -1,7 +1,8 @@ -package com.mument_android.domain.usecase.record +package com.mument_android.data.usecase.record import com.mument_android.domain.entity.record.RecordIsFirstEntity import com.mument_android.domain.repository.record.RecordRepository +import com.mument_android.domain.usecase.record.IsFirstRecordMumentUseCase import kotlinx.coroutines.flow.Flow import javax.inject.Inject diff --git a/domain/src/main/java/com/mument_android/domain/usecase/record/RecordModifyMumentUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/record/RecordModifyMumentUseCaseImpl.kt similarity index 81% rename from domain/src/main/java/com/mument_android/domain/usecase/record/RecordModifyMumentUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/record/RecordModifyMumentUseCaseImpl.kt index 357d1d57e..ebac3d55e 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/record/RecordModifyMumentUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/record/RecordModifyMumentUseCaseImpl.kt @@ -1,8 +1,8 @@ -package com.mument_android.domain.usecase.record +package com.mument_android.data.usecase.record import com.mument_android.domain.entity.record.MumentModifyEntity -import com.mument_android.domain.entity.record.MumentRecordEntity import com.mument_android.domain.repository.record.RecordRepository +import com.mument_android.domain.usecase.record.RecordModifyMumentUseCase import kotlinx.coroutines.flow.Flow import javax.inject.Inject diff --git a/domain/src/main/java/com/mument_android/domain/usecase/record/RecordMumentUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/record/RecordMumentUseCaseImpl.kt similarity index 81% rename from domain/src/main/java/com/mument_android/domain/usecase/record/RecordMumentUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/record/RecordMumentUseCaseImpl.kt index a72a037c8..47bc5d246 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/record/RecordMumentUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/record/RecordMumentUseCaseImpl.kt @@ -1,7 +1,8 @@ -package com.mument_android.domain.usecase.record +package com.mument_android.data.usecase.record import com.mument_android.domain.entity.record.MumentRecordEntity import com.mument_android.domain.repository.record.RecordRepository +import com.mument_android.domain.usecase.record.RecordMumentUseCase import kotlinx.coroutines.flow.Flow import javax.inject.Inject diff --git a/domain/src/main/java/com/mument_android/domain/usecase/sign/GetWebViewUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/sign/GetWebViewUseCaseImpl.kt similarity index 79% rename from domain/src/main/java/com/mument_android/domain/usecase/sign/GetWebViewUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/sign/GetWebViewUseCaseImpl.kt index 50de6fbc9..88595e7a4 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/sign/GetWebViewUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/sign/GetWebViewUseCaseImpl.kt @@ -1,7 +1,8 @@ -package com.mument_android.domain.usecase.sign +package com.mument_android.data.usecase.sign import com.mument_android.domain.entity.sign.WebViewEntity import com.mument_android.domain.repository.sign.SignRepository +import com.mument_android.domain.usecase.sign.GetWebViewUseCase import javax.inject.Inject class GetWebViewUseCaseImpl @Inject constructor( diff --git a/domain/src/main/java/com/mument_android/domain/usecase/sign/NewTokenUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/sign/NewTokenUseCaseImpl.kt similarity index 63% rename from domain/src/main/java/com/mument_android/domain/usecase/sign/NewTokenUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/sign/NewTokenUseCaseImpl.kt index 72164a297..c94284d10 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/sign/NewTokenUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/sign/NewTokenUseCaseImpl.kt @@ -1,12 +1,13 @@ -package com.mument_android.domain.usecase.sign +package com.mument_android.data.usecase.sign import com.mument_android.domain.entity.sign.NewTokenEntity import com.mument_android.domain.repository.sign.SignRepository +import com.mument_android.domain.usecase.sign.NewTokenUseCase import javax.inject.Inject class NewTokenUseCaseImpl @Inject constructor( - private val signRepository : SignRepository -): NewTokenUseCase { + private val signRepository: SignRepository +) : NewTokenUseCase { override suspend fun newToken(): NewTokenEntity? { return signRepository.newToken() } diff --git a/domain/src/main/java/com/mument_android/domain/usecase/sign/SignDulCheckUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/sign/SignDulCheckUseCaseImpl.kt similarity index 59% rename from domain/src/main/java/com/mument_android/domain/usecase/sign/SignDulCheckUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/sign/SignDulCheckUseCaseImpl.kt index 034513d78..d8b455db5 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/sign/SignDulCheckUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/sign/SignDulCheckUseCaseImpl.kt @@ -1,11 +1,12 @@ -package com.mument_android.domain.usecase.sign +package com.mument_android.data.usecase.sign import com.mument_android.domain.repository.sign.SignRepository +import com.mument_android.domain.usecase.sign.SignDulCheckUseCase import javax.inject.Inject class SignDulCheckUseCaseImpl @Inject constructor( - private val signRepository : SignRepository -): SignDulCheckUseCase { + private val signRepository: SignRepository +) : SignDulCheckUseCase { override suspend fun dupCheckNickname(userName: String): Int { return signRepository.signDupCheck(userName) } diff --git a/domain/src/main/java/com/mument_android/domain/usecase/sign/SignKaKaoUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/sign/SignKaKaoUseCaseImpl.kt similarity index 70% rename from domain/src/main/java/com/mument_android/domain/usecase/sign/SignKaKaoUseCaseImpl.kt rename to data/src/main/java/com/mument_android/data/usecase/sign/SignKaKaoUseCaseImpl.kt index aae729a82..e8435f68f 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/sign/SignKaKaoUseCaseImpl.kt +++ b/data/src/main/java/com/mument_android/data/usecase/sign/SignKaKaoUseCaseImpl.kt @@ -1,13 +1,14 @@ -package com.mument_android.domain.usecase.sign +package com.mument_android.data.usecase.sign import com.mument_android.domain.entity.sign.KakaoEntity import com.mument_android.domain.entity.sign.RequestKakaoData import com.mument_android.domain.repository.sign.SignRepository +import com.mument_android.domain.usecase.sign.SignKaKaoUseCase import javax.inject.Inject class SignKaKaoUseCaseImpl @Inject constructor( - private val signRepository : SignRepository -): SignKaKaoUseCase { + private val signRepository: SignRepository +) : SignKaKaoUseCase { override suspend fun kakaoLogin(requestKakaoData: RequestKakaoData): KakaoEntity? { return signRepository.kakaoLogin(requestKakaoData) diff --git a/data/src/main/java/com/mument_android/data/usecase/sign/SignPutProfileUseCaseImpl.kt b/data/src/main/java/com/mument_android/data/usecase/sign/SignPutProfileUseCaseImpl.kt new file mode 100644 index 000000000..b49fd8df4 --- /dev/null +++ b/data/src/main/java/com/mument_android/data/usecase/sign/SignPutProfileUseCaseImpl.kt @@ -0,0 +1,17 @@ +package com.mument_android.data.usecase.sign + +import com.mument_android.domain.entity.sign.SetProfileEntity +import com.mument_android.domain.repository.sign.SignRepository +import com.mument_android.domain.usecase.sign.SignPutProfileUseCase +import javax.inject.Inject + +class SignPutProfileUseCaseImpl @Inject constructor( + private val signRepository: SignRepository +) : SignPutProfileUseCase { + override suspend fun invoke( + imageArray: ByteArray, imageType: String, nickName:String + ): SetProfileEntity? { + return signRepository.signSetProfile(imageArray, imageType, nickName) + } +} + diff --git a/feature/login/src/main/java/com/mument_android/login/util/MultipartResolver.kt b/data/src/main/java/com/mument_android/data/util/MultipartResolver.kt similarity index 51% rename from feature/login/src/main/java/com/mument_android/login/util/MultipartResolver.kt rename to data/src/main/java/com/mument_android/data/util/MultipartResolver.kt index 2884ce6a8..483097928 100644 --- a/feature/login/src/main/java/com/mument_android/login/util/MultipartResolver.kt +++ b/data/src/main/java/com/mument_android/data/util/MultipartResolver.kt @@ -1,56 +1,28 @@ -package com.mument_android.login.util +package com.mument_android.data.util import android.content.Context import android.graphics.Bitmap -import android.graphics.BitmapFactory import android.graphics.Matrix import android.media.ExifInterface import android.net.Uri +import dagger.hilt.android.qualifiers.ApplicationContext import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MultipartBody import okhttp3.RequestBody.Companion.toRequestBody -import java.io.ByteArrayOutputStream import java.io.File import java.io.IOException -import java.io.InputStream import java.util.* +import javax.inject.Inject -class MultipartResolver(private val context: Context) { - private val byteArrayOutputStream = ByteArrayOutputStream() +class MultipartResolver @Inject constructor(@ApplicationContext private val context: Context) { - fun createImageMultiPart(uri: Bitmap?): MultipartBody.Part { - /*var resizedWidth = RESIZED_SIZE - var resizedHeight = RESIZED_SIZE - val options = BitmapFactory.Options()*/ - /*val inputStream = context.contentResolver.openInputStream(uri)*/ -/* - val byteArrayOutputStream = ByteArrayOutputStream() - getRotatedBitmap( - BitmapFactory.decodeStream(inputStream, null, options), - getOrientationOfImage(uri) - )?.let { - if (it.width >= RESIZED_SIZE && it.height >= RESIZED_SIZE) { - if (it.width >= it.height) { - resizedWidth = resizedHeight * (it.width.toFloat() / it.height.toFloat()) - } else { - resizedHeight = resizedWidth * (it.height.toFloat() / it.width.toFloat()) - } - } else { - resizedWidth = it.width.toFloat() - resizedHeight = it.height.toFloat() - }*/ - - if (uri != null) { - Bitmap.createBitmap(uri) - .compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream) - } - //uri -> image -> file(uri.toString).name(자원 위치) -> byteArray() -> MultiPart - //} + fun createImageMultiPart(array: ByteArray): MultipartBody.Part? { val file = File(replaceFileName(UUID.randomUUID().toString())) - val surveyBody = - byteArrayOutputStream.toByteArray().toRequestBody("image/png".toMediaTypeOrNull()) - return MultipartBody.Part.createFormData("image", file.name, surveyBody) + "image/png".toMediaTypeOrNull()?.let { + val surveyBody = array.toRequestBody(it) + return MultipartBody.Part.createFormData("image", file.name, surveyBody) + } ?: return null } @Throws(Exception::class) diff --git a/domain/src/main/java/com/mument_android/domain/util/NetworkExtensions.kt b/data/src/main/java/com/mument_android/data/util/NetworkExtensions.kt similarity index 95% rename from domain/src/main/java/com/mument_android/domain/util/NetworkExtensions.kt rename to data/src/main/java/com/mument_android/data/util/NetworkExtensions.kt index c1ffd1fb0..396eb7be3 100644 --- a/domain/src/main/java/com/mument_android/domain/util/NetworkExtensions.kt +++ b/data/src/main/java/com/mument_android/data/util/NetworkExtensions.kt @@ -1,8 +1,9 @@ -package com.mument_android.domain.util +package com.mument_android.data.util import com.mument_android.core.base.BaseMapper import com.mument_android.core.network.ApiStatus import com.mument_android.core.network.ErrorMessage +import com.mument_android.domain.util.ErrorHandler import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.catch import kotlinx.coroutines.flow.map diff --git a/domain/build.gradle.kts b/domain/build.gradle.kts index 7cbf27213..6126fcafb 100644 --- a/domain/build.gradle.kts +++ b/domain/build.gradle.kts @@ -1,49 +1,18 @@ plugins { - id("com.android.library") - id("org.jetbrains.kotlin.android") - id("kotlin-parcelize") + kotlin("jvm") id("kotlin-kapt") } -android { - namespace = "com.mument_android.domain" - compileSdk = DefaultConfig.COMPILE_SDK - - defaultConfig { - minSdk = DefaultConfig.MIN_SDK - testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" - consumerProguardFiles("consumer-rules.pro") - } - - buildTypes { - release { - isMinifyEnabled = false - proguardFiles( - getDefaultProguardFile("proguard-android-optimize.txt"), - "proguard-rules.pro" - ) - } - } - compileOptions { - sourceCompatibility = Versions.javaVersion - targetCompatibility = Versions.javaVersion - } - kotlinOptions { - jvmTarget = DefaultConfig.JVM_TARGET - } - - buildFeatures { - buildConfig = true - } +java { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } dependencies { - addTestDependencies() - addNetworkDependencies() - addDaggerHiltDependencies() + implementation(KotlinDependencies.annotation) implementation(KotlinDependencies.kotlinxSerialization) implementation(KotlinDependencies.coroutines) implementation(AndroidXDependencies.pagingCommon) + addOnlyTestDependencies() implementation(project(Modules.CORE_MODULE)) - implementation(project(Modules.CORE_DEPENDENT_MODULE)) } diff --git a/domain/src/main/java/com/mument_android/domain/entity/TempBannerData.kt b/domain/src/main/java/com/mument_android/domain/entity/TempBannerData.kt deleted file mode 100644 index 208b8a5b0..000000000 --- a/domain/src/main/java/com/mument_android/domain/entity/TempBannerData.kt +++ /dev/null @@ -1,9 +0,0 @@ -package com.mument_android.domain.entity - -data class TempBannerData( - val backgroundImage: String, - val content: String, - val image: String, - val title: String, - val artist: String -) diff --git a/domain/src/main/java/com/mument_android/domain/entity/detail/MumentDetailEntity.kt b/domain/src/main/java/com/mument_android/domain/entity/detail/MumentDetailEntity.kt index b2f85637a..31cfebb79 100644 --- a/domain/src/main/java/com/mument_android/domain/entity/detail/MumentDetailEntity.kt +++ b/domain/src/main/java/com/mument_android/domain/entity/detail/MumentDetailEntity.kt @@ -1,7 +1,6 @@ package com.mument_android.domain.entity.detail import java.io.Serializable - data class MumentDetailEntity( val mument: MumentEntity, val likeCount: Int, diff --git a/domain/src/main/java/com/mument_android/domain/entity/detail/MumentEntity.kt b/domain/src/main/java/com/mument_android/domain/entity/detail/MumentEntity.kt index e4be0c7f0..1dc6fa516 100644 --- a/domain/src/main/java/com/mument_android/domain/entity/detail/MumentEntity.kt +++ b/domain/src/main/java/com/mument_android/domain/entity/detail/MumentEntity.kt @@ -1,7 +1,6 @@ package com.mument_android.domain.entity.detail import com.mument_android.core.model.TagEntity -import com.mument_android.domain.entity.music.MusicInfoEntity import com.mument_android.domain.entity.user.UserEntity data class MumentEntity( diff --git a/domain/src/main/java/com/mument_android/domain/entity/detail/MusicWithMyMumentEntity.kt b/domain/src/main/java/com/mument_android/domain/entity/detail/MusicWithMyMumentEntity.kt index e5adc2b00..4d5435e11 100644 --- a/domain/src/main/java/com/mument_android/domain/entity/detail/MusicWithMyMumentEntity.kt +++ b/domain/src/main/java/com/mument_android/domain/entity/detail/MusicWithMyMumentEntity.kt @@ -1,7 +1,6 @@ package com.mument_android.domain.entity.detail import com.mument_android.domain.entity.music.MusicInfoEntity - data class MusicWithMyMumentEntity( val music: MusicInfoEntity, val myMument: MumentSummaryEntity? diff --git a/domain/src/main/java/com/mument_android/domain/entity/detail/ReportRequest.kt b/domain/src/main/java/com/mument_android/domain/entity/detail/ReportRequest.kt index de31ac6e3..9f3d45bab 100644 --- a/domain/src/main/java/com/mument_android/domain/entity/detail/ReportRequest.kt +++ b/domain/src/main/java/com/mument_android/domain/entity/detail/ReportRequest.kt @@ -1,5 +1,4 @@ package com.mument_android.domain.entity.detail - data class ReportRequest( val etcContent: String, val reportCategory: List diff --git a/domain/src/main/java/com/mument_android/domain/entity/history/HistoryRequestParams.kt b/domain/src/main/java/com/mument_android/domain/entity/history/HistoryRequestParams.kt deleted file mode 100644 index 5f5b98db7..000000000 --- a/domain/src/main/java/com/mument_android/domain/entity/history/HistoryRequestParams.kt +++ /dev/null @@ -1,6 +0,0 @@ -package com.mument_android.domain.entity.history - -data class HistoryRequestParams( - val userId: String, - val musicId: String, - val default:String) diff --git a/domain/src/main/java/com/mument_android/domain/entity/history/MumentHistory.kt b/domain/src/main/java/com/mument_android/domain/entity/history/MumentHistory.kt index 5856d6854..9111a5201 100644 --- a/domain/src/main/java/com/mument_android/domain/entity/history/MumentHistory.kt +++ b/domain/src/main/java/com/mument_android/domain/entity/history/MumentHistory.kt @@ -1,7 +1,6 @@ package com.mument_android.domain.entity.history import com.mument_android.domain.entity.User - data class MumentHistory( val _id: Int, val musicId: String, diff --git a/domain/src/main/java/com/mument_android/domain/entity/history/MusicX.kt b/domain/src/main/java/com/mument_android/domain/entity/history/MusicX.kt index a604632ac..979f44163 100644 --- a/domain/src/main/java/com/mument_android/domain/entity/history/MusicX.kt +++ b/domain/src/main/java/com/mument_android/domain/entity/history/MusicX.kt @@ -1,7 +1,5 @@ package com.mument_android.domain.entity.history - import androidx.annotation.Keep - @Keep data class MusicX( val _id: String, diff --git a/domain/src/main/java/com/mument_android/domain/entity/home/AgainMumentEntity.kt b/domain/src/main/java/com/mument_android/domain/entity/home/AgainMumentEntity.kt index ef785b069..cd8318fe1 100644 --- a/domain/src/main/java/com/mument_android/domain/entity/home/AgainMumentEntity.kt +++ b/domain/src/main/java/com/mument_android/domain/entity/home/AgainMumentEntity.kt @@ -1,6 +1,6 @@ package com.mument_android.domain.entity.home -import com.mument_android.domain.entity.musicdetail.musicdetaildata.Music +import com.mument_android.domain.entity.musicdetail.Music import com.mument_android.domain.entity.User data class AgainMumentEntity( diff --git a/domain/src/main/java/com/mument_android/domain/entity/home/BannerEntity.kt b/domain/src/main/java/com/mument_android/domain/entity/home/BannerEntity.kt index 54a78f1a3..ba27b54b2 100644 --- a/domain/src/main/java/com/mument_android/domain/entity/home/BannerEntity.kt +++ b/domain/src/main/java/com/mument_android/domain/entity/home/BannerEntity.kt @@ -1,7 +1,7 @@ package com.mument_android.domain.entity.home import androidx.annotation.Keep -import com.mument_android.domain.entity.musicdetail.musicdetaildata.Music +import com.mument_android.domain.entity.musicdetail.Music @Keep data class BannerEntity( diff --git a/domain/src/main/java/com/mument_android/domain/entity/home/Like.kt b/domain/src/main/java/com/mument_android/domain/entity/home/Like.kt index 0c259bd43..49e53df0c 100644 --- a/domain/src/main/java/com/mument_android/domain/entity/home/Like.kt +++ b/domain/src/main/java/com/mument_android/domain/entity/home/Like.kt @@ -15,20 +15,6 @@ data class Like( val artist: String?, val image: String? ) - - fun changeMusic(): com.mument_android.domain.entity.musicdetail.musicdetaildata.Music? { - with(music) { - if (name != null && artist != null && image != null && id != null) { - return com.mument_android.domain.entity.musicdetail.musicdetaildata.Music( - id, - name, - artist, - image - ) - } - } - return null - } fun toMusicInfoEntity(): MusicInfoEntity? { with(music) { if (name != null && artist != null && image != null && id != null) { diff --git a/domain/src/main/java/com/mument_android/domain/entity/home/Mument.kt b/domain/src/main/java/com/mument_android/domain/entity/home/Mument.kt index b6f32102c..9305614cd 100644 --- a/domain/src/main/java/com/mument_android/domain/entity/home/Mument.kt +++ b/domain/src/main/java/com/mument_android/domain/entity/home/Mument.kt @@ -1,6 +1,6 @@ package com.mument_android.domain.entity.home -import com.mument_android.domain.entity.musicdetail.musicdetaildata.Music +import com.mument_android.domain.entity.musicdetail.Music import com.mument_android.domain.entity.User data class Mument( diff --git a/domain/src/main/java/com/mument_android/domain/entity/home/RandomMumentEntity.kt b/domain/src/main/java/com/mument_android/domain/entity/home/RandomMumentEntity.kt index f2a160c27..1541fecf9 100644 --- a/domain/src/main/java/com/mument_android/domain/entity/home/RandomMumentEntity.kt +++ b/domain/src/main/java/com/mument_android/domain/entity/home/RandomMumentEntity.kt @@ -1,6 +1,5 @@ package com.mument_android.domain.entity.home - data class RandomMumentEntity( val mumentList: List, val title: String diff --git a/domain/src/main/java/com/mument_android/domain/entity/home/RecentSearchData.kt b/domain/src/main/java/com/mument_android/domain/entity/home/RecentSearchData.kt index 26fd7093f..4226b1134 100644 --- a/domain/src/main/java/com/mument_android/domain/entity/home/RecentSearchData.kt +++ b/domain/src/main/java/com/mument_android/domain/entity/home/RecentSearchData.kt @@ -1,20 +1,18 @@ package com.mument_android.domain.entity.home -import android.os.Parcelable import androidx.annotation.Keep import com.mument_android.domain.entity.music.MusicInfoEntity -import kotlinx.parcelize.Parcelize +import java.io.Serializable import java.util.Date @Keep -@Parcelize data class RecentSearchData( val _id: String, val artist: String, val image: String, val name: String, val createAt: Date?, -):Parcelable { +): Serializable { fun toMusicInfo(): MusicInfoEntity { return MusicInfoEntity( id = _id, diff --git a/domain/src/main/java/com/mument_android/domain/entity/music/MusicInfoEntity.kt b/domain/src/main/java/com/mument_android/domain/entity/music/MusicInfoEntity.kt index c26b7708d..747f3301d 100644 --- a/domain/src/main/java/com/mument_android/domain/entity/music/MusicInfoEntity.kt +++ b/domain/src/main/java/com/mument_android/domain/entity/music/MusicInfoEntity.kt @@ -1,19 +1,17 @@ package com.mument_android.domain.entity.music -import android.os.Parcelable import androidx.annotation.Keep import com.mument_android.domain.entity.detail.MusicReqeust -import com.mument_android.domain.entity.musicdetail.musicdetaildata.Music -import kotlinx.parcelize.Parcelize +import com.mument_android.domain.entity.musicdetail.Music +import java.io.Serializable -@Parcelize @Keep data class MusicInfoEntity( val id: String, val name: String, val thumbnail: String, val artist: String, -): Parcelable { +): Serializable { fun toMusic(): Music { return Music( _id = id, diff --git a/domain/src/main/java/com/mument_android/domain/entity/musicdetail/musicdetaildata/Music.kt b/domain/src/main/java/com/mument_android/domain/entity/musicdetail/Music.kt similarity index 68% rename from domain/src/main/java/com/mument_android/domain/entity/musicdetail/musicdetaildata/Music.kt rename to domain/src/main/java/com/mument_android/domain/entity/musicdetail/Music.kt index a60a51f1a..168c3e573 100644 --- a/domain/src/main/java/com/mument_android/domain/entity/musicdetail/musicdetaildata/Music.kt +++ b/domain/src/main/java/com/mument_android/domain/entity/musicdetail/Music.kt @@ -1,18 +1,16 @@ -package com.mument_android.domain.entity.musicdetail.musicdetaildata +package com.mument_android.domain.entity.musicdetail -import android.os.Parcelable import androidx.annotation.Keep import com.mument_android.domain.entity.music.MusicInfoEntity -import kotlinx.parcelize.Parcelize +import java.io.Serializable -@Parcelize @Keep data class Music( val _id: String, val name: String, val artist: String, val image: String -):Parcelable { +) : Serializable { fun toMusicInfoEntity(): MusicInfoEntity { return MusicInfoEntity(id = _id, name = name, thumbnail = image, artist = artist) } diff --git a/domain/src/main/java/com/mument_android/domain/entity/musicdetail/MusicDetailEntity.kt b/domain/src/main/java/com/mument_android/domain/entity/musicdetail/MusicDetailEntity.kt deleted file mode 100644 index 4f16e9839..000000000 --- a/domain/src/main/java/com/mument_android/domain/entity/musicdetail/MusicDetailEntity.kt +++ /dev/null @@ -1,9 +0,0 @@ -package com.mument_android.domain.entity.musicdetail - -import com.mument_android.domain.entity.musicdetail.musicdetaildata.Music -import com.mument_android.domain.entity.musicdetail.musicdetaildata.MyMument - -data class MusicDetailEntity( - val music: Music, - val myMument: MyMument -) \ No newline at end of file diff --git a/domain/src/main/java/com/mument_android/domain/entity/musicdetail/musicdetaildata/MyMument.kt b/domain/src/main/java/com/mument_android/domain/entity/musicdetail/MyMument.kt similarity index 83% rename from domain/src/main/java/com/mument_android/domain/entity/musicdetail/musicdetaildata/MyMument.kt rename to domain/src/main/java/com/mument_android/domain/entity/musicdetail/MyMument.kt index 1e3eaf0d1..38c508102 100644 --- a/domain/src/main/java/com/mument_android/domain/entity/musicdetail/musicdetaildata/MyMument.kt +++ b/domain/src/main/java/com/mument_android/domain/entity/musicdetail/MyMument.kt @@ -1,4 +1,4 @@ -package com.mument_android.domain.entity.musicdetail.musicdetaildata +package com.mument_android.domain.entity.musicdetail import com.mument_android.domain.entity.User diff --git a/domain/src/main/java/com/mument_android/domain/entity/mypage/UnregisterReasonEntity.kt b/domain/src/main/java/com/mument_android/domain/entity/mypage/UnregisterReasonEntity.kt index 3a404e730..4bf8a6afd 100644 --- a/domain/src/main/java/com/mument_android/domain/entity/mypage/UnregisterReasonEntity.kt +++ b/domain/src/main/java/com/mument_android/domain/entity/mypage/UnregisterReasonEntity.kt @@ -1,6 +1,7 @@ package com.mument_android.domain.entity.mypage -import java.util.* +import java.util.Date + data class UnregisterReasonEntity( val id: Int, diff --git a/domain/src/main/java/com/mument_android/domain/entity/record/MumentModifyEntity.kt b/domain/src/main/java/com/mument_android/domain/entity/record/MumentModifyEntity.kt index c9f98b061..25c4ed09f 100644 --- a/domain/src/main/java/com/mument_android/domain/entity/record/MumentModifyEntity.kt +++ b/domain/src/main/java/com/mument_android/domain/entity/record/MumentModifyEntity.kt @@ -1,15 +1,13 @@ package com.mument_android.domain.entity.record -import android.os.Parcelable import androidx.annotation.Keep -import kotlinx.parcelize.Parcelize +import java.io.Serializable @Keep -@Parcelize data class MumentModifyEntity( val content: String, val feelingTag: List, val impressionTag: List, val isFirst: Boolean, val isPrivate: Boolean -):Parcelable +) : Serializable diff --git a/domain/src/main/java/com/mument_android/domain/entity/record/RecordIsFirstEntity.kt b/domain/src/main/java/com/mument_android/domain/entity/record/RecordIsFirstEntity.kt index f807cb311..d0c9d4c25 100644 --- a/domain/src/main/java/com/mument_android/domain/entity/record/RecordIsFirstEntity.kt +++ b/domain/src/main/java/com/mument_android/domain/entity/record/RecordIsFirstEntity.kt @@ -2,5 +2,5 @@ package com.mument_android.domain.entity.record data class RecordIsFirstEntity( val isFirst : Boolean, - val FirstAvaliable : Boolean + val firstAvailable : Boolean ) diff --git a/domain/src/main/java/com/mument_android/domain/entity/user/UserEntity.kt b/domain/src/main/java/com/mument_android/domain/entity/user/UserEntity.kt index 77fe56bd5..f4b44a2c2 100644 --- a/domain/src/main/java/com/mument_android/domain/entity/user/UserEntity.kt +++ b/domain/src/main/java/com/mument_android/domain/entity/user/UserEntity.kt @@ -1,13 +1,11 @@ package com.mument_android.domain.entity.user -import android.os.Parcelable import androidx.annotation.Keep -import kotlinx.parcelize.Parcelize +import java.io.Serializable -@Parcelize @Keep data class UserEntity( val userId: String, val name: String, val profileImage: String? -): Parcelable \ No newline at end of file +): Serializable \ No newline at end of file diff --git a/domain/src/main/java/com/mument_android/domain/repository/sign/SignRepository.kt b/domain/src/main/java/com/mument_android/domain/repository/sign/SignRepository.kt index 2038e8ccd..89cf1f805 100644 --- a/domain/src/main/java/com/mument_android/domain/repository/sign/SignRepository.kt +++ b/domain/src/main/java/com/mument_android/domain/repository/sign/SignRepository.kt @@ -1,16 +1,17 @@ package com.mument_android.domain.repository.sign -import com.mument_android.domain.entity.sign.* -import okhttp3.MultipartBody -import okhttp3.RequestBody +import com.mument_android.domain.entity.sign.KakaoEntity +import com.mument_android.domain.entity.sign.NewTokenEntity +import com.mument_android.domain.entity.sign.RequestKakaoData +import com.mument_android.domain.entity.sign.SetProfileEntity +import com.mument_android.domain.entity.sign.WebViewEntity interface SignRepository { suspend fun signDupCheck(userName: String): Int suspend fun signSetProfile( - image: MultipartBody.Part?, - body: HashMap + imageArray: ByteArray, imageType: String, nickName: String ): SetProfileEntity? diff --git a/domain/src/main/java/com/mument_android/domain/usecase/record/RecordModifyMumentUseCase.kt b/domain/src/main/java/com/mument_android/domain/usecase/record/RecordModifyMumentUseCase.kt index b0c04d8e0..682dfb60c 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/record/RecordModifyMumentUseCase.kt +++ b/domain/src/main/java/com/mument_android/domain/usecase/record/RecordModifyMumentUseCase.kt @@ -1,7 +1,6 @@ package com.mument_android.domain.usecase.record import com.mument_android.domain.entity.record.MumentModifyEntity -import com.mument_android.domain.entity.record.MumentRecordEntity import kotlinx.coroutines.flow.Flow interface RecordModifyMumentUseCase { diff --git a/domain/src/main/java/com/mument_android/domain/usecase/sign/SignPutProfileUseCase.kt b/domain/src/main/java/com/mument_android/domain/usecase/sign/SignPutProfileUseCase.kt index c76ffded8..903702873 100644 --- a/domain/src/main/java/com/mument_android/domain/usecase/sign/SignPutProfileUseCase.kt +++ b/domain/src/main/java/com/mument_android/domain/usecase/sign/SignPutProfileUseCase.kt @@ -1,10 +1,8 @@ package com.mument_android.domain.usecase.sign import com.mument_android.domain.entity.sign.SetProfileEntity -import okhttp3.MultipartBody -import okhttp3.RequestBody interface SignPutProfileUseCase { - suspend operator fun invoke(image: MultipartBody.Part?, body: HashMap) : SetProfileEntity? + suspend operator fun invoke(imageArray: ByteArray, imageType: String, nickName: String): SetProfileEntity? } \ No newline at end of file diff --git a/domain/src/main/java/com/mument_android/domain/usecase/sign/SignPutProfileUseCaseImpl.kt b/domain/src/main/java/com/mument_android/domain/usecase/sign/SignPutProfileUseCaseImpl.kt deleted file mode 100644 index 48760c590..000000000 --- a/domain/src/main/java/com/mument_android/domain/usecase/sign/SignPutProfileUseCaseImpl.kt +++ /dev/null @@ -1,20 +0,0 @@ -package com.mument_android.domain.usecase.sign - -import com.mument_android.domain.entity.sign.SetProfileEntity -import com.mument_android.domain.repository.sign.SignRepository -import okhttp3.MultipartBody -import okhttp3.RequestBody -import javax.inject.Inject - -class SignPutProfileUseCaseImpl @Inject constructor( - private val signRepository : SignRepository -): SignPutProfileUseCase { - override suspend fun invoke( - image: MultipartBody.Part?, - body: HashMap - ): SetProfileEntity? { - return signRepository.signSetProfile(image, body) - } - -} - diff --git a/domain/src/main/java/com/mument_android/domain/util/ApiStatusExtensions.kt b/domain/src/main/java/com/mument_android/domain/util/ApiStatusExtensions.kt index 4a0c07e69..5fdd8a24f 100644 --- a/domain/src/main/java/com/mument_android/domain/util/ApiStatusExtensions.kt +++ b/domain/src/main/java/com/mument_android/domain/util/ApiStatusExtensions.kt @@ -2,7 +2,10 @@ package com.mument_android.domain.util import com.mument_android.core.network.ApiStatus import com.mument_android.core.network.ErrorMessage -import kotlinx.coroutines.flow.* +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.catch +import kotlinx.coroutines.flow.map +import kotlinx.coroutines.flow.onStart object ApiStatusExtensions { suspend inline fun Flow.toApiStatus( diff --git a/feature/detail/src/main/java/com/mument_android/detail/history/HistoryActivity.kt b/feature/detail/src/main/java/com/mument_android/detail/history/HistoryActivity.kt index 6937f37ac..54524d11a 100644 --- a/feature/detail/src/main/java/com/mument_android/detail/history/HistoryActivity.kt +++ b/feature/detail/src/main/java/com/mument_android/detail/history/HistoryActivity.kt @@ -5,18 +5,19 @@ import android.content.Context import android.content.Intent import android.content.IntentFilter import android.os.Bundle -import android.util.Log import androidx.activity.OnBackPressedCallback import androidx.activity.viewModels import com.angdroid.navigation.MoveFromHistoryToDetail import com.mument_android.core_dependent.base.BaseActivity import com.mument_android.core_dependent.ext.click import com.mument_android.core_dependent.ext.collectFlowWhenStarted -import com.mument_android.core_dependent.util.parcelable import com.mument_android.detail.databinding.ActivityHistoryBinding import com.angdroid.navigation.StackProvider +import com.mument_android.core.util.Constants.MUSIC +import com.mument_android.core.util.Constants.USER_ID import com.mument_android.core_dependent.util.LikeMumentListener -import com.mument_android.domain.entity.musicdetail.musicdetaildata.Music +import com.mument_android.core_dependent.util.serializable +import com.mument_android.domain.entity.musicdetail.Music import dagger.hilt.android.AndroidEntryPoint import javax.inject.Inject @@ -58,10 +59,10 @@ class HistoryActivity : override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding.historyviewmodel = historyViewModel - intent.parcelable("music")?.let { + intent.serializable(MUSIC)?.let { historyViewModel.changeMusicId(it) } - intent.getIntExtra("userId", 0).let { + intent.getIntExtra(USER_ID, 0).let { historyViewModel.setUserId(it) } @@ -77,12 +78,10 @@ class HistoryActivity : override fun onNewIntent(intent: Intent?) { super.onNewIntent(intent) - intent?.parcelable("music")?.let { - Log.e("GET", it.toString()) + intent?.serializable(MUSIC)?.let { historyViewModel.changeMusicId(it) } - intent?.getIntExtra("userId", 0)?.let { - Log.e("GET", it.toString()) + intent?.getIntExtra(USER_ID, 0)?.let { historyViewModel.setUserId(it) } diff --git a/feature/detail/src/main/java/com/mument_android/detail/history/HistoryViewModel.kt b/feature/detail/src/main/java/com/mument_android/detail/history/HistoryViewModel.kt index f4dc85ab7..54a1f0a68 100644 --- a/feature/detail/src/main/java/com/mument_android/detail/history/HistoryViewModel.kt +++ b/feature/detail/src/main/java/com/mument_android/detail/history/HistoryViewModel.kt @@ -2,7 +2,7 @@ package com.mument_android.detail.history import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mument_android.domain.entity.musicdetail.musicdetaildata.Music +import com.mument_android.domain.entity.musicdetail.Music import com.mument_android.domain.usecase.detail.GetMumentHistoryUseCase import com.mument_android.domain.usecase.main.CancelLikeMumentUseCase import com.mument_android.domain.usecase.main.LikeMumentUseCase diff --git a/feature/detail/src/main/java/com/mument_android/detail/mument/activity/DeclarMumentActivity.kt b/feature/detail/src/main/java/com/mument_android/detail/mument/activity/DeclarMumentActivity.kt index 7b79f0417..f3fd1f33f 100644 --- a/feature/detail/src/main/java/com/mument_android/detail/mument/activity/DeclarMumentActivity.kt +++ b/feature/detail/src/main/java/com/mument_android/detail/mument/activity/DeclarMumentActivity.kt @@ -4,6 +4,7 @@ import android.os.Bundle import android.util.Log import androidx.activity.viewModels import com.google.firebase.analytics.FirebaseAnalytics +import com.mument_android.core.util.Constants.MUMENT_ID import com.mument_android.core_dependent.base.BaseActivity import com.mument_android.core_dependent.ui.MumentDialogBuilder import com.mument_android.core_dependent.util.ViewUtils.hideKeyboard @@ -20,7 +21,7 @@ class DeclarMumentActivity : override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - intent.getStringExtra("MUMENT_ID")?.let { + intent.getStringExtra(MUMENT_ID)?.let { Log.e("MUMENT_ID", it) reportViewModel.mumentId.value = it } diff --git a/feature/detail/src/main/java/com/mument_android/detail/mument/contract/MumentDetailContract.kt b/feature/detail/src/main/java/com/mument_android/detail/mument/contract/MumentDetailContract.kt index 3b24a1471..6e4521d6f 100644 --- a/feature/detail/src/main/java/com/mument_android/detail/mument/contract/MumentDetailContract.kt +++ b/feature/detail/src/main/java/com/mument_android/detail/mument/contract/MumentDetailContract.kt @@ -2,14 +2,13 @@ package com.mument_android.detail.mument.contract import android.net.Uri import androidx.annotation.StringRes -import com.mument_android.core.util.SideEffect import com.mument_android.core.util.Event +import com.mument_android.core.util.SideEffect import com.mument_android.core.util.ViewState import com.mument_android.domain.entity.detail.MumentEntity import com.mument_android.domain.entity.home.RecentSearchData import com.mument_android.domain.entity.music.MusicInfoEntity import com.mument_android.domain.entity.record.MumentModifyEntity -import com.mument_android.domain.entity.user.UserEntity import java.io.File class MumentDetailContract { diff --git a/feature/detail/src/main/java/com/mument_android/detail/mument/fragment/MumentDetailFragment.kt b/feature/detail/src/main/java/com/mument_android/detail/mument/fragment/MumentDetailFragment.kt index 3d363bd7a..efff3bb0b 100644 --- a/feature/detail/src/main/java/com/mument_android/detail/mument/fragment/MumentDetailFragment.kt +++ b/feature/detail/src/main/java/com/mument_android/detail/mument/fragment/MumentDetailFragment.kt @@ -39,6 +39,8 @@ import com.mument_android.detail.mument.contract.MumentDetailContract.MumentDeta import com.mument_android.detail.mument.fragment.MumentToShareDialogFragment.Companion.KEY_PASS_MUMENT import com.mument_android.detail.mument.fragment.MumentToShareDialogFragment.Companion.KEY_PASS_MUSIC import com.angdroid.navigation.StackProvider +import com.mument_android.core.util.Constants.MUSIC +import com.mument_android.core.util.Constants.USER_ID import com.mument_android.detail.mument.viewmodel.MumentDetailViewModel import com.mument_android.detail.report.SelectReportTypeDialogFragment import com.mument_android.detail.report.SelectReportTypeDialogFragment.Companion.SELECT_BLOCK_USER @@ -46,7 +48,7 @@ import com.mument_android.detail.report.SelectReportTypeDialogFragment.Companion import com.mument_android.domain.entity.detail.MumentEntity import com.mument_android.domain.entity.home.RecentSearchData import com.mument_android.domain.entity.music.MusicInfoEntity -import com.mument_android.domain.entity.musicdetail.musicdetaildata.Music +import com.mument_android.domain.entity.musicdetail.Music import com.mument_android.domain.entity.record.MumentModifyEntity import dagger.hilt.android.AndroidEntryPoint import javax.inject.Inject @@ -131,7 +133,7 @@ class MumentDetailFragment : Fragment() { arguments?.getString(MUMENT_ID)?.let { viewModel.emitEvent(MumentDetailEvent.ReceiveMumentId(it)) } - arguments?.parcelable(MUSIC_INFO_ENTITY)?.let { musicInfo -> + arguments?.getBundleSerializable(MUSIC_INFO_ENTITY)?.let { musicInfo -> viewModel.emitEvent(MumentDetailEvent.ReceiveMusicInfo(musicInfo)) } arguments?.getString(START_NAV_KEY)?.let { @@ -267,8 +269,8 @@ class MumentDetailFragment : Fragment() { private fun moveToMumentHistory(music: Music, userId: Int) { Intent(requireActivity(), HistoryActivity::class.java).apply { - putExtra("music", music) - putExtra("userId", userId) + putExtra(MUSIC, music) + putExtra(USER_ID, userId) if (viewModel.viewState.value.navStart == FROM_NOTIFICATION_TO_MUMENT_DETAIL) { putExtra(START_NAV_KEY, FROM_NOTIFICATION_TO_MUMENT_DETAIL) } diff --git a/feature/detail/src/main/java/com/mument_android/detail/music/MusicDetailFragment.kt b/feature/detail/src/main/java/com/mument_android/detail/music/MusicDetailFragment.kt index cb4087206..aa309f776 100644 --- a/feature/detail/src/main/java/com/mument_android/detail/music/MusicDetailFragment.kt +++ b/feature/detail/src/main/java/com/mument_android/detail/music/MusicDetailFragment.kt @@ -24,11 +24,14 @@ import com.mument_android.core.util.Constants.START_NAV_KEY import com.mument_android.core_dependent.ext.collectFlowWhenStarted import com.mument_android.core_dependent.util.AutoClearedValue import com.mument_android.core_dependent.util.ViewUtils.showToast -import com.mument_android.core_dependent.util.parcelable import com.mument_android.detail.databinding.FragmentMusicDetailBinding import com.mument_android.detail.history.HistoryActivity import com.mument_android.detail.mument.listener.MumentClickListener import com.angdroid.navigation.StackProvider +import com.mument_android.core.util.Constants.MUSIC +import com.mument_android.core.util.Constants.USER_ID +import com.mument_android.core_dependent.util.getBundleSerializable +import com.mument_android.core_dependent.util.serializable import com.mument_android.detail.music.MusicDetailContract.MusicDetailEffect import com.mument_android.detail.music.MusicDetailContract.MusicDetailEvent import com.mument_android.domain.entity.music.MusicInfoEntity @@ -105,7 +108,7 @@ class MusicDetailFragment : Fragment() { } private fun receiveMusicId() { - arguments?.parcelable(MUSIC_INFO_ENTITY)?.let { + arguments?.getBundleSerializable(MUSIC_INFO_ENTITY)?.let { musicDetailViewModel.emitEvent(MusicDetailEvent.ReceiveRequestMusicInfo(it)) } arguments?.getString(START_NAV_KEY)?.let { @@ -146,8 +149,8 @@ class MusicDetailFragment : Fragment() { requireActivity(), HistoryActivity::class.java ).apply { - putExtra("music", it.toMusic()) - putExtra("userId", userId.toInt()) + putExtra(MUSIC, it.toMusic()) + putExtra(USER_ID, userId.toInt()) }) } } @@ -205,7 +208,7 @@ class MusicDetailFragment : Fragment() { private val getResultText = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { if (it.resultCode == AppCompatActivity.RESULT_OK) { - it.data?.parcelable(MUSIC_INFO_ENTITY)?.let { music -> + it.data?.serializable(MUSIC_INFO_ENTITY)?.let { music -> it.data?.getStringExtra(MUMENT_ID)?.let { mumentId -> mumentDetailNavigatorProvider.musicDetailToMumentDetail(mumentId, music, arguments?.getString(START_NAV_KEY)) } diff --git a/feature/home/src/main/java/com/mument_android/home/adapters/BannerListAdapter.kt b/feature/home/src/main/java/com/mument_android/home/adapters/BannerListAdapter.kt index 2307d579c..d1748aea7 100644 --- a/feature/home/src/main/java/com/mument_android/home/adapters/BannerListAdapter.kt +++ b/feature/home/src/main/java/com/mument_android/home/adapters/BannerListAdapter.kt @@ -8,7 +8,7 @@ import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import com.mument_android.domain.entity.home.BannerEntity -import com.mument_android.domain.entity.musicdetail.musicdetaildata.Music +import com.mument_android.domain.entity.musicdetail.Music import com.mument_android.home.databinding.ItemBannerLayoutBinding class BannerListAdapter(var data: List, private val clickBanner: (Music) -> Unit) : diff --git a/feature/home/src/main/java/com/mument_android/home/main/HomeFragment.kt b/feature/home/src/main/java/com/mument_android/home/main/HomeFragment.kt index 4334032b9..70fea2a00 100644 --- a/feature/home/src/main/java/com/mument_android/home/main/HomeFragment.kt +++ b/feature/home/src/main/java/com/mument_android/home/main/HomeFragment.kt @@ -24,7 +24,7 @@ import com.mument_android.core_dependent.util.AutoClearedValue import com.mument_android.core_dependent.util.FirebaseAnalyticsUtil import com.mument_android.core_dependent.util.ViewUtils.showToast import com.mument_android.domain.entity.home.BannerEntity -import com.mument_android.domain.entity.musicdetail.musicdetaildata.Music +import com.mument_android.domain.entity.musicdetail.Music import com.mument_android.home.adapters.BannerListAdapter import com.mument_android.home.adapters.HeardMumentListAdapter import com.mument_android.home.adapters.ImpressiveEmotionListAdapter diff --git a/feature/home/src/main/java/com/mument_android/home/search/SearchActivity.kt b/feature/home/src/main/java/com/mument_android/home/search/SearchActivity.kt index dfe157bd8..d537c7f75 100644 --- a/feature/home/src/main/java/com/mument_android/home/search/SearchActivity.kt +++ b/feature/home/src/main/java/com/mument_android/home/search/SearchActivity.kt @@ -1,15 +1,11 @@ package com.mument_android.home.search -import android.content.Intent import android.os.Bundle import android.view.View import android.view.inputmethod.EditorInfo import androidx.activity.viewModels import androidx.recyclerview.widget.ConcatAdapter import com.angdroid.navigation.MainHomeNavigatorProvider -import com.mument_android.core.util.Constants.FROM_SEARCH -import com.mument_android.core.util.Constants.MUSIC_INFO_ENTITY -import com.mument_android.core.util.Constants.START_NAV_KEY import com.mument_android.core_dependent.base.BaseActivity import com.mument_android.core_dependent.ext.collectFlowWhenStarted import com.mument_android.core_dependent.ui.MumentDialogBuilder diff --git a/feature/login/src/main/java/com/mument_android/login/LogInViewModel.kt b/feature/login/src/main/java/com/mument_android/login/LogInViewModel.kt index 6c1f03654..b71954fcc 100644 --- a/feature/login/src/main/java/com/mument_android/login/LogInViewModel.kt +++ b/feature/login/src/main/java/com/mument_android/login/LogInViewModel.kt @@ -1,5 +1,6 @@ package com.mument_android.login +import android.graphics.Bitmap import android.net.Uri import android.util.Log import androidx.lifecycle.LiveData @@ -88,10 +89,10 @@ class LogInViewModel @Inject constructor( } } - fun putProfile(image: MultipartBody.Part?, body: HashMap) { + fun putProfile(imageArray: ByteArray, imageType: String, nickname: String) { viewModelScope.launch { kotlin.runCatching { - putProfileUseCase(image, body).let { + putProfileUseCase(imageArray, imageType, nickname).let { if (it != null) { _putProfile.value = it Log.e("viewmodel 프로필", "${_putProfile.value}") diff --git a/feature/login/src/main/java/com/mument_android/login/ProfileSettingActivity.kt b/feature/login/src/main/java/com/mument_android/login/ProfileSettingActivity.kt index 4659a2384..e840205bf 100644 --- a/feature/login/src/main/java/com/mument_android/login/ProfileSettingActivity.kt +++ b/feature/login/src/main/java/com/mument_android/login/ProfileSettingActivity.kt @@ -28,8 +28,8 @@ import com.mument_android.core_dependent.util.FirebaseAnalyticsUtil import com.mument_android.login.databinding.ActivityProfileSettingBinding import com.mument_android.login.util.CustomSnackBar import com.mument_android.login.util.GalleryUtil -import com.mument_android.login.util.MultipartResolver import com.mument_android.login.util.shortToast +import com.mument_android.login.util.toByteArray import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.delay import kotlinx.coroutines.launch @@ -47,7 +47,6 @@ class ProfileSettingActivity : BaseActivity(inflate = ActivityProfileSettingBinding::inflate) { private lateinit var intentLauncher: ActivityResultLauncher private lateinit var inputMethodManager: InputMethodManager - private val multiPartResolver = MultipartResolver(this) @Inject lateinit var mainHomeNavigatorProvider: MainHomeNavigatorProvider @@ -225,42 +224,23 @@ class ProfileSettingActivity : private fun putProfileNetwork() { val nickname = binding.etNickname.text.trim().toString() - val requestBodyMap = HashMap() - requestBodyMap["userName"] = nickname.toRequestBody("text/plain".toMediaTypeOrNull()) - val rnds = (0..2).random() - if (viewModel.imageUri.value == null) { - if (rnds == 0) { - changeImageUri(R.drawable.mument_profile_love_45) - } else if (rnds == 1) { - changeImageUri(R.drawable.mument_profile_smile_45) - } else { - changeImageUri(R.drawable.mument_profile_sleep_45) + viewModel.imageUri.value?.let { + binding.ivProfile.drawable.toBitmapOrNull(720, 720, Bitmap.Config.ARGB_8888)?.let { bitmap -> + Log.e("BITMAP", it.toString()) + viewModel.putProfile(bitmap.toByteArray(Bitmap.CompressFormat.PNG, 100), "userName", nickname) } - } else { - viewModel.imageUri.value?.let { - binding.ivProfile.drawable.toBitmapOrNull(720, 720, Bitmap.Config.ARGB_8888)?.let { - Log.e("BITMAP", it.toString()) - multiPartResolver.createImageMultiPart(it) - } - }?.let { multi -> - viewModel.putProfile(multi, requestBodyMap) - } - } - /*val multipart = viewModel.imageUri.value?.let { multiPartResolver.createImageMultiPart(it) } - viewModel.putProfile(multipart, requestBodyMap)*/ + } ?: changeImageUri( + when ((0..2).random()) { + 0 -> R.drawable.mument_profile_love_45 + 1 -> R.drawable.mument_profile_smile_45 + else -> R.drawable.mument_profile_sleep_45 + }, nickname + ) } - private fun changeImageUri(img: Int) { - val requestBodyMap = HashMap() - val nickname = binding.etNickname.text.toString() - requestBodyMap["userName"] = nickname.toRequestBody("text/plain".toMediaTypeOrNull()) + private fun changeImageUri(img: Int, nickName: String) { val bitmap = BitmapFactory.decodeResource(resources, img) - val bos = ByteArrayOutputStream() - bitmap.compress(Bitmap.CompressFormat.PNG, 100, bos) - val data = bos.toByteArray() - val requestFile = RequestBody.create("image/png".toMediaTypeOrNull(), data) - val image = MultipartBody.Part.createFormData("image", "image.png", requestFile) - viewModel.putProfile(image, requestBodyMap) + viewModel.putProfile(bitmap.toByteArray(Bitmap.CompressFormat.PNG, 100), "userName", nickName) } private suspend fun nickNameDupCheck() { diff --git a/feature/login/src/main/java/com/mument_android/login/util/ViewExt.kt b/feature/login/src/main/java/com/mument_android/login/util/ViewExt.kt index cb220953c..2bac6dda6 100644 --- a/feature/login/src/main/java/com/mument_android/login/util/ViewExt.kt +++ b/feature/login/src/main/java/com/mument_android/login/util/ViewExt.kt @@ -1,7 +1,9 @@ package com.mument_android.login.util import android.content.Context +import android.graphics.Bitmap import android.widget.Toast +import java.io.ByteArrayOutputStream private var toast: Toast? = null fun Context.shortToast(text: String) { @@ -10,4 +12,10 @@ fun Context.shortToast(text: String) { else toast!!.setText(text) toast?.show() +} + +fun Bitmap.toByteArray(format: Bitmap.CompressFormat, quality: Int): ByteArray { + val byteArrayOutputStream = ByteArrayOutputStream() + this.compress(format, quality, byteArrayOutputStream) + return byteArrayOutputStream.toByteArray() } \ No newline at end of file diff --git a/feature/mypage/src/main/java/com/mument_android/mypage/MyPageViewModel.kt b/feature/mypage/src/main/java/com/mument_android/mypage/MyPageViewModel.kt index 64fb53298..31383a9eb 100644 --- a/feature/mypage/src/main/java/com/mument_android/mypage/MyPageViewModel.kt +++ b/feature/mypage/src/main/java/com/mument_android/mypage/MyPageViewModel.kt @@ -211,8 +211,8 @@ class MyPageViewModel @Inject constructor( kotlin.runCatching { userInfoUseCase.invoke().let { _userInfo.value = it - _userId.value = userInfo.value?.userName - _id.value = userInfo.value?.id + _userId.value = userInfo.value?.userName?:"" + _id.value = userInfo.value?.id ?: 0 } } } diff --git a/feature/mypage/src/main/java/com/mument_android/mypage/adapters/NoticeAdapter.kt b/feature/mypage/src/main/java/com/mument_android/mypage/adapters/NoticeAdapter.kt index 1f52e85e2..a0f2c6c2e 100644 --- a/feature/mypage/src/main/java/com/mument_android/mypage/adapters/NoticeAdapter.kt +++ b/feature/mypage/src/main/java/com/mument_android/mypage/adapters/NoticeAdapter.kt @@ -7,7 +7,6 @@ import androidx.recyclerview.widget.RecyclerView import com.mument_android.core_dependent.util.GlobalDiffCallBack import com.mument_android.domain.entity.mypage.NoticeListEntity import com.mument_android.mypage.BR -import com.mument_android.mypage.data.NoticeData import com.mument_android.mypage.databinding.ItemNoticeBinding class NoticeAdapter(val clickListener:(NoticeListEntity)->Unit) : diff --git a/feature/mypage/src/main/java/com/mument_android/mypage/data/NoticeData.kt b/feature/mypage/src/main/java/com/mument_android/mypage/data/NoticeData.kt deleted file mode 100644 index be305dd12..000000000 --- a/feature/mypage/src/main/java/com/mument_android/mypage/data/NoticeData.kt +++ /dev/null @@ -1,14 +0,0 @@ -package com.mument_android.mypage.data - -import android.os.Parcelable -import androidx.annotation.Keep -import kotlinx.parcelize.Parcelize - -@Keep -@Parcelize -data class NoticeData( - val id: Int, - val title: String, - val content: String, - val created_at: String, -) : Parcelable diff --git a/feature/mypage/src/main/java/com/mument_android/mypage/data/UserData.kt b/feature/mypage/src/main/java/com/mument_android/mypage/data/UserData.kt deleted file mode 100644 index c4432f73e..000000000 --- a/feature/mypage/src/main/java/com/mument_android/mypage/data/UserData.kt +++ /dev/null @@ -1,6 +0,0 @@ -package com.mument_android.mypage.data - -data class UserData( - val userImg : String?, - val userID : String -) diff --git a/feature/record/src/main/java/com/mument_android/record/RecordActivity.kt b/feature/record/src/main/java/com/mument_android/record/RecordActivity.kt index 8c9da562e..9e386554f 100644 --- a/feature/record/src/main/java/com/mument_android/record/RecordActivity.kt +++ b/feature/record/src/main/java/com/mument_android/record/RecordActivity.kt @@ -20,7 +20,9 @@ import com.google.android.flexbox.FlexWrap import com.google.android.flexbox.FlexboxLayoutManager import com.mument_android.core.model.TagEntity import com.mument_android.core.util.Constants.MUMENT_ID +import com.mument_android.core.util.Constants.MUMENT_MODIFY_ENTITY import com.mument_android.core.util.Constants.MUSIC_INFO_ENTITY +import com.mument_android.core.util.Constants.RECENT_SEARCH_DATA import com.mument_android.core.util.Constants.TO_MUMENT_DETAIL import com.mument_android.core.util.Constants.TO_MUSIC_DETAIL import com.mument_android.core_dependent.base.BaseActivity @@ -57,9 +59,9 @@ class RecordActivity : super.onCreate(savedInstanceState) binding.recordViewModel = recordViewModel - val mumentModifyEntity = intent.parcelable("MumentModifyEntity") - val recentSearchData = intent.parcelable("RecentSearchData") - val mumentId = intent.getStringExtra("MumentID") + val mumentModifyEntity = intent.serializable(MUMENT_MODIFY_ENTITY) + val recentSearchData = intent.serializable(RECENT_SEARCH_DATA) + val mumentId = intent.getStringExtra(MUMENT_ID) mumentModifyEntity?.let { mument -> recentSearchData?.let { music -> mumentId?.let { mumentId -> diff --git a/feature/record/src/main/java/com/mument_android/record/viewmodels/RecordViewModel.kt b/feature/record/src/main/java/com/mument_android/record/viewmodels/RecordViewModel.kt index 6a3de3d36..8e2bb70d7 100644 --- a/feature/record/src/main/java/com/mument_android/record/viewmodels/RecordViewModel.kt +++ b/feature/record/src/main/java/com/mument_android/record/viewmodels/RecordViewModel.kt @@ -15,7 +15,6 @@ import com.mument_android.domain.usecase.record.IsFirstRecordMumentUseCase import com.mument_android.domain.usecase.record.RecordModifyMumentUseCase import com.mument_android.domain.usecase.record.RecordMumentUseCase import dagger.hilt.android.lifecycle.HiltViewModel -import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.flow.* import kotlinx.coroutines.launch import javax.inject.Inject diff --git a/feature/record/src/main/java/com/mument_android/record/viewmodels/SearchViewModel.kt b/feature/record/src/main/java/com/mument_android/record/viewmodels/SearchViewModel.kt index b70adce58..082e218ea 100644 --- a/feature/record/src/main/java/com/mument_android/record/viewmodels/SearchViewModel.kt +++ b/feature/record/src/main/java/com/mument_android/record/viewmodels/SearchViewModel.kt @@ -1,6 +1,5 @@ package com.mument_android.record.viewmodels -import android.util.Log import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope @@ -8,13 +7,12 @@ import com.mument_android.domain.entity.home.RecentSearchData import com.mument_android.domain.usecase.home.CRURecentSearchListUseCase import com.mument_android.domain.usecase.home.DeleteRecentSearchListUseCase import com.mument_android.domain.usecase.home.SearchMusicUseCase -import com.mument_android.core.network.ApiResult import dagger.hilt.android.lifecycle.HiltViewModel -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.flow.* +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.catch import kotlinx.coroutines.launch -import java.util.* +import java.util.Date import javax.inject.Inject @HiltViewModel diff --git a/navigation/src/main/java/com/angdroid/navigation/HistoryNavigatorProvider.kt b/navigation/src/main/java/com/angdroid/navigation/HistoryNavigatorProvider.kt index 91911e3c2..643b0901f 100644 --- a/navigation/src/main/java/com/angdroid/navigation/HistoryNavigatorProvider.kt +++ b/navigation/src/main/java/com/angdroid/navigation/HistoryNavigatorProvider.kt @@ -1,6 +1,6 @@ package com.angdroid.navigation -import com.mument_android.domain.entity.musicdetail.musicdetaildata.Music +import com.mument_android.domain.entity.musicdetail.Music interface HistoryNavigatorProvider { fun moveHistory(music: Music, userId: Int) diff --git a/navigation/src/main/java/com/angdroid/navigation/MoveRecordProvider.kt b/navigation/src/main/java/com/angdroid/navigation/MoveRecordProvider.kt index 9e4cba3e3..e3e70b96f 100644 --- a/navigation/src/main/java/com/angdroid/navigation/MoveRecordProvider.kt +++ b/navigation/src/main/java/com/angdroid/navigation/MoveRecordProvider.kt @@ -1,6 +1,6 @@ package com.angdroid.navigation -import com.mument_android.domain.entity.musicdetail.musicdetaildata.Music +import com.mument_android.domain.entity.musicdetail.Music interface MoveRecordProvider { fun recordMusic(music: Music) diff --git a/navigation/src/main/java/com/angdroid/navigation/MumentHistoryNavigatorProvider.kt b/navigation/src/main/java/com/angdroid/navigation/MumentHistoryNavigatorProvider.kt index 562adea74..0e652e9ea 100644 --- a/navigation/src/main/java/com/angdroid/navigation/MumentHistoryNavigatorProvider.kt +++ b/navigation/src/main/java/com/angdroid/navigation/MumentHistoryNavigatorProvider.kt @@ -1,6 +1,6 @@ package com.angdroid.navigation -import com.mument_android.domain.entity.musicdetail.musicdetaildata.Music +import com.mument_android.domain.entity.musicdetail.Music interface MumentHistoryNavigatorProvider { fun mumentDetailToHistory(music: Music, userId: Int) diff --git a/navigation/src/main/java/com/angdroid/navigation/QuitMainNavigatorProvider.kt b/navigation/src/main/java/com/angdroid/navigation/QuitMainNavigatorProvider.kt index 866c4e025..55ed7e9d2 100644 --- a/navigation/src/main/java/com/angdroid/navigation/QuitMainNavigatorProvider.kt +++ b/navigation/src/main/java/com/angdroid/navigation/QuitMainNavigatorProvider.kt @@ -1,8 +1,5 @@ package com.angdroid.navigation -import com.mument_android.domain.entity.home.RecentSearchData -import com.mument_android.domain.entity.record.MumentModifyEntity - interface QuitMainNavigatorProvider { fun quitMument() } \ No newline at end of file diff --git a/navigation/src/main/java/com/angdroid/navigation/StackProvider.kt b/navigation/src/main/java/com/angdroid/navigation/StackProvider.kt index 3d9bf3626..ea8266074 100644 --- a/navigation/src/main/java/com/angdroid/navigation/StackProvider.kt +++ b/navigation/src/main/java/com/angdroid/navigation/StackProvider.kt @@ -1,6 +1,6 @@ package com.angdroid.navigation -import com.mument_android.domain.entity.musicdetail.musicdetaildata.Music +import com.mument_android.domain.entity.musicdetail.Music import java.util.Stack interface StackProvider {