fix(gallery): 구매 다이얼로그를 AlertDialog에서 SodaDialog로 교체

디자인 일관성 및 공통 컴포넌트 적용을 위해 갤러리 탭의 구매 확인 다이얼로그에
SodaDialog를 사용하도록 변경
This commit is contained in:
2025-08-22 22:17:31 +09:00
parent 9164942395
commit 770c4179a3
2 changed files with 13 additions and 12 deletions

View File

@@ -2,12 +2,12 @@ package kr.co.vividnext.sodalive.base
import android.app.Activity import android.app.Activity
import android.graphics.Color import android.graphics.Color
import android.graphics.drawable.ColorDrawable
import android.view.Gravity import android.view.Gravity
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.WindowManager import android.view.WindowManager
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.core.graphics.drawable.toDrawable
import kr.co.vividnext.sodalive.databinding.DialogSodaBinding import kr.co.vividnext.sodalive.databinding.DialogSodaBinding
import kr.co.vividnext.sodalive.extensions.dpToPx import kr.co.vividnext.sodalive.extensions.dpToPx
@@ -33,7 +33,7 @@ open class SodaDialog(
alertDialog = dialogBuilder.create() alertDialog = dialogBuilder.create()
alertDialog.setCancelable(false) alertDialog.setCancelable(false)
alertDialog.window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) alertDialog.window?.setBackgroundDrawable(Color.TRANSPARENT.toDrawable())
dialogView.tvTitle.text = title dialogView.tvTitle.text = title
dialogView.tvDesc.text = desc dialogView.tvDesc.text = desc

View File

@@ -3,11 +3,11 @@ package kr.co.vividnext.sodalive.chat.character.detail.gallery
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import androidx.appcompat.app.AlertDialog
import androidx.core.graphics.toColorInt import androidx.core.graphics.toColorInt
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import kr.co.vividnext.sodalive.base.BaseFragment import kr.co.vividnext.sodalive.base.BaseFragment
import kr.co.vividnext.sodalive.base.SodaDialog
import kr.co.vividnext.sodalive.chat.character.detail.CharacterDetailActivity.Companion.EXTRA_CHARACTER_ID import kr.co.vividnext.sodalive.chat.character.detail.CharacterDetailActivity.Companion.EXTRA_CHARACTER_ID
import kr.co.vividnext.sodalive.common.GridSpacingItemDecoration import kr.co.vividnext.sodalive.common.GridSpacingItemDecoration
import kr.co.vividnext.sodalive.common.LoadingDialog import kr.co.vividnext.sodalive.common.LoadingDialog
@@ -119,16 +119,17 @@ class CharacterGalleryFragment : BaseFragment<FragmentCharacterGalleryBinding>(
} }
private fun showPurchaseDialog(item: CharacterImageListItemResponse, position: Int) { private fun showPurchaseDialog(item: CharacterImageListItemResponse, position: Int) {
AlertDialog.Builder(requireActivity()) SodaDialog(
.setTitle("[구매 확인]") activity = requireActivity(),
.setMessage("선택한 이미지를 구매하시겠습니까?") layoutInflater = this.layoutInflater,
.setNegativeButton("취소") { dialog, _ -> title = "구매 확인",
dialog.dismiss() desc = "선택한 이미지를 구매하시겠습니까?",
} confirmButtonTitle = "${item.imagePriceCan}캔으로 구매",
.setPositiveButton("${item.imagePriceCan}캔으로 구매") { dialog, _ -> confirmButtonClick = {
dialog.dismiss()
viewModel.purchaseImage(item.id, position) viewModel.purchaseImage(item.id, position)
}.show() },
cancelButtonTitle = "취소"
).show(screenWidth)
} }
private fun hideLoadingDialog() { private fun hideLoadingDialog() {