fix(comment): 캐릭터 댓글 신고 BottomSheet가 표시되지 않는 문제 수정
- childFragmentManager 대신 parentFragmentManager로 신고 BottomSheet 표시 - BottomSheet dismiss 직후 show 트랜잭션 충돌/우선순위 이슈 완화
This commit is contained in:
		@@ -137,7 +137,7 @@ class CharacterCommentListFragment : BaseFragment<FragmentCharacterCommentListBi
 | 
				
			|||||||
                                    })
 | 
					                                    })
 | 
				
			||||||
                            compositeDisposable.add(d)
 | 
					                            compositeDisposable.add(d)
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                        reportSheet.show(childFragmentManager, "comment_report")
 | 
					                        reportSheet.show(parentFragmentManager, "comment_report")
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    onDelete = {
 | 
					                    onDelete = {
 | 
				
			||||||
                        // 삭제 확인 팝업
 | 
					                        // 삭제 확인 팝업
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,17 +28,23 @@ class CharacterCommentMoreBottomSheet : BottomSheetDialogFragment() {
 | 
				
			|||||||
        val view = inflater.inflate(R.layout.dialog_character_comment_more, container, false)
 | 
					        val view = inflater.inflate(R.layout.dialog_character_comment_more, container, false)
 | 
				
			||||||
        val tvReport = view.findViewById<TextView>(R.id.tv_report)
 | 
					        val tvReport = view.findViewById<TextView>(R.id.tv_report)
 | 
				
			||||||
        val tvDelete = view.findViewById<TextView>(R.id.tv_delete)
 | 
					        val tvDelete = view.findViewById<TextView>(R.id.tv_delete)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // 공통 리스너 설정
 | 
				
			||||||
        tvReport.setOnClickListener {
 | 
					        tvReport.setOnClickListener {
 | 
				
			||||||
            dismiss()
 | 
					            dismiss()
 | 
				
			||||||
            onReport?.invoke()
 | 
					            onReport?.invoke()
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // 요구사항: 내가 쓴 댓글은 '삭제'만, 남이 쓴 댓글은 '신고'만 노출
 | 
				
			||||||
        if (isOwner) {
 | 
					        if (isOwner) {
 | 
				
			||||||
 | 
					            tvReport.visibility = View.GONE
 | 
				
			||||||
            tvDelete.visibility = View.VISIBLE
 | 
					            tvDelete.visibility = View.VISIBLE
 | 
				
			||||||
            tvDelete.setOnClickListener {
 | 
					            tvDelete.setOnClickListener {
 | 
				
			||||||
                dismiss()
 | 
					                dismiss()
 | 
				
			||||||
                onDelete?.invoke()
 | 
					                onDelete?.invoke()
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
 | 
					            tvReport.visibility = View.VISIBLE
 | 
				
			||||||
            tvDelete.visibility = View.GONE
 | 
					            tvDelete.visibility = View.GONE
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        return view
 | 
					        return view
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										7
									
								
								app/src/main/res/drawable/bg_bottom_sheet_handle.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								app/src/main/res/drawable/bg_bottom_sheet_handle.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<shape xmlns:android="http://schemas.android.com/apk/res/android"
 | 
				
			||||||
 | 
					    android:shape="rectangle">
 | 
				
			||||||
 | 
					    <size android:height="4dp" />
 | 
				
			||||||
 | 
					    <corners android:radius="2dp" />
 | 
				
			||||||
 | 
					    <solid android:color="#66FFFFFF" />
 | 
				
			||||||
 | 
					</shape>
 | 
				
			||||||
@@ -3,29 +3,36 @@
 | 
				
			|||||||
    android:layout_width="match_parent"
 | 
					    android:layout_width="match_parent"
 | 
				
			||||||
    android:layout_height="wrap_content"
 | 
					    android:layout_height="wrap_content"
 | 
				
			||||||
    android:orientation="vertical"
 | 
					    android:orientation="vertical"
 | 
				
			||||||
    android:padding="16dp"
 | 
					    android:paddingHorizontal="24dp"
 | 
				
			||||||
    android:background="@color/color_131313">
 | 
					    android:paddingTop="8dp"
 | 
				
			||||||
 | 
					    android:paddingBottom="8dp"
 | 
				
			||||||
 | 
					    android:background="@color/color_131313"
 | 
				
			||||||
 | 
					    android:gravity="center_horizontal">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- 상단 handlebar -->
 | 
				
			||||||
 | 
					    <View
 | 
				
			||||||
 | 
					        android:id="@+id/handle"
 | 
				
			||||||
 | 
					        android:layout_width="36dp"
 | 
				
			||||||
 | 
					        android:layout_height="4dp"
 | 
				
			||||||
 | 
					        android:layout_marginTop="8dp"
 | 
				
			||||||
 | 
					        android:layout_marginBottom="12dp"
 | 
				
			||||||
 | 
					        android:background="@drawable/bg_bottom_sheet_handle" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <TextView
 | 
					    <TextView
 | 
				
			||||||
        android:id="@+id/tv_report"
 | 
					        android:id="@+id/tv_report"
 | 
				
			||||||
        android:layout_width="match_parent"
 | 
					        android:layout_width="match_parent"
 | 
				
			||||||
        android:layout_height="wrap_content"
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
        android:paddingVertical="12dp"
 | 
					        android:paddingVertical="16dp"
 | 
				
			||||||
        android:text="신고"
 | 
					        android:text="신고"
 | 
				
			||||||
        android:textColor="@color/white"
 | 
					        android:textColor="@color/white"
 | 
				
			||||||
        android:textSize="16sp" />
 | 
					        android:textSize="18sp" />
 | 
				
			||||||
 | 
					 | 
				
			||||||
    <View
 | 
					 | 
				
			||||||
        android:layout_width="match_parent"
 | 
					 | 
				
			||||||
        android:layout_height="1dp"
 | 
					 | 
				
			||||||
        android:background="#78909C" />
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <TextView
 | 
					    <TextView
 | 
				
			||||||
        android:id="@+id/tv_delete"
 | 
					        android:id="@+id/tv_delete"
 | 
				
			||||||
        android:layout_width="match_parent"
 | 
					        android:layout_width="match_parent"
 | 
				
			||||||
        android:layout_height="wrap_content"
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
        android:paddingVertical="12dp"
 | 
					        android:paddingVertical="16dp"
 | 
				
			||||||
        android:text="삭제"
 | 
					        android:text="삭제"
 | 
				
			||||||
        android:textColor="#EF5350"
 | 
					        android:textColor="#EF5350"
 | 
				
			||||||
        android:textSize="16sp" />
 | 
					        android:textSize="18sp" />
 | 
				
			||||||
</LinearLayout>
 | 
					</LinearLayout>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user