From b50df2cdf30839f1b66b75c5ae15c11b4a7d9093 Mon Sep 17 00:00:00 2001 From: klaus Date: Mon, 24 Mar 2025 21:25:31 +0900 Subject: [PATCH] =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C=20-=20=ED=81=AC?= =?UTF-8?q?=EB=A6=AC=EC=97=90=EC=9D=B4=ED=84=B0=EC=9D=98=20=EA=B2=BD?= =?UTF-8?q?=EC=9A=B0=20=EB=9D=BC=EC=9D=B4=EB=B8=8C=20=EB=A7=8C=EB=93=A4?= =?UTF-8?q?=EA=B8=B0=20=EB=B2=84=ED=8A=BC=EC=9D=B4=20=EB=B0=94=EB=A1=9C=20?= =?UTF-8?q?=EB=B3=B4=EC=9D=B4=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vividnext/sodalive/live/LiveFragment.kt | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/LiveFragment.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/LiveFragment.kt index a923eaf..4ec2c9a 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/LiveFragment.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/live/LiveFragment.kt @@ -3,6 +3,7 @@ package kr.co.vividnext.sodalive.live import android.annotation.SuppressLint import android.app.Activity import android.content.Intent +import android.content.SharedPreferences import android.graphics.Rect import android.net.Uri import android.os.Bundle @@ -76,6 +77,27 @@ class LiveFragment : BaseFragment(FragmentLiveBinding::infl private var message = "" private val handler = Handler(Looper.getMainLooper()) + private val preferenceChangeListener = + SharedPreferences.OnSharedPreferenceChangeListener { sharedPreferences, key -> + // 특정 키에 대한 값이 변경될 때 UI 업데이트 + if (key == Constants.PREF_USER_ROLE) { + if ( + sharedPreferences.getString( + key, + MemberRole.USER.name + ) == MemberRole.CREATOR.name + ) { + binding.ivMakeRoom.visibility = View.VISIBLE + binding.ivMakeRoom.setOnClickListener { + val intent = Intent(requireContext(), LiveRoomCreateActivity::class.java) + activityResultLauncher.launch(intent) + } + } else { + binding.ivMakeRoom.visibility = View.GONE + } + } + } + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -96,6 +118,7 @@ class LiveFragment : BaseFragment(FragmentLiveBinding::infl override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + SharedPreferenceManager.registerOnSharedPreferenceChangeListener(preferenceChangeListener) setupView() setupRecommendLive() @@ -121,6 +144,11 @@ class LiveFragment : BaseFragment(FragmentLiveBinding::infl viewModel.getSummary() } + override fun onDestroyView() { + SharedPreferenceManager.unregisterOnSharedPreferenceChangeListener(preferenceChangeListener) + super.onDestroyView() + } + private fun setupView() { loadingDialog = LoadingDialog(requireActivity(), layoutInflater)