Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#134 [fix] 스낵바 띄우기 및 위치 조정 #137

Merged
merged 23 commits into from
Feb 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
2d586bb
#134 [ui] sharedPreference 값으로 액티비티-프래그먼트 간 연결, 추가하기 스낵바
pump9918 Jan 25, 2024
dde6058
#134 [ui] 스낵바 위치 조정 함수 추가
pump9918 Jan 25, 2024
079cef2
#134 [chore] 스낵바 가로 길이 조정
pump9918 Jan 25, 2024
c7a1257
#134 [chore] CI 공백 수정
pump9918 Jan 25, 2024
b41ed72
#134 [chore] 스낵바 함수화 및 스낵바 지속시간 1초로 변경
pump9918 Jan 26, 2024
7e69a1b
Merge remote-tracking branch 'origin/develop' into feature/#134-fix-s…
pump9918 Feb 1, 2024
8c6604c
Merge remote-tracking branch 'origin/develop' into feature/#134-fix-s…
pump9918 Feb 1, 2024
75ece35
#138 [fix] 스낵바 Fragment 위 anchor 적용
pump9918 Feb 1, 2024
dbfc269
#134 [fix] companion bool 값으로 행복루틴 추가하기 진입상황 조건부 스낵바 띄우기
pump9918 Feb 2, 2024
c225fe9
#134 [chore] 불필요한 스낵바 코드 삭제
pump9918 Feb 2, 2024
04f36c7
#134 [chore] 불필요한 dimen 코드 삭제
pump9918 Feb 2, 2024
b760146
#134 [chore] 변수 선을을 위해 companion object -> object 전역변수 설정
pump9918 Feb 2, 2024
2f00c23
#134 [chore] 미사용 코드 삭제
pump9918 Feb 2, 2024
84c498b
Merge remote-tracking branch 'origin/develop' into feature/#134-fix-s…
pump9918 Feb 2, 2024
c24e54d
#134 [fix] registerForActivityResult 문제 코드 PR
pump9918 Feb 2, 2024
22d50e9
#134 [ui] registerForActivityResult 이용한 snackbar 띄우기
pump9918 Feb 2, 2024
2c6cbec
Merge remote-tracking branch 'origin/develop' into feature/#134-fix-s…
pump9918 Feb 2, 2024
90ff6ae
#134 [chore] 변수명 수정
pump9918 Feb 2, 2024
5e20a01
#134 [chore] registerForActivityResult 변수 위치 수정
pump9918 Feb 2, 2024
a297cab
#134 [chore] 안쓰는 전역변수 삭제
pump9918 Feb 2, 2024
837c8d6
Merge remote-tracking branch 'origin/develop' into feature/#134-fix-s…
pump9918 Feb 2, 2024
936da72
#134 [chore] 행복루틴 함수명 명시적으로 변경
pump9918 Feb 2, 2024
3eddd4a
#134 [chore] requireContext()로 변경 => NonNull 보장
pump9918 Feb 2, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,16 @@ package com.sopetit.softie.ui.happyroutine
import android.content.Intent
import android.os.Bundle
import android.view.View
import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.viewModels
import coil.load
import com.sopetit.softie.R
import com.sopetit.softie.databinding.FragmentHappyMyRoutineBinding
import com.sopetit.softie.ui.happyroutine.complete.HappyRoutineCompleteActivity
import com.sopetit.softie.ui.happyroutine.delete.HappyDeleteFragment
import com.sopetit.softie.ui.happyroutine.list.HappyAddListActivity
import com.sopetit.softie.util.CustomSnackbar
import com.sopetit.softie.util.OriginalBottomSheet
import com.sopetit.softie.util.binding.BindingBottomSheet
import com.sopetit.softie.util.binding.BindingFragment
Expand All @@ -22,17 +25,23 @@ class HappyMyRoutineFragment :
BindingFragment<FragmentHappyMyRoutineBinding>(R.layout.fragment_happy_my_routine) {

private val viewModel by viewModels<HappyMyRoutineViewModel>()
private var resultLauncher =
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
if (result.resultCode == AppCompatActivity.RESULT_OK) {
customHappyRoutineAddSnackBar()
}
}

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
binding.viewModel = viewModel
setStatusBarColor(R.color.background)

initSetBearFace()
setMyCardEnter()
setCardEnter()
setEditEnter()
setClearEnter()
startHappyAddListActivity()
setCardImageClickListener()
startHappyDeleteActivity()
startHappyRoutineCompleteBottomSheet()
}

override fun onResume() {
Expand All @@ -41,6 +50,15 @@ class HappyMyRoutineFragment :
viewModel.getHappyProgress()
}

private fun customHappyRoutineAddSnackBar() {
val customSnackbar = CustomSnackbar.make(
(binding.root.rootView),
getString(R.string.happy_routine_add_snack_bar),
binding.btnHappyProgressClear
)
customSnackbar.show(1000)
}

private fun initSetBearFace() {
viewModel.setDollFace()
viewModel.bearFace.observe(viewLifecycleOwner) { bearFace ->
Expand All @@ -51,25 +69,25 @@ class HappyMyRoutineFragment :
}
}

private fun setMyCardEnter() {
private fun startHappyAddListActivity() {
binding.ivHappyRoutineEmptyCard.setOnClickListener {
val intent = Intent(requireContext(), HappyAddListActivity::class.java)
startActivity(intent)
resultLauncher.launch(intent)
}
}

private fun setCardEnter() {
private fun setCardImageClickListener() {
with(binding) {
clHappyProgressCardFront.setSingleOnClickListener {
setCardFlip(clHappyProgressCardFront, clHappyProgressCardBack)
setCardImageFlip(clHappyProgressCardFront, clHappyProgressCardBack)
}
clHappyProgressCardBack.setSingleOnClickListener {
setCardFlip(clHappyProgressCardBack, clHappyProgressCardFront)
setCardImageFlip(clHappyProgressCardBack, clHappyProgressCardFront)
}
}
}

private fun setEditEnter() {
private fun startHappyDeleteActivity() {
binding.tvHappyProgressEdit.setSingleOnClickListener {
val happyDeleteFragment = HappyDeleteFragment()
requireActivity().supportFragmentManager.beginTransaction()
Expand All @@ -79,7 +97,7 @@ class HappyMyRoutineFragment :
}
}

private fun setCardFlip(viewFront: View, viewToBack: View) {
private fun setCardImageFlip(viewFront: View, viewToBack: View) {
val isVisible = viewFront.visibility == View.VISIBLE
if (isVisible) {
viewFront.visibility = View.INVISIBLE
Expand Down Expand Up @@ -117,7 +135,7 @@ class HappyMyRoutineFragment :
startActivity(intentToCompleteActivity)
}

private fun setClearEnter() {
private fun startHappyRoutineCompleteBottomSheet() {
binding.btnHappyProgressClear.setOnClickListener {
viewModel.happyProgressResponse.value?.iconImageUrl?.let { url ->
initHappyRoutineCompleteBottomSheet(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,12 @@ import com.sopetit.softie.R
import com.sopetit.softie.databinding.FragmentHappyDeleteBinding
import com.sopetit.softie.ui.happyroutine.HappyMyRoutineFragment
import com.sopetit.softie.ui.happyroutine.HappyMyRoutineViewModel
import com.sopetit.softie.ui.main.MainActivity
import com.sopetit.softie.util.CustomSnackbar
import com.sopetit.softie.util.OriginalBottomSheet
import com.sopetit.softie.util.binding.BindingBottomSheet
import com.sopetit.softie.util.binding.BindingFragment
import com.sopetit.softie.util.setSingleOnClickListener
import com.sopetit.softie.util.snackBar
import dagger.hilt.android.AndroidEntryPoint

@AndroidEntryPoint
Expand All @@ -25,9 +26,9 @@ class HappyDeleteFragment :
val happyProgress = viewModel.getHappyProgress()

setCardBinding(happyProgress)
setCardEnter()
setCardImageClickListener()
setCancelEnter()
setClearEnter()
startHappyDeleteBottomSheet()
}

private fun setCardBinding(happyProgress: Unit) {
Expand All @@ -49,13 +50,13 @@ class HappyDeleteFragment :
}
}

private fun setCardEnter() {
private fun setCardImageClickListener() {
with(binding) {
clHappyDeleteCardFront.setSingleOnClickListener {
setCardFlip(clHappyDeleteCardFront, clHappyDeleteCardBack)
setCardImageFlip(clHappyDeleteCardFront, clHappyDeleteCardBack)
}
clHappyDeleteCardBack.setSingleOnClickListener {
setCardFlip(clHappyDeleteCardBack, clHappyDeleteCardFront)
setCardImageFlip(clHappyDeleteCardBack, clHappyDeleteCardFront)
}
}
}
Expand All @@ -66,7 +67,7 @@ class HappyDeleteFragment :
}
}

private fun setCardFlip(viewFront: View, viewToBack: View) {
private fun setCardImageFlip(viewFront: View, viewToBack: View) {
val isVisible = viewFront.visibility == View.VISIBLE
if (isVisible) {
viewFront.visibility = View.INVISIBLE
Expand All @@ -77,7 +78,7 @@ class HappyDeleteFragment :
}
}

private fun setClearEnter() {
private fun startHappyDeleteBottomSheet() {
binding.btnHappyDeleteClear.setSingleOnClickListener {
BindingBottomSheet.Builder().build(
isDrawable = true,
Expand All @@ -96,10 +97,7 @@ class HappyDeleteFragment :
happyProgress?.let {
viewModel.deleteHappyProgress(happyProgress.routineId)
}
snackBar(
binding.root.rootView,
getString(R.string.happy_routine_delete_snack_bar)
)
customHappyDeleteSnackBar()
requireActivity().supportFragmentManager.beginTransaction()
.replace(R.id.fcv_main, HappyMyRoutineFragment())
.commit()
Expand All @@ -108,4 +106,13 @@ class HappyDeleteFragment :
).show(parentFragmentManager, OriginalBottomSheet.BOTTOM_SHEET_TAG)
}
}

private fun customHappyDeleteSnackBar() {
val customSnackbar = CustomSnackbar.make(
(binding.root.rootView),
getString(R.string.happy_routine_delete_snack_bar),
(requireActivity() as MainActivity).findViewById(R.id.bottom_navigation_home)
)
customSnackbar.show(1000)
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.sopetit.softie.ui.happyroutine.detail

import android.content.Intent
import android.graphics.Color
import android.os.Bundle
import androidx.activity.viewModels
Expand Down Expand Up @@ -36,7 +35,7 @@ class HappyDetailActivity :
setInitBinding(routineId, imageUrl)
setCurrentCard()
setBackEnter()
setupAdapter(routineId)
setHappyDetailCardPagerAdapter(routineId)
setIndicator()
}

Expand All @@ -56,7 +55,7 @@ class HappyDetailActivity :
viewModel.mySubroutineId.observe(this) { mySubRoutineId ->
mySubRoutineId?.let {
imageUrl?.let {
setBottomSheetEnter(it, mySubRoutineId)
startHappyRoutineAddBottomSheet(it, mySubRoutineId)
}
}
}
Expand Down Expand Up @@ -86,7 +85,7 @@ class HappyDetailActivity :
}
}

private fun setBottomSheetEnter(icon: String, subRoutineId: Int) {
private fun startHappyRoutineAddBottomSheet(icon: String, subRoutineId: Int) {
binding.btnHappyDetailAdd.setSingleOnClickListener {
initHappyRoutineAddBottomSheet(icon, subRoutineId)
}
Expand All @@ -106,18 +105,18 @@ class HappyDetailActivity :
doBtnColor = R.drawable.shape_main1_fill_12_rect,
backBtnAction = {},
doBtnAction = {
moveToProgress()
viewModel.postAddRoutine(subRoutineId)
moveToProgress()
}
).show(this.supportFragmentManager, OriginalBottomSheet.BOTTOM_SHEET_TAG)
}

private fun moveToProgress() {
setResult(RESULT_OK, Intent())
setResult(RESULT_OK)
finish()
}

private fun setupAdapter(routineId: String) {
private fun setHappyDetailCardPagerAdapter(routineId: String) {
with(binding) {
vpHappyAddDetailCard.adapter = happyRoutineAddCardPagerAdapter
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,13 @@ class HappyAddListActivity :
private var happyAddListChipContentAdapter: HappyAddListChipContentAdapter? = null
private var happyAddListContentAdapter: HappyAddListContentAdapter? = null

private val addHappinessRoutineResult = registerForActivityResult(
ActivityResultContracts.StartActivityForResult()
) {
finish()
}
private val startForDetailResult =
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
if (result.resultCode == RESULT_OK) {
setResult(RESULT_OK)
finish()
}
}

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Expand All @@ -43,12 +45,12 @@ class HappyAddListActivity :
setChipAdapters()
setBackEnter()
setItemDeco()
setupAdapter()
setHappyAddListAdapter()
}

private fun setChipAdapters() {
happyAddListChipContentAdapter = HappyAddListChipContentAdapter()
happyAddListContentAdapter = HappyAddListContentAdapter(::moveToDetail)
happyAddListContentAdapter = HappyAddListContentAdapter(::startDetailActivity)
}

private fun setBackEnter() {
Expand All @@ -64,7 +66,7 @@ class HappyAddListActivity :
binding.rvHappyAddListChip.addItemDecoration(chipDeco)
}

private fun setupAdapter() {
private fun setHappyAddListAdapter() {
with(binding) {
rvHappyAddListChip.adapter = happyAddListChipContentAdapter
rvHappyAddList.adapter = happyAddListContentAdapter
Expand All @@ -81,13 +83,12 @@ class HappyAddListActivity :
}
}

private fun moveToDetail(id: Int, iconImageUrl: String) {
val intentToDetail = Intent(this, HappyDetailActivity::class.java).apply {
private fun startDetailActivity(id: Int, iconImageUrl: String) {
val intent = Intent(this, HappyDetailActivity::class.java).apply {
putExtra(ID, id)
putExtra(ICON_IMAGE_URL, iconImageUrl)
}
addHappinessRoutineResult.launch(intentToDetail)
finish()
startForDetailResult.launch(intent)
}

companion object {
Expand Down
24 changes: 0 additions & 24 deletions app/src/main/java/com/sopetit/softie/ui/main/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,19 @@ package com.sopetit.softie.ui.main

import android.content.res.ColorStateList
import android.os.Bundle
import androidx.activity.viewModels
import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment
import com.sopetit.softie.R
import com.sopetit.softie.databinding.ActivityMainBinding
import com.sopetit.softie.ui.dailyroutine.DailyRoutineFragment
import com.sopetit.softie.ui.happyroutine.HappyMyRoutineFragment
import com.sopetit.softie.ui.happyroutine.HappyMyRoutineViewModel
import com.sopetit.softie.ui.main.home.HomeFragment
import com.sopetit.softie.util.binding.BindingActivity
import com.sopetit.softie.util.setStatusBarColorFromResource
import com.sopetit.softie.util.snackBar
import dagger.hilt.android.AndroidEntryPoint

@AndroidEntryPoint
class MainActivity : BindingActivity<ActivityMainBinding>(R.layout.activity_main) {
private val viewModel by viewModels<HappyMyRoutineViewModel>()

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Expand All @@ -27,14 +23,6 @@ class MainActivity : BindingActivity<ActivityMainBinding>(R.layout.activity_main
initFragment()
initBottomNavigation()
setBottomNavigationClickListener()
changeToHappyProgressFragment()
}

private fun changeToHappyProgressFragment() {
val fragmentToLoad = intent.getStringExtra("happy_progress_fragment")
if (fragmentToLoad == "happy_progress") {
loadHappyProgressFragment()
}
}

private fun setBottomNavigationClickListener() {
Expand Down Expand Up @@ -83,16 +71,4 @@ class MainActivity : BindingActivity<ActivityMainBinding>(R.layout.activity_main
intArrayOf(selectedTextColor, unselectedTextColor)
)
}

private fun loadHappyProgressFragment() {
val fragmentTransaction = supportFragmentManager.beginTransaction()
snackBar(
binding.btnMainAnchor,
getString(R.string.happy_routine_add_snack_bar)
)
setStatusBarColorFromResource(R.color.background)
binding.bnvMain.selectedItemId = R.id.bottom_navigation_happiness_routine
fragmentTransaction.replace(R.id.fcv_main, HappyMyRoutineFragment())
fragmentTransaction.commit()
}
}
4 changes: 3 additions & 1 deletion app/src/main/res/layout/item_happy_add_detail_card.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
android:id="@+id/cl_happy_routine_add_card"
android:layout_width="280dp"
android:layout_height="398dp"
android:background="@drawable/shape_white_fill_gray100_stroke_20_rect"
android:visibility="visible"
android:background="@drawable/shape_white_fill_gray100_stroke_20_rect"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
Expand Down Expand Up @@ -119,6 +119,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginTop="52dp"
android:layout_marginBottom="7dp"
android:src="@drawable/ic_time"
app:layout_constraintBottom_toTopOf="@id/iv_happy_routine_add_card_detail_place_back"
Expand All @@ -131,6 +132,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="6dp"
android:textAppearance="@style/body2"
android:textColor="@color/gray400"
app:layout_constraintBottom_toBottomOf="@id/iv_happy_routine_add_card_detail_time_back"
app:layout_constraintStart_toEndOf="@id/iv_happy_routine_add_card_detail_time_back"
Expand Down
Loading