package com.yidianling.muse.widget


import android.os.Bundle
import android.util.DisplayMetrics
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.view.ViewGroup.LayoutParams.MATCH_PARENT
import android.widget.ImageView
import android.widget.LinearLayout
import android.widget.TextView
import androidx.fragment.app.DialogFragment
import com.bumptech.glide.Glide
import com.ydl.ydlcommon.utils.remind.ToastHelper
import com.yidianling.muse.R


class ShareMeditationDialog:DialogFragment() {

    private var ivSharePicture:ImageView?=null
    private var tvShareContent:TextView?=null

    private var llWeChat:LinearLayout?=null
    private var llCircleOfFriends:LinearLayout?=null
    private var llSave:LinearLayout?=null
    private var llQQZone:LinearLayout?=null
    private var llQQFriend:LinearLayout?=null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setStyle(STYLE_NO_TITLE,R.style.share_meditation_dialog)
    }

    override fun onStart() {
        super.onStart()
        val displayMetrics = DisplayMetrics()
        activity?.windowManager?.defaultDisplay?.getMetrics(displayMetrics)
        val window = dialog?.window
        window?.setLayout(MATCH_PARENT, MATCH_PARENT)

    }

    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {

        val view = inflater.inflate(R.layout.layout_share_play_meditation, container)

        initView(view)

        return view
    }

    private fun initView(view: View?) {

        val shareImageUrl = arguments?.getString(KEY_SHARE_IMAGE_URL)
        val shareContent = arguments?.getString(KEY_SHARE_CONTENT)

        ivSharePicture = view?.findViewById(R.id.iv_share_picture)

        tvShareContent = view?.findViewById(R.id.tv_share_content)

        if (view!=null && ivSharePicture!=null){
            Glide.with(view.context)
                .load(shareImageUrl)
                .into(ivSharePicture!!)
        }
        tvShareContent?.text = shareContent

        llWeChat = view?.findViewById(R.id.ll_wechat_friend)
        llCircleOfFriends = view?.findViewById(R.id.ll_wechat_circle_of_friends)
        llSave = view?.findViewById(R.id.ll_save_picture)
        llQQZone = view?.findViewById(R.id.ll_qq_zone)
        llQQFriend = view?.findViewById(R.id.ll_qq_friend)

        llWeChat?.setOnClickListener {
            ToastHelper.show("分享给微信好友!")
        }

        llCircleOfFriends?.setOnClickListener {
            ToastHelper.show("分享到朋友圈!")
        }

        llSave?.setOnClickListener {
            ToastHelper.show("保存图片!")
        }

        llQQZone?.setOnClickListener {
            ToastHelper.show("分享到QQ空间!")
        }

        llQQFriend?.setOnClickListener {
            ToastHelper.show("分享给QQ好友!")
        }

        view?.findViewById<TextView>(R.id.tv_cancel_share)?.setOnClickListener {
            dismiss()
        }

    }

    companion object{
        const val TAG = "ShareMeditationDialog"

        private const val KEY_SHARE_IMAGE_URL = "key_share_image_url"
        private const val KEY_SHARE_CONTENT = "key_share_content"

        fun newInstance(shareImageUrl:String,shareContent:String):ShareMeditationDialog{
            val args = Bundle()
            args.putString(KEY_SHARE_IMAGE_URL,shareImageUrl)
            args.putString(KEY_SHARE_CONTENT,shareContent)
            val fragment = ShareMeditationDialog()
            fragment.arguments = args
            return fragment
        }

    }

}