From 3b3327be7bd6cd0954f94027d3707f67c9ccbe2b Mon Sep 17 00:00:00 2001 From: klaus Date: Sat, 22 Mar 2025 04:55:31 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A7=88=EC=9D=B4=20=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=20-=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20=ED=96=88?= =?UTF-8?q?=EC=9D=84=20=EB=95=8C=EB=A7=8C=20=EB=8D=B0=EC=9D=B4=ED=84=B0?= =?UTF-8?q?=EB=A5=BC=20=EC=A1=B0=ED=9A=8C=ED=95=98=EB=8F=84=EB=A1=9D=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/mypage/MyPageFragment.kt | 305 ++++++++++-------- .../sodalive/mypage/service_center/FaqApi.kt | 10 +- .../mypage/service_center/FaqRepository.kt | 7 +- .../service_center/ServiceCenterViewModel.kt | 8 +- .../sodalive/user/login/LoginActivity.kt | 3 +- .../drawable-xxhdpi/ic_logo_circle_gray.png | Bin 0 -> 4096 bytes app/src/main/res/layout/activity_login.xml | 18 +- app/src/main/res/layout/fragment_my.xml | 60 +++- 8 files changed, 231 insertions(+), 180 deletions(-) create mode 100644 app/src/main/res/drawable-xxhdpi/ic_logo_circle_gray.png diff --git a/app/src/main/java/kr/co/vividnext/sodalive/mypage/MyPageFragment.kt b/app/src/main/java/kr/co/vividnext/sodalive/mypage/MyPageFragment.kt index 4994456..1f77b19 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/mypage/MyPageFragment.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/mypage/MyPageFragment.kt @@ -23,6 +23,7 @@ import kr.co.vividnext.sodalive.explorer.profile.UserProfileActivity import kr.co.vividnext.sodalive.extensions.moneyFormat import kr.co.vividnext.sodalive.following.FollowingCreatorActivity import kr.co.vividnext.sodalive.live.reservation_status.LiveReservationStatusActivity +import kr.co.vividnext.sodalive.main.MainActivity import kr.co.vividnext.sodalive.mypage.alarm.AlarmListActivity import kr.co.vividnext.sodalive.mypage.auth.Auth import kr.co.vividnext.sodalive.mypage.auth.AuthVerifyRequest @@ -55,78 +56,13 @@ class MyPageFragment : BaseFragment(FragmentMyBinding::inflat override fun onStart() { super.onStart() - viewModel.getUserInfo() + + if (SharedPreferenceManager.token.isNotBlank()) { + viewModel.getUserInfo() + } } private fun setupView() { - binding.ivSettings.setOnClickListener { - startActivity( - Intent( - requireActivity(), - SettingsActivity::class.java - ) - ) - } - - binding.ivEdit.setOnClickListener { - startActivity( - Intent( - requireActivity(), - ProfileUpdateActivity::class.java - ) - ) - } - - if (SharedPreferenceManager.userId == 17958L) { - binding.llCan.visibility = View.GONE - } else { - binding.llCan.visibility = View.VISIBLE - binding.llTotalCan.setOnClickListener { - startActivity( - Intent( - requireActivity(), - CanStatusActivity::class.java - ) - ) - } - - binding.tvChargeCan.setOnClickListener { - startActivity( - Intent( - requireActivity(), - CanChargeActivity::class.java - ) - ) - } - } - - binding.rlCoupon.setOnClickListener { - startActivity( - Intent( - requireActivity(), - CanCouponActivity::class.java - ) - ) - } - - binding.rlAlarm.setOnClickListener { - startActivity( - Intent( - requireActivity(), - AlarmListActivity::class.java - ) - ) - } - - binding.llReservationLive.setOnClickListener { - startActivity( - Intent( - requireActivity(), - LiveReservationStatusActivity::class.java - ) - ) - } - binding.rlServiceCenter.setOnClickListener { startActivity( Intent( @@ -136,70 +72,6 @@ class MyPageFragment : BaseFragment(FragmentMyBinding::inflat ) } - binding.tvAuth.setOnClickListener { - Auth.auth(requireActivity(), requireContext()) { - val bootpayResponse = Gson().fromJson(it, BootpayResponse::class.java) - val request = AuthVerifyRequest(receiptId = bootpayResponse.data.receiptId) - requireActivity().runOnUiThread { - viewModel.authVerify(request) { - startActivity( - Intent( - requireContext(), - SplashActivity::class.java - ).apply { - addFlags( - Intent.FLAG_ACTIVITY_CLEAR_TASK or - Intent.FLAG_ACTIVITY_NEW_TASK - ) - } - ) - requireActivity().finish() - } - } - } - } - - if (SharedPreferenceManager.role == MemberRole.CREATOR.name) { - binding.tvMyChannel.visibility = View.VISIBLE - binding.tvMyChannel.setOnClickListener { - startActivity( - Intent( - requireContext(), - UserProfileActivity::class.java - ).apply { - putExtra( - Constants.EXTRA_USER_ID, - SharedPreferenceManager.userId - ) - } - ) - } - } else { - binding.tvMyChannel.visibility = View.GONE - } - - binding.tvFollowingList.setOnClickListener { - startActivity(Intent(requireContext(), FollowingCreatorActivity::class.java)) - } - - binding.tvBlockMemberList.setOnClickListener { - startActivity(Intent(requireContext(), BlockMemberActivity::class.java)) - } - - binding.tvOrderList.setOnClickListener { - startActivity( - Intent(requireContext(), AudioContentBoxActivity::class.java) - ) - } - - binding.tvPlaylist.setOnClickListener { - startActivity( - Intent(requireContext(), AudioContentBoxActivity::class.java).apply { - putExtra(Constants.EXTRA_START_TAB_POSITION, 1) - } - ) - } - val ivHowToUseLp = binding.ivHowToUse.layoutParams as LinearLayout.LayoutParams ivHowToUseLp.width = screenWidth ivHowToUseLp.height = (200 * screenWidth) / 1080 @@ -210,6 +82,173 @@ class MyPageFragment : BaseFragment(FragmentMyBinding::inflat startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(url))) } } + + if (SharedPreferenceManager.token.isNotBlank()) { + binding.ivSettings.visibility = View.VISIBLE + binding.llProfileContainer.visibility = View.VISIBLE + binding.llProfileLoginContainer.visibility = View.GONE + binding.llFollowingMemberListContainer.visibility = View.VISIBLE + + binding.rlAlarm.visibility = View.VISIBLE + binding.rlCoupon.visibility = View.VISIBLE + binding.llLockerContainer.visibility = View.VISIBLE + binding.llReservationStatusContainer.visibility = View.VISIBLE + + binding.ivSettings.setOnClickListener { + startActivity( + Intent( + requireActivity(), + SettingsActivity::class.java + ) + ) + } + + binding.ivEdit.setOnClickListener { + startActivity( + Intent( + requireActivity(), + ProfileUpdateActivity::class.java + ) + ) + } + + if (SharedPreferenceManager.userId == 17958L) { + binding.llCan.visibility = View.GONE + } else { + binding.llCan.visibility = View.VISIBLE + binding.llTotalCan.setOnClickListener { + startActivity( + Intent( + requireActivity(), + CanStatusActivity::class.java + ) + ) + } + + binding.tvChargeCan.setOnClickListener { + startActivity( + Intent( + requireActivity(), + CanChargeActivity::class.java + ) + ) + } + } + + binding.rlCoupon.setOnClickListener { + startActivity( + Intent( + requireActivity(), + CanCouponActivity::class.java + ) + ) + } + + binding.rlAlarm.setOnClickListener { + startActivity( + Intent( + requireActivity(), + AlarmListActivity::class.java + ) + ) + } + + binding.llReservationLive.setOnClickListener { + startActivity( + Intent( + requireActivity(), + LiveReservationStatusActivity::class.java + ) + ) + } + + binding.tvAuth.setOnClickListener { + Auth.auth(requireActivity(), requireContext()) { + val bootpayResponse = Gson().fromJson(it, BootpayResponse::class.java) + val request = AuthVerifyRequest(receiptId = bootpayResponse.data.receiptId) + requireActivity().runOnUiThread { + viewModel.authVerify(request) { + startActivity( + Intent( + requireContext(), + SplashActivity::class.java + ).apply { + addFlags( + Intent.FLAG_ACTIVITY_CLEAR_TASK or + Intent.FLAG_ACTIVITY_NEW_TASK + ) + } + ) + requireActivity().finish() + } + } + } + } + + if (SharedPreferenceManager.role == MemberRole.CREATOR.name) { + binding.tvMyChannel.visibility = View.VISIBLE + binding.tvMyChannel.setOnClickListener { + startActivity( + Intent( + requireContext(), + UserProfileActivity::class.java + ).apply { + putExtra( + Constants.EXTRA_USER_ID, + SharedPreferenceManager.userId + ) + } + ) + } + } else { + binding.tvMyChannel.visibility = View.GONE + } + + binding.tvFollowingList.setOnClickListener { + startActivity(Intent(requireContext(), FollowingCreatorActivity::class.java)) + } + + binding.tvBlockMemberList.setOnClickListener { + startActivity(Intent(requireContext(), BlockMemberActivity::class.java)) + } + + binding.tvOrderList.setOnClickListener { + startActivity( + Intent(requireContext(), AudioContentBoxActivity::class.java) + ) + } + + binding.tvPlaylist.setOnClickListener { + startActivity( + Intent(requireContext(), AudioContentBoxActivity::class.java).apply { + putExtra(Constants.EXTRA_START_TAB_POSITION, 1) + } + ) + } + } else { + binding.tvTotalCan.text = "0" + binding.ivSettings.visibility = View.GONE + binding.llProfileContainer.visibility = View.GONE + binding.llProfileLoginContainer.visibility = View.VISIBLE + binding.llFollowingMemberListContainer.visibility = View.GONE + + binding.rlAlarm.visibility = View.GONE + binding.rlCoupon.visibility = View.GONE + binding.llLockerContainer.visibility = View.GONE + binding.llReservationStatusContainer.visibility = View.GONE + + binding.llProfileLoginContainer.setOnClickListener { + (requireActivity() as MainActivity).showLoginActivity() + } + + binding.llTotalCan.setOnClickListener { + (requireActivity() as MainActivity).showLoginActivity() + } + + binding.tvChargeCan.setOnClickListener { + (requireActivity() as MainActivity).showLoginActivity() + } + } } @SuppressLint("SetTextI18n", "NotifyDataSetChanged") diff --git a/app/src/main/java/kr/co/vividnext/sodalive/mypage/service_center/FaqApi.kt b/app/src/main/java/kr/co/vividnext/sodalive/mypage/service_center/FaqApi.kt index 39b4e37..3c4c7d5 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/mypage/service_center/FaqApi.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/mypage/service_center/FaqApi.kt @@ -3,18 +3,12 @@ package kr.co.vividnext.sodalive.mypage.service_center import io.reactivex.rxjava3.core.Single import kr.co.vividnext.sodalive.common.ApiResponse import retrofit2.http.GET -import retrofit2.http.Header import retrofit2.http.Query interface FaqApi { @GET("/faq") - fun getFaqs( - @Query("category") category: String, - @Header("Authorization") authHeader: String - ): Single>> + fun getFaqs(@Query("category") category: String): Single>> @GET("/faq/category") - fun getFaqCategories( - @Header("Authorization") authHeader: String - ): Single>> + fun getFaqCategories(): Single>> } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/mypage/service_center/FaqRepository.kt b/app/src/main/java/kr/co/vividnext/sodalive/mypage/service_center/FaqRepository.kt index dbc3dbf..75f3dae 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/mypage/service_center/FaqRepository.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/mypage/service_center/FaqRepository.kt @@ -1,9 +1,6 @@ package kr.co.vividnext.sodalive.mypage.service_center class FaqRepository(private val api: FaqApi) { - fun getCategories(token: String) = api.getFaqCategories(authHeader = token) - fun getFaqs(category: String, token: String) = api.getFaqs( - category = category, - authHeader = token - ) + fun getCategories() = api.getFaqCategories() + fun getFaqs(category: String) = api.getFaqs(category = category) } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/mypage/service_center/ServiceCenterViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/mypage/service_center/ServiceCenterViewModel.kt index a5d6ece..df5e4a6 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/mypage/service_center/ServiceCenterViewModel.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/mypage/service_center/ServiceCenterViewModel.kt @@ -6,7 +6,6 @@ import com.orhanobut.logger.Logger import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.schedulers.Schedulers import kr.co.vividnext.sodalive.base.BaseViewModel -import kr.co.vividnext.sodalive.common.SharedPreferenceManager class ServiceCenterViewModel(val repository: FaqRepository) : BaseViewModel() { @@ -24,7 +23,7 @@ class ServiceCenterViewModel(val repository: FaqRepository) : BaseViewModel() { fun getFaqCategories() { compositeDisposable.add( - repository.getCategories(token = "Bearer ${SharedPreferenceManager.token}") + repository.getCategories() .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe( @@ -51,10 +50,7 @@ class ServiceCenterViewModel(val repository: FaqRepository) : BaseViewModel() { fun getFaqs(category: String) { compositeDisposable.add( - repository.getFaqs( - category = category, - token = "Bearer ${SharedPreferenceManager.token}" - ) + repository.getFaqs(category = category) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe( diff --git a/app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginActivity.kt index 387257a..a651871 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/user/login/LoginActivity.kt @@ -52,7 +52,8 @@ class LoginActivity : BaseActivity(ActivityLoginBinding::i } } - binding.tvToolbar.text = "로그인" + binding.toolbar.tvBack.text = "로그인" + binding.toolbar.tvBack.setOnClickListener { finish() } loadingDialog = LoadingDialog(this, layoutInflater) binding.etPassword.setOnEditorActionListener { _, actionId, _ -> diff --git a/app/src/main/res/drawable-xxhdpi/ic_logo_circle_gray.png b/app/src/main/res/drawable-xxhdpi/ic_logo_circle_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..f740d7cc0b48bcb841c097c4398ba2bc1b11c346 GIT binary patch literal 4096 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 - + + android:src="@drawable/ic_settings" + android:visibility="gone" /> + + + + + + + android:padding="20dp" + android:visibility="gone"> + android:src="@drawable/ic_website_circle" + android:visibility="gone" /> + android:src="@drawable/ic_blog_circle" + android:visibility="gone" /> + android:src="@drawable/ic_instagram_circle" + android:visibility="gone" /> + android:src="@drawable/ic_youtube_circle" + android:visibility="gone" /> @@ -159,9 +187,11 @@ android:visibility="gone" /> + android:layout_marginTop="26.7dp" + android:visibility="gone"> + android:paddingVertical="20dp" + android:visibility="gone"> + android:paddingVertical="20dp" + android:visibility="gone"> + android:orientation="vertical" + android:visibility="gone"> + android:orientation="vertical" + android:visibility="gone">