From ef17427f64eeaf4cee47d351b7f77c244bdda206 Mon Sep 17 00:00:00 2001 From: Li ZongYing Date: Tue, 21 May 2024 09:55:15 +0800 Subject: [PATCH] add reset --- HISTORY.md | 4 ++ app/src/main/AndroidManifest.xml | 2 +- .../java/com/lizongying/mytv/CardAdapter.kt | 2 +- .../com/lizongying/mytv/ChannelFragment.kt | 2 +- .../java/com/lizongying/mytv/ErrorFragment.kt | 2 +- .../java/com/lizongying/mytv/InfoFragment.kt | 2 +- .../com/lizongying/mytv/ItemDecoration.kt | 4 +- .../com/lizongying/mytv/LoadingFragment.kt | 2 +- .../java/com/lizongying/mytv/MainActivity.kt | 21 ++++-- .../java/com/lizongying/mytv/MainFragment.kt | 4 +- ...{MyTvApplication.kt => MyTVApplication.kt} | 2 +- .../com/lizongying/mytv/SettingFragment.kt | 64 +++++++++---------- .../java/com/lizongying/mytv/TimeFragment.kt | 2 +- .../main/java/com/lizongying/mytv/api/YSP.kt | 14 ++-- .../com/lizongying/mytv/models/TVViewModel.kt | 2 +- app/src/main/res/layout/setting.xml | 7 ++ app/src/main/res/values/strings.xml | 1 + version.json | 2 +- 18 files changed, 81 insertions(+), 58 deletions(-) rename app/src/main/java/com/lizongying/mytv/{MyTvApplication.kt => MyTVApplication.kt} (98%) diff --git a/HISTORY.md b/HISTORY.md index 4443aeac..d3bafa41 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,9 @@ ## 更新日志 +### v2.0.5 + +* 设置页增加恢复默认按钮,目前只用于同步系统时间 + ### v2.0.4 * 修复不能播放的问题 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f8ede284..2fe04640 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,7 +15,7 @@ = Build.VERSION_CODES.P) { val lp = window.attributes @@ -70,6 +68,17 @@ class MainActivity : FragmentActivity(), Request.RequestListener, OnSharedPrefer window.setAttributes(lp) } + + window.decorView.apply { + systemUiVisibility = + SYSTEM_UI_FLAG_FULLSCREEN or + SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or + View.SYSTEM_UI_FLAG_LAYOUT_STABLE or + SYSTEM_UI_FLAG_HIDE_NAVIGATION or + SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or + View.SYSTEM_UI_FLAG_IMMERSIVE + } + window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) window.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN) window.decorView.systemUiVisibility = @@ -82,6 +91,10 @@ class MainActivity : FragmentActivity(), Request.RequestListener, OnSharedPrefer // window.navigationBarColor = Color.TRANSPARENT // } + setContentView(R.layout.activity_main) + + Request.setRequestListener(this) + if (savedInstanceState == null) { val transaction = supportFragmentManager.beginTransaction() .add(R.id.main_browse_fragment, playerFragment) diff --git a/app/src/main/java/com/lizongying/mytv/MainFragment.kt b/app/src/main/java/com/lizongying/mytv/MainFragment.kt index f9835e0d..e789e0b3 100644 --- a/app/src/main/java/com/lizongying/mytv/MainFragment.kt +++ b/app/src/main/java/com/lizongying/mytv/MainFragment.kt @@ -42,7 +42,7 @@ class MainFragment : Fragment(), CardAdapter.ItemListener { private var lastVideoUrl = "" - private lateinit var application: MyTvApplication + private lateinit var application: MyTVApplication private lateinit var gestureDetector: GestureDetector @@ -53,7 +53,7 @@ class MainFragment : Fragment(), CardAdapter.ItemListener { val context = requireContext() _binding = MenuBinding.inflate(inflater, container, false) - application = requireActivity().applicationContext as MyTvApplication + application = requireActivity().applicationContext as MyTVApplication binding.menu.layoutParams.width = application.shouldWidthPx() binding.menu.layoutParams.height = application.shouldHeightPx() diff --git a/app/src/main/java/com/lizongying/mytv/MyTvApplication.kt b/app/src/main/java/com/lizongying/mytv/MyTVApplication.kt similarity index 98% rename from app/src/main/java/com/lizongying/mytv/MyTvApplication.kt rename to app/src/main/java/com/lizongying/mytv/MyTVApplication.kt index 7dc93dc7..4e82181b 100644 --- a/app/src/main/java/com/lizongying/mytv/MyTvApplication.kt +++ b/app/src/main/java/com/lizongying/mytv/MyTVApplication.kt @@ -8,7 +8,7 @@ import android.view.WindowManager import androidx.multidex.MultiDex -class MyTvApplication : Application() { +class MyTVApplication : Application() { private lateinit var displayMetrics: DisplayMetrics private lateinit var realDisplayMetrics: DisplayMetrics diff --git a/app/src/main/java/com/lizongying/mytv/SettingFragment.kt b/app/src/main/java/com/lizongying/mytv/SettingFragment.kt index ee425240..99618f97 100644 --- a/app/src/main/java/com/lizongying/mytv/SettingFragment.kt +++ b/app/src/main/java/com/lizongying/mytv/SettingFragment.kt @@ -14,6 +14,7 @@ import androidx.core.content.ContextCompat import androidx.core.view.marginEnd import androidx.core.view.marginTop import androidx.fragment.app.DialogFragment +import com.lizongying.mytv.api.YSP import com.lizongying.mytv.databinding.SettingBinding @@ -97,7 +98,14 @@ class SettingFragment : DialogFragment() { requestInstallPermissions() } - val application = requireActivity().applicationContext as MyTvApplication + binding.clear.setOnClickListener { + (requireActivity() as MainActivity).syncTime() + SP.guid = "" + YSP.getGuid() + } + + val application = requireActivity().applicationContext as MyTVApplication + val textSize = application.px2PxFont(binding.switchChannelReversal.textSize) binding.content.layoutParams.width = application.px2Px(binding.content.layoutParams.width) @@ -108,51 +116,41 @@ class SettingFragment : DialogFragment() { application.px2Px(binding.content.paddingBottom) ) binding.name.textSize = application.px2PxFont(binding.name.textSize) - binding.version.textSize = application.px2PxFont(binding.version.textSize) + binding.version.textSize = textSize val layoutParamsVersion = binding.version.layoutParams as ViewGroup.MarginLayoutParams layoutParamsVersion.topMargin = application.px2Px(binding.version.marginTop) binding.version.layoutParams = layoutParamsVersion - binding.checkVersion.textSize = application.px2PxFont(binding.checkVersion.textSize) + binding.checkVersion.textSize = textSize val layoutParamsCheckVersion = binding.checkVersion.layoutParams as ViewGroup.MarginLayoutParams layoutParamsCheckVersion.marginEnd = application.px2Px(binding.checkVersion.marginEnd) binding.checkVersion.layoutParams = layoutParamsCheckVersion - binding.versionName.textSize = application.px2PxFont(binding.versionName.textSize) + binding.versionName.textSize = textSize - binding.exit.textSize = application.px2PxFont(binding.exit.textSize) + binding.clear.textSize = textSize + binding.exit.textSize = textSize - binding.switchChannelReversal.textSize = - application.px2PxFont(binding.switchChannelReversal.textSize) - val layoutParamsChannelReversal = + val layoutParamsChannelSwitch = binding.switchChannelReversal.layoutParams as ViewGroup.MarginLayoutParams - layoutParamsChannelReversal.topMargin = + layoutParamsChannelSwitch.topMargin = application.px2Px(binding.switchChannelReversal.marginTop) - binding.switchChannelReversal.layoutParams = layoutParamsChannelReversal - - binding.switchChannelNum.textSize = application.px2PxFont(binding.switchChannelNum.textSize) - val layoutParamsChannelNum = - binding.switchChannelNum.layoutParams as ViewGroup.MarginLayoutParams - layoutParamsChannelNum.topMargin = application.px2Px(binding.switchChannelNum.marginTop) - binding.switchChannelNum.layoutParams = layoutParamsChannelNum - - binding.switchTime.textSize = application.px2PxFont(binding.switchTime.textSize) - val layoutParamsTime = binding.switchTime.layoutParams as ViewGroup.MarginLayoutParams - layoutParamsTime.topMargin = application.px2Px(binding.switchTime.marginTop) - binding.switchTime.layoutParams = layoutParamsTime - - binding.switchBootStartup.textSize = - application.px2PxFont(binding.switchBootStartup.textSize) - val layoutParamsBootStartup = - binding.switchBootStartup.layoutParams as ViewGroup.MarginLayoutParams - layoutParamsBootStartup.topMargin = application.px2Px(binding.switchBootStartup.marginTop) - binding.switchBootStartup.layoutParams = layoutParamsBootStartup - - binding.switchGrid.textSize = application.px2PxFont(binding.switchGrid.textSize) - val layoutParamsGrid = binding.switchGrid.layoutParams as ViewGroup.MarginLayoutParams - layoutParamsGrid.topMargin = application.px2Px(binding.switchGrid.marginTop) - binding.switchGrid.layoutParams = layoutParamsGrid + + binding.switchChannelReversal.textSize = textSize + binding.switchChannelReversal.layoutParams = layoutParamsChannelSwitch + + binding.switchChannelNum.textSize = textSize + binding.switchChannelNum.layoutParams = layoutParamsChannelSwitch + + binding.switchTime.textSize = textSize + binding.switchTime.layoutParams = layoutParamsChannelSwitch + + binding.switchBootStartup.textSize = textSize + binding.switchBootStartup.layoutParams = layoutParamsChannelSwitch + + binding.switchGrid.textSize = textSize + binding.switchGrid.layoutParams = layoutParamsChannelSwitch binding.appreciate.layoutParams.width = application.px2Px(binding.appreciate.layoutParams.width) diff --git a/app/src/main/java/com/lizongying/mytv/TimeFragment.kt b/app/src/main/java/com/lizongying/mytv/TimeFragment.kt index 93738d23..d241df47 100644 --- a/app/src/main/java/com/lizongying/mytv/TimeFragment.kt +++ b/app/src/main/java/com/lizongying/mytv/TimeFragment.kt @@ -24,7 +24,7 @@ class TimeFragment : Fragment() { ): View { _binding = TimeBinding.inflate(inflater, container, false) - val application = requireActivity().applicationContext as MyTvApplication + val application = requireActivity().applicationContext as MyTVApplication binding.time.layoutParams.width = application.px2Px(binding.time.layoutParams.width) binding.time.layoutParams.height = application.px2Px(binding.time.layoutParams.height) diff --git a/app/src/main/java/com/lizongying/mytv/api/YSP.kt b/app/src/main/java/com/lizongying/mytv/api/YSP.kt index 71374860..876e67b7 100644 --- a/app/src/main/java/com/lizongying/mytv/api/YSP.kt +++ b/app/src/main/java/com/lizongying/mytv/api/YSP.kt @@ -1,7 +1,6 @@ package com.lizongying.mytv.api import android.content.Context -import android.util.Log import com.lizongying.mytv.SP import com.lizongying.mytv.Utils.getDateTimestamp import com.lizongying.mytv.models.TVViewModel @@ -103,18 +102,18 @@ object YSP { cKey = encryptor.encrypt(cnlid, timeStr, appVer, guid, platform) - Log.i(TAG,"yspsdkinput ${"""{"cnlid":"$cnlid","livepid":"$livepid","stream":"$stream","guid":"$guid","cKey":"$cKey","adjust":$adjust,"sphttps":"$sphttps","platform":"$platform","cmd":"$cmd","encryptVer":"$encryptVer","dtype":"$dtype","devid":"$devid","otype":"$otype","appVer":"$appVer","app_version":"$appVersion","channel":"$channel","defn":"$defn"}"""}" ) - - yspsdkinput = md("adjust=$adjust&app_version=$appVersion&appVer=$appVer&channel=$channel&cKey=$cKey&cmd=$cmd&cnlid=$cnlid&defn=$defn&devid=$devid&dtype=$dtype&encryptVer=$encryptVer&guid=$guid&livepid=$livepid&otype=$otype&platform=$platform&sphttps=$sphttps&stream=$stream") + yspsdkinput = + md("adjust=$adjust&app_version=$appVersion&appVer=$appVer&channel=$channel&cKey=$cKey&cmd=$cmd&cnlid=$cnlid&defn=$defn&devid=$devid&dtype=$dtype&encryptVer=$encryptVer&guid=$guid&livepid=$livepid&otype=$otype&platform=$platform&sphttps=$sphttps&stream=$stream") nseqId++ - nrequest_id = "999999" + getRand() + getTimeStr() + nrequest_id = "999999" + getRand() + getTimeStr() - openapi_signature = md("yspappid:519748109;host:www.yangshipin.cn;protocol:https:;token:$token2;input:$yspsdkinput-$guid-$nseqId-$nrequest_id;") + openapi_signature = + md("yspappid:519748109;host:www.yangshipin.cn;protocol:https:;token:$token2;input:$yspsdkinput-$guid-$nseqId-$nrequest_id;") } - fun md(str:String):String { + fun md(str: String): String { val md = MessageDigest.getInstance("MD5") md.update(str.toByteArray()) val digest = md.digest() @@ -148,6 +147,7 @@ object YSP { var guid = SP.guid if (guid.length < 18) { guid = generateGuid() + this.guid = guid SP.guid = guid } return guid diff --git a/app/src/main/java/com/lizongying/mytv/models/TVViewModel.kt b/app/src/main/java/com/lizongying/mytv/models/TVViewModel.kt index 180e9489..d20082e0 100644 --- a/app/src/main/java/com/lizongying/mytv/models/TVViewModel.kt +++ b/app/src/main/java/com/lizongying/mytv/models/TVViewModel.kt @@ -15,7 +15,7 @@ class TVViewModel(private var tv: TV) : ViewModel() { private var itemPosition: Int = 0 var retryTimes = 0 - var retryMaxTimes = 1 + var retryMaxTimes = 8 var authYSPRetryTimes = 0 var authYSPRetryMaxTimes = 3 var tokenYSPRetryTimes = 0 diff --git a/app/src/main/res/layout/setting.xml b/app/src/main/res/layout/setting.xml index f0a29910..ecfd4abe 100644 --- a/app/src/main/res/layout/setting.xml +++ b/app/src/main/res/layout/setting.xml @@ -55,6 +55,13 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" /> +