Skip to content
This repository has been archived by the owner on Oct 20, 2024. It is now read-only.

Commit

Permalink
🛠️ 감정 별 일기 조회 | 뒤로가기 수정 (#98)
Browse files Browse the repository at this point in the history
* [fix] DetailFragment Custom PopStack branch processing

* [clean] Remove Unused Import
  • Loading branch information
moondev03 authored Aug 14, 2024
1 parent 6203cf5 commit b5ba5de
Show file tree
Hide file tree
Showing 38 changed files with 40 additions and 74 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package com.nabi.data.datasource
import com.nabi.data.model.BaseResponse
import com.nabi.data.model.MessageResponseDTO
import com.nabi.data.model.user.UserInfoResponseDTO
import java.io.InputStream

interface UserRemoteDataSource {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,8 @@ import com.nabi.data.model.BaseResponse
import com.nabi.data.model.MessageResponseDTO
import com.nabi.data.model.user.UserInfoResponseDTO
import com.nabi.data.service.UserService
import okhttp3.MediaType
import okhttp3.MediaType.Companion.toMediaTypeOrNull
import okhttp3.MultipartBody
import okhttp3.RequestBody
import okhttp3.RequestBody.Companion.asRequestBody
import org.json.JSONObject
import java.io.File
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@ import com.nabi.data.room.DiaryDAO
import com.nabi.data.room.DiaryEntity
import com.nabi.domain.model.diary.DiaryDbEntity
import com.nabi.domain.repository.DiaryDbRepository
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.catch
import kotlinx.coroutines.flow.map
import javax.inject.Inject

class DiaryDbRepositoryImpl @Inject constructor(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package com.nabi.data.repository
import com.nabi.data.datasource.UserRemoteDataSource
import com.nabi.domain.model.user.UserInfo
import com.nabi.domain.repository.UserRepository
import java.io.InputStream
import javax.inject.Inject

class UserRepositoryImpl @Inject constructor(
Expand Down
1 change: 0 additions & 1 deletion Nabi/data/src/main/java/com/nabi/data/room/DiaryDAO.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import androidx.room.Dao
import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import androidx.room.Update

@Dao
interface DiaryDAO {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,12 @@ package com.nabi.data.service
import android.app.Activity
import android.content.Context
import android.util.Log
import com.kakao.sdk.auth.model.OAuthToken
import com.kakao.sdk.user.UserApiClient
import com.nabi.domain.enums.AuthProvider
import com.navercorp.nid.NaverIdLoginSDK
import com.navercorp.nid.oauth.OAuthLoginCallback
import dagger.hilt.android.qualifiers.ActivityContext
import javax.inject.Inject
import kotlin.reflect.KFunction2

class NaverAuthService @Inject constructor(
@ActivityContext private val context: Context,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package com.nabi.domain.repository

import com.nabi.domain.model.user.UserInfo
import java.io.InputStream


interface UserRepository {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package com.nabi.domain.usecase.datastore

import com.nabi.domain.model.auth.NicknameInfo
import com.nabi.domain.repository.AuthRepository
import com.nabi.domain.repository.DataStoreRepository

class ClearUserDataUseCase(private val repository: DataStoreRepository) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
package com.nabi.domain.usecase.datastore

import com.nabi.domain.enums.AuthProvider
import com.nabi.domain.model.auth.NicknameInfo
import com.nabi.domain.repository.AuthRepository
import com.nabi.domain.repository.DataStoreRepository

class GetAccessTokenUseCase(private val repository: DataStoreRepository) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package com.nabi.domain.usecase.datastore

import com.nabi.domain.enums.AuthProvider
import com.nabi.domain.model.auth.NicknameInfo
import com.nabi.domain.repository.AuthRepository
import com.nabi.domain.repository.DataStoreRepository

class GetAuthProviderUseCase(private val repository: DataStoreRepository) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package com.nabi.domain.usecase.datastore

import com.nabi.domain.enums.AuthProvider
import com.nabi.domain.model.auth.NicknameInfo
import com.nabi.domain.repository.AuthRepository
import com.nabi.domain.repository.DataStoreRepository

class GetRecentAuthProviderUseCase(private val repository: DataStoreRepository) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.nabi.domain.usecase.diary

import com.nabi.domain.model.diary.DiaryDbEntity
import com.nabi.domain.repository.DiaryDbRepository

class UpdateTempDiaryUseCase(private val repository: DiaryDbRepository) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package com.nabi.domain.usecase.user

import com.nabi.domain.repository.UserRepository
import java.io.InputStream

class LoadDiaryUseCase(private val repository: UserRepository) {
suspend operator fun invoke(accessToken: String, realPath: String): Result<String> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import com.nabi.domain.model.chat.ChatItem
import com.nabi.nabi.databinding.ItemChatDateBinding
import com.nabi.nabi.databinding.ItemChatMyBinding
import com.nabi.nabi.databinding.ItemChatOtherBinding
import com.nabi.nabi.utils.LoggerUtils
import com.nabi.nabi.views.OnRvItemClickListener

class ChatRvAdapter(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.nabi.domain.model.chat.ChatItem
import com.nabi.domain.repository.DataStoreRepository
import com.nabi.domain.usecase.chat.EmbeddingDiaryUseCase
import com.nabi.domain.usecase.chat.GetChatHistoryUseCase
import com.nabi.domain.usecase.chat.RetryChatResUseCase
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -163,9 +163,13 @@ class AddDiaryFragment(
is UiState.Success -> {
currentDiaryId = it.data.id
LoggerUtils.d("일기 추가 성공")
(requireActivity() as MainActivity).replaceFragment(
EmotionLoadingDialog(isEdit, currentDiaryId!!),
false
// (requireActivity() as MainActivity).replaceFragment(
// EmotionLoadingDialog(isEdit, currentDiaryId!!),
// false
// )

EmotionLoadingDialog(isEdit, currentDiaryId!!).show(
requireActivity().supportFragmentManager, "emotion loading"
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package com.nabi.nabi.views.diary.add
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
import androidx.viewpager2.adapter.FragmentStateAdapter
import com.nabi.domain.model.diary.DiarySelectInfo
import java.util.Calendar

class AddDiaryMonthCalendarStateAdapter(fa: FragmentActivity) : FragmentStateAdapter(fa) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,18 @@ package com.nabi.nabi.views.diary.add

import android.os.Bundle
import androidx.fragment.app.activityViewModels
import androidx.fragment.app.setFragmentResultListener
import androidx.fragment.app.viewModels
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.GridLayoutManager
import com.nabi.domain.model.diary.DiarySelectInfo
import com.nabi.nabi.R
import com.nabi.nabi.base.BaseFragment
import com.nabi.nabi.databinding.FragmentAddDiaryMonthBinding
import com.nabi.nabi.utils.Constants.dateEnglishOnlyYearFormat
import com.nabi.nabi.utils.Constants.dateKoreanFormat
import com.nabi.nabi.utils.Constants.dateNumberOnlyMonthFormat
import com.nabi.nabi.utils.LoggerUtils
import com.nabi.nabi.utils.UiState
import com.nabi.nabi.views.OnRvItemClickListener
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import java.text.SimpleDateFormat
import java.util.Calendar
import java.util.Date
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.nabi.domain.model.diary.DiaryDbEntity
import com.nabi.domain.model.diary.DiarySelectInfo
import com.nabi.domain.repository.DataStoreRepository
import com.nabi.domain.usecase.datastore.GetAccessTokenUseCase
import com.nabi.domain.usecase.diary.GetMonthlyDiaryUseCase
import com.nabi.domain.usecase.diary.GetTempDiaryUseCase
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import androidx.lifecycle.viewModelScope
import com.nabi.domain.model.diary.AddDiaryInfo
import com.nabi.domain.model.diary.DiaryDbEntity
import com.nabi.domain.model.diary.UpdateDiaryInfo
import com.nabi.domain.repository.DataStoreRepository
import com.nabi.domain.usecase.datastore.GetAccessTokenUseCase
import com.nabi.domain.usecase.diary.AddDiaryUseCase
import com.nabi.domain.usecase.diary.AddTempDiaryUseCase
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import androidx.fragment.app.DialogFragment
import androidx.fragment.app.viewModels
import com.nabi.nabi.R
import com.nabi.nabi.databinding.DialogAddDiaryDoneBinding
import com.nabi.nabi.utils.LoggerUtils
import com.nabi.nabi.utils.UiState
import com.nabi.nabi.views.MainActivity
import com.nabi.nabi.views.diary.detail.DetailDiaryFragment
Expand Down Expand Up @@ -48,9 +47,10 @@ class EmotionLoadingDialog(private val isEdit: Boolean, private val diaryId: Int
is UiState.Failure -> {
showToast("일기 감정분석 실패")
(requireActivity() as MainActivity).replaceFragment(
DetailDiaryFragment(diaryId),
DetailDiaryFragment(diaryId, "EmotionLoadingDialog"),
false
)
dismiss()
}

is UiState.Success -> {
Expand All @@ -73,9 +73,10 @@ class EmotionLoadingDialog(private val isEdit: Boolean, private val diaryId: Int
requireActivity().supportFragmentManager.popBackStack()
} else {
(requireActivity() as MainActivity).replaceFragment(
DetailDiaryFragment(diaryId),
DetailDiaryFragment(diaryId, "EmotionLoadingDialog"),
false
)
dismiss()
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.nabi.nabi.views.diary.add

import android.util.Log
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
Expand All @@ -10,8 +9,6 @@ import com.nabi.domain.repository.DataStoreRepository
import com.nabi.domain.usecase.datastore.GetAccessTokenUseCase
import com.nabi.domain.usecase.emotion.AddDiaryEmotionUseCase
import com.nabi.domain.usecase.emotion.GetDiaryEmotionUseCase
import com.nabi.domain.extension.parseEmotionState
import com.nabi.nabi.utils.LoggerUtils
import com.nabi.nabi.utils.UiState
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.launch
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,14 @@ import com.nabi.nabi.utils.UiState
import com.nabi.nabi.views.MainActivity
import com.nabi.nabi.views.diary.add.AddDiaryFragment
import com.nabi.nabi.views.diary.add.EmotionLoadingDialog
import com.nabi.nabi.views.diary.search.SearchDiaryFragment
import com.nabi.nabi.views.diary.view.SelectDiaryFragment
import dagger.hilt.android.AndroidEntryPoint

@AndroidEntryPoint
class DetailDiaryFragment(
private val diaryId: Int
private val diaryId: Int,
private val entryPoint: String
) : BaseFragment<FragmentDetailDiaryBinding>(R.layout.fragment_detail_diary) {
private val viewModel: DetailDiaryViewModel by viewModels()

Expand Down Expand Up @@ -158,14 +160,25 @@ class DetailDiaryFragment(
}

private fun popBackStack() {
val result = Bundle().apply {
putString("date", binding.tvDiaryDate.text.toString())
}
val bundle = Bundle()

val fragment = SelectDiaryFragment().apply {
arguments = result
}
when (entryPoint) {
"SelectDiaryMonthFragment" -> {
bundle.apply {
putString("date", binding.tvDiaryDate.text.toString())
}

(requireActivity() as MainActivity).replaceFragment(fragment, false)
(requireActivity() as MainActivity).replaceFragment(SelectDiaryFragment().apply { arguments = bundle }, false)
}
"EmotionLoadingDialog" -> {
(requireActivity() as MainActivity).replaceFragment(SelectDiaryFragment(), false)
}
"SearchDiaryFragment" -> {
(requireActivity() as MainActivity).replaceFragment(SearchDiaryFragment(), false)
}
else -> {
requireActivity().supportFragmentManager.popBackStack()
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,16 @@ class EmotionSearchFragment(

override fun onResume() {
super.onResume()

emotionSearchAdapter.submitList(viewModel.diaryItems.value)
viewModel.resetPageable(viewModel.searchEmotion.value!!)
viewModel.fetchData(viewModel.searchEmotion.value!!)
}

private fun setSearchDiaryAdapter() {
emotionSearchAdapter = EmotionSearchAdapter().apply {
setRvItemClickListener(object : OnRvItemClickListener<Int> {
override fun onClick(item: Int) {
(requireActivity() as MainActivity).replaceFragment(
DetailDiaryFragment(item),
DetailDiaryFragment(item, "EmotionSearchFragment") ,
true
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.nabi.domain.model.diary.SearchDiary
import com.nabi.domain.repository.DataStoreRepository
import com.nabi.domain.usecase.datastore.GetAccessTokenUseCase
import com.nabi.domain.usecase.emotion.SearchEmotionUseCase
import com.nabi.nabi.utils.UiState
Expand Down Expand Up @@ -56,7 +55,7 @@ class EmotionSearchViewModel @Inject constructor(
}
}

private fun resetPageable(content: String){
fun resetPageable(content: String){
_diaryItems.value?.clear()
_searchEmotion.value = content
page = 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ class SearchDiaryFragment: BaseFragment<FragmentSearchDiaryBinding>(R.layout.fra
searchDiaryAdapter = SearchDiaryAdapter().apply {
setRvItemClickListener(object : OnRvItemClickListener<Int>{
override fun onClick(item: Int) {
(requireActivity() as MainActivity).replaceFragment(DetailDiaryFragment(item), true)
(requireActivity() as MainActivity).replaceFragment(DetailDiaryFragment(item, "SearchDiaryFragment"), true)
}
})
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.nabi.domain.model.diary.SearchDiary
import com.nabi.domain.repository.DataStoreRepository
import com.nabi.domain.usecase.datastore.GetAccessTokenUseCase
import com.nabi.domain.usecase.diary.SearchDiaryUseCase
import com.nabi.nabi.utils.UiState
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.nabi.domain.model.emotion.EmotionStatistics
import com.nabi.domain.repository.DataStoreRepository
import com.nabi.domain.usecase.datastore.GetAccessTokenUseCase
import com.nabi.domain.usecase.emotion.GetEmotionStatisticsUseCase
import com.nabi.nabi.utils.UiState
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ class SelectDiaryMonthFragment: BaseFragment<FragmentSelectDiaryMonthBinding>(R.
setRvItemClickListener(object : OnRvItemClickListener<Int> {
override fun onClick(item: Int) {
viewModel.isUpdateFlag = true
(requireActivity() as MainActivity).replaceFragment(DetailDiaryFragment(item), false)
(requireActivity() as MainActivity).replaceFragment(DetailDiaryFragment(item, "SelectDiaryMonthFragment"), true)
}
})
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.nabi.domain.model.diary.DiaryInfo
import com.nabi.domain.repository.DataStoreRepository
import com.nabi.domain.usecase.datastore.GetAccessTokenUseCase
import com.nabi.domain.usecase.diary.GetMonthlyDiaryUseCase
import com.nabi.nabi.utils.UiState
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,9 @@ package com.nabi.nabi.views.home

import android.annotation.SuppressLint
import android.view.View
import android.widget.Toast
import androidx.activity.OnBackPressedCallback
import androidx.fragment.app.viewModels
import androidx.recyclerview.widget.LinearLayoutManager
import com.nabi.domain.model.home.HomeInfo
import com.nabi.domain.model.home.RecentFiveDiary
import com.nabi.nabi.R
import com.nabi.nabi.base.BaseFragment
Expand Down Expand Up @@ -46,7 +44,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(R.layout.fragment_home) {
setRvItemClickListener(object : OnRvItemClickListener<Int> {
override fun onClick(item: Int) {
(requireActivity() as MainActivity).replaceFragment(
DetailDiaryFragment(item),
DetailDiaryFragment(item, "HomeFragment"),
true
)
}
Expand Down
Loading

0 comments on commit b5ba5de

Please sign in to comment.