//package com.zxhyis.toolss.ui.start
//
//import android.content.Context
//import android.graphics.Color
//import android.text.Html
//import android.text.method.LinkMovementMethod
//import android.view.View
//import androidx.activity.result.ActivityResultLauncher
//import androidx.activity.result.contract.ActivityResultContracts
//import androidx.appcompat.widget.AppCompatTextView
//import androidx.recyclerview.widget.LinearLayoutManager
//import com.zxhyis.toolss.R
//import com.zxhyis.toolss.ad.ComUtils
//import com.zxhyis.toolss.ad.MaxAdUtils
//import com.zxhyis.toolss.ad.bean.PushCfg
//import com.zxhyis.toolss.base.TopActivity
//import com.zxhyis.toolss.common.notification.NotificationEx.requestNotificationPer
//import com.zxhyis.toolss.databinding.ActivityStartBinding
//import com.zxhyis.toolss.logic.clauseList
//import com.zxhyis.toolss.logic.setOnClick
//import com.zxhyis.toolss.logic.startActivity
//import com.zxhyis.toolss.logic.testLog
//import com.zxhyis.toolss.ui.adapter.CommonAdapter
//import com.zxhyis.toolss.ui.page.BatteryInfoActivity
//import com.zxhyis.toolss.ui.page.JunkCleanActivity
//import kotlinx.coroutines.Dispatchers
//import kotlinx.coroutines.MainScope
//import kotlinx.coroutines.delay
//import kotlinx.coroutines.launch
//import kotlin.concurrent.timer
//import kotlin.random.Random
//import kotlin.time.Duration.Companion.seconds
//import kotlin.time.DurationUnit
//
//
//class StartActivity : TopActivity<ActivityStartBinding>() {
//
//    private var jump: Boolean = false
//    private var outTime = 15.seconds.toLong(DurationUnit.MILLISECONDS)
//    private var isPause = false
//    private val permissionResult: ActivityResultLauncher<String> = registerForActivityResult(
//        ActivityResultContracts.RequestPermission()
//    ) {
//    }
//
//    override fun getViewBinding1(): ActivityStartBinding {
//        return ActivityStartBinding.inflate(layoutInflater)
//    }
//
//    override fun init() {
//        outTime =
//            ComUtils.getAdPositionData("splash_slot").loading_page_time.seconds.toLong(DurationUnit.MILLISECONDS)
//
//        vb.tvTerms.text = Html.fromHtml(
//            "<a href='https://sites.google.com/view/terms-select/home'>Terms of use</a>"
//        )
//        vb.tvTerms.movementMethod = LinkMovementMethod.getInstance()
//
//        vb.tvPrivacy.text = Html.fromHtml(
//            "<a href='https://sites.google.com/view/abdoze/home'>Privacy Policy</a>"
//        )
//        vb.tvPrivacy.movementMethod = LinkMovementMethod.getInstance()
//
//        updateUI()
//
//        vb.btStart.setOnClick(javaClass.simpleName) {
//            vb.clSplash.setBackgroundResource(R.drawable.splash_bg)
//            // 将状态栏设置为透明
//            window.decorView.systemUiVisibility =
//                View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
//            // 设置状态栏颜色为透明
//            window.statusBarColor = Color.TRANSPARENT
//            ComUtils.requestCfg()
//            showSecondUI()
//            getSharedPreferences("sp_config_file", Context.MODE_PRIVATE).edit().putBoolean("is_first", false).apply()
//        }
//
//    }
//
//    private fun connect() {
//        MainScope().launch(Dispatchers.Main) {
//            var time = 0
//            while (true) {
//                delay(200)
//                time += 200
//                if (vb.pb.progress <= 98 && time <= 15000) {
//                    vb.pb.progress = (vb.pb.progress + Random.nextInt(5)).coerceAtMost(98)
//                } else if (vb.pb.progress != 99 && !isPause) {
//                    break
//                }
//            }
//            delay(50)
//            vb.pb.progress = 100
//            jumpNextPage()
//        }
//    }
//
//    private fun jumpNextPage() {
//        if (isDestroyed or jump) {
//            return
//        }
//        jump = true
//        val JumpType = intent.getIntExtra("type", 0)
//        when (JumpType) {
////=================================主动广播=======================================
//            PushCfg.ID_JUNK_CLEAN_PUSH -> {
//                startActivity<JunkCleanActivity>()
//            }
//
//            PushCfg.ID_BATTERY_PUSH -> {
//                startActivity<BatteryInfoActivity>()
//            }
//
////================================被动广播=========================================
//            PushCfg.ID_UNINSTALL_PACKAGE_PUSH or PushCfg.ID_INSTALL_PACKAGE_PUSH -> {
//                startActivity<JunkCleanActivity>()
//            }
//
//            PushCfg.ID_CHARGE -> {
//                startActivity<BatteryInfoActivity>()
//            }
//
//            PushCfg.ID_LOW_BATTERY_PUSH -> {
//                startActivity<BatteryInfoActivity>()
//            }
//
//            PushCfg.ID_LOW_JUNK_PUSH -> {
//                startActivity<JunkCleanActivity>()
//            }
//
//            else -> {
//                val isHotLaunch = intent?.extras?.getBoolean("isHotLaunch", false) ?: false
//                if (!isHotLaunch) {
//                    startActivity<StartPageActivity>()
//                }
//            }
//        }
//        finish()
//    }
//
//    private fun showClause() {
//        vb.rvClause.apply {
//            layoutManager = LinearLayoutManager(this@StartActivity)
//            adapter = CommonAdapter(R.layout.item_clause, clauseList, {
//                this.findViewById<AppCompatTextView>(R.id.tv_content).text = it
//            }) {
//
//            }
//        }
//    }
//
//
//    private fun updateUI() {
//        if (getSharedPreferences("sp_config_file", Context.MODE_PRIVATE).getBoolean("is_first", true)) {
//            showFirstUI()
//            showClause()
//        } else {
//            showSecondUI()
//            vb.clSplash.setBackgroundResource(R.drawable.splash_bg)
//            // 将状态栏设置为透明
//            window.decorView.systemUiVisibility =
//                View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
//            // 设置状态栏颜色为透明
//            window.statusBarColor = Color.TRANSPARENT
//        }
//
//    }
//
//    private fun showFirstUI() {
//        vb.apply {
//            appIcon.visibility = View.VISIBLE
//            tvName.visibility = View.VISIBLE
//            rvClause.visibility = View.VISIBLE
//            llTerm.visibility = View.VISIBLE
//            btStart.visibility = View.VISIBLE
//
//            ivLogo.visibility = View.GONE
//            tvApp.visibility = View.GONE
//            pb.visibility = View.GONE
//            tvLoad.visibility = View.GONE
//            tvAdDes.visibility = View.GONE
//            clSplash.setBackgroundResource(R.drawable.bg_shape_pb)
//        }
//    }
//
//    private fun showSecondUI() {
//        testLog("showSecondUI")
//        requestNotificationPer(this, permissionResult)
//        vb.apply {
//            appIcon.visibility = View.GONE
//            tvName.visibility = View.GONE
//            rvClause.visibility = View.GONE
//            llTerm.visibility = View.GONE
//            btStart.visibility = View.GONE
//
//            ivLogo.visibility = View.VISIBLE
//            tvApp.visibility = View.VISIBLE
//            pb.visibility = View.VISIBLE
//            tvLoad.visibility = View.VISIBLE
//            tvAdDes.visibility = View.VISIBLE
//        }
//        connect()
//        vb.root.postDelayed({
//            MaxAdUtils.loadInterstitialAd(this)
//            MaxAdUtils.loadOpenAd {
//                timer(period = 300) {
//                    if (isFinishing || isDestroyed) {
//                        cancel()
//                    } else if (vb.pb.progress > 25) {
//                        vb.pb.progress = 99
//                        if (!isPause) {
//                            cancel()
//                            runOnUiThread {
//                                MaxAdUtils.showAppOpenAd(this@StartActivity, "splash_slot") {
//                                    vb.pb.progress = 100
//                                }
//                            }
//                        }
//                    }
//                }
//            }
//            MaxAdUtils.loadMaxNativeAd()
//        }, 2000)
//
//
//    }
//
//    override fun onStart() {
//        super.onStart()
//        isPause = false
//    }
//
//    override fun onStop() {
//        super.onStop()
//        isPause = true
//    }
//
//    override fun onResume() {
//        super.onResume()
//        vb.btStart.setBackgroundResource(R.drawable.bg_shape_start)
//    }
//
//
//}