auto auth

This commit is contained in:
Li ZongYing
2024-02-21 16:36:37 +08:00
parent a4da01adf4
commit 6ede7f76ef
3 changed files with 44 additions and 20 deletions
@@ -49,8 +49,6 @@ class MainActivity : FragmentActivity() {
private var channelNum = true private var channelNum = true
private var bootStartup = true private var bootStartup = true
private var versionName = ""
init { init {
lifecycleScope.launch(Dispatchers.IO) { lifecycleScope.launch(Dispatchers.IO) {
val utilsJob = async(start = CoroutineStart.LAZY) { Utils.init() } val utilsJob = async(start = CoroutineStart.LAZY) { Utils.init() }
@@ -87,7 +85,7 @@ class MainActivity : FragmentActivity() {
bootStartup = sharedPref.getBoolean(BOOT_STARTUP, bootStartup) bootStartup = sharedPref.getBoolean(BOOT_STARTUP, bootStartup)
val packageInfo = getPackageInfo() val packageInfo = getPackageInfo()
versionName = packageInfo.versionName val versionName = packageInfo.versionName
val versionCode = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { val versionCode = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
packageInfo.longVersionCode packageInfo.longVersionCode
} else { } else {
@@ -162,6 +160,11 @@ class MainActivity : FragmentActivity() {
handler.postDelayed(hideMain, delayHideMain) handler.postDelayed(hideMain, delayHideMain)
} }
fun settingActive() {
handler.removeCallbacks(hideSetting)
handler.postDelayed(hideSetting, delayHideSetting)
}
private val hideMain = Runnable { private val hideMain = Runnable {
if (!mainFragment.isHidden) { if (!mainFragment.isHidden) {
supportFragmentManager.beginTransaction().hide(mainFragment).commit() supportFragmentManager.beginTransaction().hide(mainFragment).commit()
@@ -268,8 +271,7 @@ class MainActivity : FragmentActivity() {
Log.i(TAG, "settingFragment ${settingFragment.isVisible}") Log.i(TAG, "settingFragment ${settingFragment.isVisible}")
if (!settingFragment.isVisible) { if (!settingFragment.isVisible) {
settingFragment.show(supportFragmentManager, "setting") settingFragment.show(supportFragmentManager, "setting")
handler.removeCallbacks(hideSetting) settingActive()
handler.postDelayed(hideSetting, delayHideSetting)
} else { } else {
handler.removeCallbacks(hideSetting) handler.removeCallbacks(hideSetting)
settingFragment.dismiss() settingFragment.dismiss()
@@ -36,6 +36,8 @@ class Request {
private var ysp: YSP? = null private var ysp: YSP? = null
private var token = "" private var token = ""
private var needAuth = false
// TODO onDestroy // TODO onDestroy
private val handler = Handler(Looper.getMainLooper()) private val handler = Handler(Looper.getMainLooper())
private lateinit var btraceRunnable: BtraceRunnable private lateinit var btraceRunnable: BtraceRunnable
@@ -54,7 +56,7 @@ class Request {
} }
var call: Call<LiveInfo>? = null var call: Call<LiveInfo>? = null
var callAuth: Call<Auth>? = null private var callAuth: Call<Auth>? = null
private fun fetchAuth(tvModel: TVViewModel, cookie: String) { private fun fetchAuth(tvModel: TVViewModel, cookie: String) {
callAuth?.cancel() callAuth?.cancel()
@@ -119,7 +121,7 @@ class Request {
if (tvModel.getTV().needToken) { if (tvModel.getTV().needToken) {
if (tvModel.tokenRetryTimes == tvModel.tokenRetryMaxTimes) { if (tvModel.tokenRetryTimes == tvModel.tokenRetryMaxTimes) {
if (!tvModel.getTV().mustToken) { if (!tvModel.getTV().mustToken) {
fetchVideo(tvModel, cookie) fetchAuth(tvModel, cookie)
} }
} else { } else {
token = "" token = ""
@@ -186,14 +188,17 @@ class Request {
if (tvModel.getTV().needToken) { if (tvModel.getTV().needToken) {
if (tvModel.tokenRetryTimes == tvModel.tokenRetryMaxTimes) { if (tvModel.tokenRetryTimes == tvModel.tokenRetryMaxTimes) {
if (!tvModel.getTV().mustToken) { if (!tvModel.getTV().mustToken) {
fetchVideo(tvModel, cookie) // fetchVideo(tvModel, cookie)
fetchAuth(tvModel, cookie)
} }
} else { } else {
token = "" token = ""
fetchVideo(tvModel) // fetchVideo(tvModel)
fetchAuth(tvModel)
} }
} else { } else {
fetchVideo(tvModel, cookie) // fetchVideo(tvModel, cookie)
fetchAuth(tvModel, cookie)
} }
} }
} }
@@ -208,14 +213,17 @@ class Request {
if (tvModel.getTV().needToken) { if (tvModel.getTV().needToken) {
if (tvModel.tokenRetryTimes == tvModel.tokenRetryMaxTimes) { if (tvModel.tokenRetryTimes == tvModel.tokenRetryMaxTimes) {
if (!tvModel.getTV().mustToken) { if (!tvModel.getTV().mustToken) {
fetchVideo(tvModel, cookie) // fetchVideo(tvModel, cookie)
fetchAuth(tvModel, cookie)
} }
} else { } else {
token = "" token = ""
fetchVideo(tvModel) // fetchVideo(tvModel)
fetchAuth(tvModel)
} }
} else { } else {
fetchVideo(tvModel, cookie) // fetchVideo(tvModel, cookie)
fetchAuth(tvModel, cookie)
} }
} }
} }
@@ -227,14 +235,17 @@ class Request {
if (tvModel.getTV().needToken) { if (tvModel.getTV().needToken) {
if (tvModel.tokenRetryTimes == tvModel.tokenRetryMaxTimes) { if (tvModel.tokenRetryTimes == tvModel.tokenRetryMaxTimes) {
if (!tvModel.getTV().mustToken) { if (!tvModel.getTV().mustToken) {
fetchVideo(tvModel, cookie) // fetchVideo(tvModel, cookie)
fetchAuth(tvModel, cookie)
} }
} else { } else {
token = "" token = ""
fetchVideo(tvModel) // fetchVideo(tvModel)
fetchAuth(tvModel)
} }
} else { } else {
fetchVideo(tvModel, cookie) // fetchVideo(tvModel, cookie)
fetchAuth(tvModel, cookie)
} }
} }
} }
@@ -323,6 +334,7 @@ class Request {
Log.e(TAG, "info status error") Log.e(TAG, "info status error")
if (tvModel.tokenRetryTimes < tvModel.tokenRetryMaxTimes) { if (tvModel.tokenRetryTimes < tvModel.tokenRetryMaxTimes) {
tvModel.tokenRetryTimes++ tvModel.tokenRetryTimes++
if (needAuth)
fetchVideo(tvModel) fetchVideo(tvModel)
} else { } else {
if (!tvModel.getTV().mustToken) { if (!tvModel.getTV().mustToken) {
@@ -357,13 +369,20 @@ class Request {
fun fetchData(tvModel: TVViewModel) { fun fetchData(tvModel: TVViewModel) {
if (tvModel.getTV().needToken) { if (tvModel.getTV().needToken) {
// fetchVideo(tvModel) if (needAuth) {
fetchAuth(tvModel) fetchAuth(tvModel)
} else {
fetchVideo(tvModel)
}
} else { } else {
val cookie = val cookie =
"versionName=99.99.99; versionCode=999999; vplatform=109; platformVersion=Chrome; deviceModel=120; appid=1400421205" "versionName=99.99.99; versionCode=999999; vplatform=109; platformVersion=Chrome; deviceModel=120; appid=1400421205"
// fetchVideo(tvModel, cookie)
fetchAuth(tvModel, cookie) if (needAuth) {
fetchAuth(tvModel, cookie)
} else {
fetchVideo(tvModel, cookie)
}
} }
} }
@@ -40,18 +40,21 @@ class SettingFragment(
switchChannelReversal?.isChecked = channelReversal switchChannelReversal?.isChecked = channelReversal
switchChannelReversal?.setOnCheckedChangeListener { _, isChecked -> switchChannelReversal?.setOnCheckedChangeListener { _, isChecked ->
(activity as MainActivity).saveChannelReversal(isChecked) (activity as MainActivity).saveChannelReversal(isChecked)
(activity as MainActivity).settingActive()
} }
val switchChannelNum = _binding?.switchChannelNum val switchChannelNum = _binding?.switchChannelNum
switchChannelNum?.isChecked = channelNum switchChannelNum?.isChecked = channelNum
switchChannelNum?.setOnCheckedChangeListener { _, isChecked -> switchChannelNum?.setOnCheckedChangeListener { _, isChecked ->
(activity as MainActivity).saveChannelNum(isChecked) (activity as MainActivity).saveChannelNum(isChecked)
(activity as MainActivity).settingActive()
} }
val switchBootStartup = _binding?.switchBootStartup val switchBootStartup = _binding?.switchBootStartup
switchBootStartup?.isChecked = bootStartup switchBootStartup?.isChecked = bootStartup
switchBootStartup?.setOnCheckedChangeListener { _, isChecked -> switchBootStartup?.setOnCheckedChangeListener { _, isChecked ->
(activity as MainActivity).saveBootStartup(isChecked) (activity as MainActivity).saveBootStartup(isChecked)
(activity as MainActivity).settingActive()
} }
updateManager = UpdateManager(context, this, versionCode) updateManager = UpdateManager(context, this, versionCode)