package com.base.datarecovery.view

import android.content.Context
import android.view.LayoutInflater
import android.view.View
import com.base.datarecovery.activity.MainActivity
import com.base.datarecovery.databinding.DialogPermissionBottomsheetBinding
import com.base.datarecovery.help.ActivityLauncher
import com.base.datarecovery.help.PermissionHelp.requestStorePermission
import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.bottomsheet.BottomSheetDialog

object PermissionDialog {

    fun MainActivity.showPermissionBottomSheet(launcher: ActivityLauncher): BottomSheetDialog {
        val dialog = BottomSheetDialog(this)
        val binding = DialogPermissionBottomsheetBinding.inflate(LayoutInflater.from(this))
        dialog.setContentView(binding.root)
//        dialog.setCanceledOnTouchOutside(false)
//        dialog.setCancelable(false)
        dialog.show()

        val parentView = binding.root.parent as View
        BottomSheetBehavior.from(parentView).state = BottomSheetBehavior.STATE_EXPANDED

        binding.tvOpen.setOnClickListener {
            requestStorePermission(launcher, result = {
                if (it) {
                    dialog.dismiss()
                    this.permissionDialogShowed = true
                }
            })
        }
        return dialog

    }

}