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

Commit

Permalink
๐Ÿ› ๏ธ ์ผ๊ธฐ ์ž‘์„ฑ ํ›„ ๋’ค๋กœ๊ฐ€๊ธฐ ์ˆ˜์ • (#91)
Browse files Browse the repository at this point in the history
* [fix] ํ™ˆํ™”๋ฉด ๋’ค๋กœ๊ฐ€๊ธฐ ํ† ์ŠคํŠธ ๋ณ€๊ฒฝ, cleanup

* [feat] ์ผ๊ธฐ ์ž‘์„ฑ ํ›„ ๋’ค๋กœ๊ฐ€๊ธฐ ๋กœ์ง ์ˆ˜์ •
  • Loading branch information
HamBeomJoon authored Aug 14, 2024
1 parent e938b23 commit fefb568
Show file tree
Hide file tree
Showing 6 changed files with 84 additions and 37 deletions.
14 changes: 9 additions & 5 deletions Nabi/presentation/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,19 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />

<!-- Devices running Android 12L (API level 32) or lower -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion="32" />

<!-- Devices running Android 13 (API level 33) or higher -->
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" tools:ignore="SelectedPhotoAccess" />
<uses-permission
android:name="android.permission.READ_MEDIA_IMAGES"
tools:ignore="SelectedPhotoAccess" />

<application
android:name=".base.NabiApplication"
Expand Down Expand Up @@ -40,7 +44,7 @@
android:theme="@style/Theme.Nabi.TransparentStatusBar"
android:windowSoftInputMode="adjustResize" />

<activity android:name=".views.MainActivity"/>
<activity android:name=".views.MainActivity" />

<activity
android:name="com.kakao.sdk.auth.AuthCodeHandlerActivity"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ class AddDiarySelectDateFragment :
tempDiary?.diaryTempContent,
selectedDate.diaryEntryDate
)
(requireActivity() as MainActivity).replaceFragment(fragment, true)
(requireActivity() as MainActivity).replaceFragment(fragment, false)
}

private fun updateCalendarMonth(monthDifference: Int) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import com.nabi.nabi.utils.LoggerUtils
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.view.SelectDiaryFragment
import dagger.hilt.android.AndroidEntryPoint

@AndroidEntryPoint
Expand All @@ -27,7 +28,7 @@ class DetailDiaryFragment(
super.initListener()

binding.ibBack.setOnClickListener {
popBackStack(true)
popBackStack()
}

binding.btnEdit.setOnClickListener {
Expand Down Expand Up @@ -130,7 +131,7 @@ class DetailDiaryFragment(

is UiState.Success -> {
LoggerUtils.d(it.data.message)
popBackStack(true)
requireActivity().supportFragmentManager.popBackStack()
}
}
}
Expand All @@ -145,15 +146,15 @@ class DetailDiaryFragment(
return "${year}๋…„ ${month}์›” ${day}์ผ"
}

private fun popBackStack(isUpdateFlag: Boolean = false) {
val fm = requireActivity().supportFragmentManager
if (isUpdateFlag) {
val result = Bundle().apply {
putBoolean("isUpdateFlag", true)
putString("date", binding.tvDiaryDate.text.toString())
}
fm.setFragmentResult("isUpdateFlag", result)
private fun popBackStack() {
val result = Bundle().apply {
putString("date", binding.tvDiaryDate.text.toString())
}

val fragment = SelectDiaryFragment().apply {
arguments = result
}
fm.popBackStack()

(requireActivity() as MainActivity).replaceFragment(fragment, false)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ import java.util.Date
import java.util.Locale

@AndroidEntryPoint
class SelectDiaryFragment : BaseFragment<FragmentSelectDiaryBinding>(R.layout.fragment_select_diary) {
class SelectDiaryFragment :
BaseFragment<FragmentSelectDiaryBinding>(R.layout.fragment_select_diary) {
private lateinit var calendarAdapter: SelectDiaryMonthCalendarStateAdapter

private val minYear = 1950
Expand All @@ -34,13 +35,31 @@ class SelectDiaryFragment : BaseFragment<FragmentSelectDiaryBinding>(R.layout.fr
private var lastVisibleDate: Calendar? = null

override fun initView() {
calendarAdapter = SelectDiaryMonthCalendarStateAdapter(requireActivity())
binding.vpCalendarMonth.adapter = calendarAdapter
binding.vpCalendarMonth.setCurrentItem(Int.MAX_VALUE / 2, false)
binding.vpCalendarMonth.offscreenPageLimit = 1
if (arguments?.getString("date") != null) {

arguments?.let { bundle ->
val date = bundle.getString("date")
val dateParts = date!!.split("๋…„", "์›”", "์ผ")
val currentCalendar = Calendar.getInstance()
currentCalendar.set(dateParts[0].trim().toInt(), dateParts[1].trim().toInt() - 1, 1)

val position = calculatePositionFromDate(currentCalendar)
calendarAdapter =
SelectDiaryMonthCalendarStateAdapter(requireActivity()) // Reinitialize adapter
binding.vpCalendarMonth.adapter = calendarAdapter
binding.vpCalendarMonth.setCurrentItem(position, false)
updateCurrentMonthText(position)
}
} else {

val currentMonth = SimpleDateFormat("MMMM yyyy", Locale.ENGLISH).format(Date())
binding.tvCurrentMonth.text = currentMonth
calendarAdapter = SelectDiaryMonthCalendarStateAdapter(requireActivity())
binding.vpCalendarMonth.adapter = calendarAdapter
binding.vpCalendarMonth.setCurrentItem(Int.MAX_VALUE / 2, false)
binding.vpCalendarMonth.offscreenPageLimit = 1

val currentMonth = SimpleDateFormat("MMMM yyyy", Locale.ENGLISH).format(Date())
binding.tvCurrentMonth.text = currentMonth
}
}

override fun onResume() {
Expand All @@ -50,7 +69,8 @@ class SelectDiaryFragment : BaseFragment<FragmentSelectDiaryBinding>(R.layout.fr

lastVisibleDate?.let { date ->
val position = calculatePositionFromDate(date)
calendarAdapter = SelectDiaryMonthCalendarStateAdapter(requireActivity()) // Reinitialize adapter
calendarAdapter =
SelectDiaryMonthCalendarStateAdapter(requireActivity()) // Reinitialize adapter
binding.vpCalendarMonth.adapter = calendarAdapter
binding.vpCalendarMonth.setCurrentItem(position, false)
updateCurrentMonthText(position)
Expand All @@ -77,7 +97,8 @@ class SelectDiaryFragment : BaseFragment<FragmentSelectDiaryBinding>(R.layout.fr
override fun initListener() {
super.initListener()

binding.vpCalendarMonth.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() {
binding.vpCalendarMonth.registerOnPageChangeCallback(object :
ViewPager2.OnPageChangeCallback() {
override fun onPageSelected(position: Int) {
super.onPageSelected(position)
updateCurrentMonthText(position)
Expand Down Expand Up @@ -107,10 +128,26 @@ class SelectDiaryFragment : BaseFragment<FragmentSelectDiaryBinding>(R.layout.fr
}

binding.ivEmotionAnger.setOnClickListener { createEmotionTooltip("ํ™”๋‚˜").showAlignTop(binding.ivEmotionAnger) }
binding.ivEmotionHappiness.setOnClickListener { createEmotionTooltip("ํ–‰๋ณตํ•ด").showAlignTop(binding.ivEmotionHappiness) }
binding.ivEmotionBoredom.setOnClickListener { createEmotionTooltip("์ง€๋ฃจํ•ด").showAlignTop(binding.ivEmotionBoredom) }
binding.ivEmotionSadness.setOnClickListener { createEmotionTooltip("์Šฌํผ").showAlignTop(binding.ivEmotionSadness) }
binding.ivEmotionAnxiety.setOnClickListener { createEmotionTooltip("๋ถˆ์•ˆํ•ด").showAlignTop(binding.ivEmotionAnxiety) }
binding.ivEmotionHappiness.setOnClickListener {
createEmotionTooltip("ํ–‰๋ณตํ•ด").showAlignTop(
binding.ivEmotionHappiness
)
}
binding.ivEmotionBoredom.setOnClickListener {
createEmotionTooltip("์ง€๋ฃจํ•ด").showAlignTop(
binding.ivEmotionBoredom
)
}
binding.ivEmotionSadness.setOnClickListener {
createEmotionTooltip("์Šฌํผ").showAlignTop(
binding.ivEmotionSadness
)
}
binding.ivEmotionAnxiety.setOnClickListener {
createEmotionTooltip("๋ถˆ์•ˆํ•ด").showAlignTop(
binding.ivEmotionAnxiety
)
}

binding.tvCurrentMonth.setOnClickListener {
showNumberPickerDialog()
Expand All @@ -132,7 +169,12 @@ class SelectDiaryFragment : BaseFragment<FragmentSelectDiaryBinding>(R.layout.fr
setText(text)
setTextSize(12f)
setTextColorResource(R.color.white)
setTextTypeface(ResourcesCompat.getFont(requireContext(), R.font.pretendard_semi_bold)!!)
setTextTypeface(
ResourcesCompat.getFont(
requireContext(),
R.font.pretendard_semi_bold
)!!
)
setArrowPositionRules(ArrowPositionRules.ALIGN_BALLOON)
setArrowSize(10)
setArrowPosition(0.5f)
Expand All @@ -157,7 +199,8 @@ class SelectDiaryFragment : BaseFragment<FragmentSelectDiaryBinding>(R.layout.fr
val year = currentCalendar.get(Calendar.YEAR)
val month = currentCalendar.get(Calendar.MONTH)

val dialogBinding = DialogNonDayDatePickerBinding.inflate(LayoutInflater.from(requireContext()))
val dialogBinding =
DialogNonDayDatePickerBinding.inflate(LayoutInflater.from(requireContext()))

dialogBinding.npYear.minValue = minYear
dialogBinding.npYear.maxValue = maxYear
Expand All @@ -182,7 +225,8 @@ class SelectDiaryFragment : BaseFragment<FragmentSelectDiaryBinding>(R.layout.fr
binding.vpCalendarMonth.setCurrentItem(newPosition, false)

currentCalendar.set(selectedYear, selectedMonth, 1)
binding.tvCurrentMonth.text = SimpleDateFormat("MMMM yyyy", Locale.ENGLISH).format(currentCalendar.time)
binding.tvCurrentMonth.text =
SimpleDateFormat("MMMM yyyy", Locale.ENGLISH).format(currentCalendar.time)
}
.setNegativeButton("์ทจ์†Œ") { _, _ -> }
.create()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,8 @@ class SelectDiaryMonthFragment: BaseFragment<FragmentSelectDiaryMonthBinding>(R.
dayAdapter = SelectDiaryDayCalendarAdapter().apply {
setRvItemClickListener(object : OnRvItemClickListener<Int> {
override fun onClick(item: Int) {
LoggerUtils.i("click: $item")
viewModel.isUpdateFlag = true
(requireActivity() as MainActivity).replaceFragment(DetailDiaryFragment(item), true)
(requireActivity() as MainActivity).replaceFragment(DetailDiaryFragment(item), false)
}
})
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -175,8 +175,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(R.layout.fragment_home) {
override fun handleOnBackPressed() {
if (System.currentTimeMillis() - backPressedTime >= 2000) {
backPressedTime = System.currentTimeMillis()
Toast.makeText(requireContext(), "ํ•œ๋ฒˆ ๋” ๋ˆ„๋ฅด๋ฉด ์•ฑ์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.", Toast.LENGTH_SHORT)
.show()
showToast("ํ•œ๋ฒˆ ๋” ๋ˆ„๋ฅด๋ฉด ์•ฑ์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค")
} else if (System.currentTimeMillis() - backPressedTime < 2000) {
requireActivity().finish()
}
Expand Down

0 comments on commit fefb568

Please sign in to comment.