fix(gallery): 구매 다이얼로그를 AlertDialog에서 SodaDialog로 교체
디자인 일관성 및 공통 컴포넌트 적용을 위해 갤러리 탭의 구매 확인 다이얼로그에 SodaDialog를 사용하도록 변경
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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() {
|
||||||
|
|||||||
Reference in New Issue
Block a user