package com.xty.base.weight

import android.content.Context
import android.location.LocationManager
import android.view.View
import com.hjq.toast.ToastUtils
import com.xty.base.databinding.DialogGspBinding
import com.xty.base.dialog.BaseDialog

class GpsToastDialog(context: Context,var success:()->Unit,var fail:()->Unit) : BaseDialog(context) {
    val  binding by lazy{DialogGspBinding.inflate(layoutInflater)}
    override fun setLayout()=binding.root
    override fun initView() {
        super.initView()
        setDialogPadding(40,0,40,0)
        setCanceledOnTouchOutside(false)
        setCancelable(false)
        binding.mTvConfirm.setOnClickListener {
            if(isOPen()){
                success.invoke()
                dismiss()
            }else{
                ToastUtils.show("GPS未打开")
            }
        }
        binding.mTvCancel.setOnClickListener {
            dismiss()
            fail.invoke()
        }
    }


    /**
     * GPS开关是否打开
     */
    fun isOPen(): Boolean {
        val locationManager: LocationManager = context.getSystemService(Context.LOCATION_SERVICE) as LocationManager
        // 通过GPS卫星定位，定位级别可以精确到街（通过24颗卫星定位，在室外和空旷的地方定位准确、速度快）
        val gps: Boolean = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)
        // 通过WLAN或移动网络(3G/2G)确定的位置（也称作AGPS，辅助GPS定位。主要用于在室内或遮盖物（建筑群或茂密的深林等）密集的地方定位）
        val network: Boolean = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)
        return gps || network
    }

}