lmw
2024-07-16 935a87b3578806ca37fee37f03da8c419a3896ce
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
package com.dollearn.student.dialog
 
import android.content.DialogInterface
import android.os.Bundle
import android.text.method.LinkMovementMethod
import android.text.style.ClickableSpan
import android.view.Gravity
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.DialogFragment
import cn.sinata.xldutils.activity.BaseActivity
import cn.sinata.xldutils.utils.SPUtils
import cn.sinata.xldutils.utils.SpanBuilder
import cn.sinata.xldutils.utils.optString
import cn.sinata.xldutils.utils.screenWidth
import com.dollearn.student.R
import com.dollearn.student.network.Apis
import com.dollearn.student.network.HttpManager
import com.dollearn.student.network.request
import com.dollearn.student.ui.H5Activity
import com.dollearn.student.utils.Const
import com.dollearn.student.utils.extention.clickDelay
import kotlinx.android.synthetic.main.dialog_rule.*
import org.jetbrains.anko.startActivity
import org.jetbrains.anko.support.v4.startActivity
import org.jetbrains.anko.wrapContent
 
class RuleDialog: DialogFragment() {
    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? =
            inflater.inflate(R.layout.dialog_rule,container,false)
 
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setStyle(STYLE_NO_FRAME, R.style.FadeDialog)
    }
 
    override fun onActivityCreated(savedInstanceState: Bundle?) {
        super.onActivityCreated(savedInstanceState)
        dialog?.window?.setLayout((screenWidth()*0.65).toInt(), wrapContent)
        dialog?.window?.setGravity(Gravity.CENTER)
        dialog?.setCanceledOnTouchOutside(false)
    }
 
 
 
    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        tv_user_rule.clickDelay {
            HttpManager.getH5(1).request(activity as BaseActivity){ _, data->
                data?.let {
                    startActivity<H5Activity>("title" to "用户协议","url" to it)
                }
            }
        }
 
        tv_privacy_rule.clickDelay {
            HttpManager.getH5(2).request(activity as BaseActivity){ _, data->
                data?.let {
                    startActivity<H5Activity>("title" to "隐私协议","url" to it)
                }
            }
        }
 
        tv_cancel.setOnClickListener {
            dismiss()
        }
 
        tv_ok.setOnClickListener {
            SPUtils.instance().put(Const.User.IS_AGREE, true).apply()
            dismiss()
        }
    }
 
    override fun onDismiss(dialog: DialogInterface) {
        super.onDismiss(dialog)
        val isAccept = SPUtils.instance().getBoolean( Const.User.IS_AGREE, false)
        if (!isAccept) {
            activity?.finish()
        } else {
            callback?.onOk()
        }
    }
 
    interface OnClickCallback{
        fun onOk()
    }
 
    private var callback:OnClickCallback? = null
 
    fun setCallback(callback:OnClickCallback){
        this.callback = callback
    }
}