优化:仅当开启自动检查且有网络时,App启动时自动检查更新

This commit is contained in:
pppscn 2023-12-14 16:47:02 +08:00
parent 437716cd4e
commit 33995b2ebd
7 changed files with 54 additions and 15 deletions

View File

@ -143,8 +143,8 @@ class MainActivity : BaseActivity<ActivityMainBinding?>(),
} }
private fun initData() { private fun initData() {
//仅当WIFI网络时自动检查更新/获取提示 //仅当开启自动检查且有网络时自动检查更新/获取提示
if (NetworkUtils.isWifi() && NetworkUtils.isHaveInternet()) { if (SettingUtils.autoCheckUpdate && NetworkUtils.isHaveInternet()) {
showTips(this) showTips(this)
XUpdateInit.checkUpdate(this, false) XUpdateInit.checkUpdate(this, false)
} }

View File

@ -16,6 +16,7 @@ import com.idormy.sms.forwarder.utils.CommonUtils.Companion.previewMarkdown
import com.idormy.sms.forwarder.utils.CommonUtils.Companion.previewPicture import com.idormy.sms.forwarder.utils.CommonUtils.Companion.previewPicture
import com.idormy.sms.forwarder.utils.HistoryUtils import com.idormy.sms.forwarder.utils.HistoryUtils
import com.idormy.sms.forwarder.utils.HttpServerUtils import com.idormy.sms.forwarder.utils.HttpServerUtils
import com.idormy.sms.forwarder.utils.SettingUtils
import com.idormy.sms.forwarder.utils.XToastUtils import com.idormy.sms.forwarder.utils.XToastUtils
import com.idormy.sms.forwarder.utils.sdkinit.XUpdateInit import com.idormy.sms.forwarder.utils.sdkinit.XUpdateInit
import com.xuexiang.xaop.annotation.SingleClick import com.xuexiang.xaop.annotation.SingleClick
@ -29,7 +30,8 @@ import com.xuexiang.xutil.file.FileUtils
import frpclib.Frpclib import frpclib.Frpclib
import java.io.File import java.io.File
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.* import java.util.Date
import java.util.Locale
@Page(name = "关于软件") @Page(name = "关于软件")
class AboutFragment : BaseFragment<FragmentAboutBinding?>(), SuperTextView.OnSuperTextViewClickListener { class AboutFragment : BaseFragment<FragmentAboutBinding?>(), SuperTextView.OnSuperTextViewClickListener {
@ -62,6 +64,11 @@ class AboutFragment : BaseFragment<FragmentAboutBinding?>(), SuperTextView.OnSup
val dateFormat = SimpleDateFormat("yyyy", Locale.CHINA) val dateFormat = SimpleDateFormat("yyyy", Locale.CHINA)
val currentYear = dateFormat.format(Date()) val currentYear = dateFormat.format(Date())
binding!!.copyright.text = java.lang.String.format(resources.getString(R.string.about_copyright), currentYear) binding!!.copyright.text = java.lang.String.format(resources.getString(R.string.about_copyright), currentYear)
binding!!.scbAutoCheckUpdate.isChecked = SettingUtils.autoCheckUpdate
binding!!.scbAutoCheckUpdate.setOnCheckedChangeListener { _, isChecked ->
SettingUtils.autoCheckUpdate = isChecked
}
} }
override fun initListeners() { override fun initListeners() {
@ -117,6 +124,7 @@ class AboutFragment : BaseFragment<FragmentAboutBinding?>(), SuperTextView.OnSup
R.id.menu_donation -> { R.id.menu_donation -> {
previewMarkdown(this, getString(R.string.about_item_donation_link), getString(R.string.url_donation_link), false) previewMarkdown(this, getString(R.string.about_item_donation_link), getString(R.string.url_donation_link), false)
} }
R.id.menu_wechat_miniprogram -> { R.id.menu_wechat_miniprogram -> {
if (HttpServerUtils.safetyMeasures != 3) { if (HttpServerUtils.safetyMeasures != 3) {
XToastUtils.error("微信小程序只支持SM4加密传输请前往主动控制·服务端修改安全措施") XToastUtils.error("微信小程序只支持SM4加密传输请前往主动控制·服务端修改安全措施")
@ -124,18 +132,23 @@ class AboutFragment : BaseFragment<FragmentAboutBinding?>(), SuperTextView.OnSup
} }
previewPicture(this, getString(R.string.url_wechat_miniprogram), null) previewPicture(this, getString(R.string.url_wechat_miniprogram), null)
} }
R.id.menu_wecom_group -> { R.id.menu_wecom_group -> {
previewPicture(this, getString(R.string.url_wework_group), null) previewPicture(this, getString(R.string.url_wework_group), null)
} }
R.id.menu_dingtalk_group -> { R.id.menu_dingtalk_group -> {
previewPicture(this, getString(R.string.url_dingtalk_group), null) previewPicture(this, getString(R.string.url_dingtalk_group), null)
} }
R.id.menu_qq_channel -> { R.id.menu_qq_channel -> {
AgentWebActivity.goWeb(context, getString(R.string.url_qq_channel)) AgentWebActivity.goWeb(context, getString(R.string.url_qq_channel))
} }
R.id.menu_user_protocol -> { R.id.menu_user_protocol -> {
gotoProtocol(this, isPrivacy = false, isImmersive = false) gotoProtocol(this, isPrivacy = false, isImmersive = false)
} }
R.id.menu_privacy_protocol -> { R.id.menu_privacy_protocol -> {
gotoProtocol(this, isPrivacy = true, isImmersive = false) gotoProtocol(this, isPrivacy = true, isImmersive = false)
} }

View File

@ -28,6 +28,7 @@ object TaskWorker {
} }
//初始化相关 //初始化相关
const val AUTO_CHECK_UPDATE = "auto_check_update"
const val IS_FIRST_OPEN_KEY = "is_first_open_key" const val IS_FIRST_OPEN_KEY = "is_first_open_key"
const val IS_AGREE_PRIVACY_KEY = "is_agree_privacy_key" const val IS_AGREE_PRIVACY_KEY = "is_agree_privacy_key"

View File

@ -7,8 +7,8 @@ import com.xuexiang.xui.utils.ResUtils.getString
class SettingUtils private constructor() { class SettingUtils private constructor() {
companion object { companion object {
//是否是第一次启动 //是否启动时检查更新
//var isFirstOpen: Boolean by SharedPreference(IS_FIRST_OPEN_KEY, true) var autoCheckUpdate: Boolean by SharedPreference(AUTO_CHECK_UPDATE, true)
//是否同意隐私政策 //是否同意隐私政策
var isAgreePrivacy: Boolean by SharedPreference(IS_AGREE_PRIVACY_KEY, false) var isAgreePrivacy: Boolean by SharedPreference(IS_AGREE_PRIVACY_KEY, false)

View File

@ -30,21 +30,44 @@
android:layout_marginTop="15dp" android:layout_marginTop="15dp"
app:sLeftTextString="@string/about_app_version"> app:sLeftTextString="@string/about_app_version">
<com.xuexiang.xui.widget.button.CountDownButton <LinearLayout
android:id="@+id/btn_update"
style="@style/Button.Blue"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:layout_marginEnd="10dp" android:layout_marginEnd="10dp"
android:layout_toStartOf="@id/sRightImgId" android:layout_toStartOf="@id/sRightImgId"
android:minWidth="30dp" android:gravity="center_vertical"
android:minHeight="0dp" android:orientation="horizontal">
android:padding="5dp"
android:text="@string/check_update" <com.xuexiang.xui.widget.button.SmoothCheckBox
android:textSize="11sp" android:id="@+id/scb_auto_check_update"
app:cdbt_countDown="3000" android:layout_width="15dp"
app:cdbt_enableCountDown="true" /> android:layout_height="15dp"
android:layout_marginStart="5dp"
app:scb_color_checked="@color/colorPrimary" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/auto_check"
android:textSize="10sp"
tools:ignore="SmallSp" />
<com.xuexiang.xui.widget.button.CountDownButton
android:id="@+id/btn_update"
style="@style/Button.Blue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:minWidth="30dp"
android:minHeight="0dp"
android:padding="5dp"
android:text="@string/check_update"
android:textSize="11sp"
app:cdbt_countDown="3000"
app:cdbt_enableCountDown="true" />
</LinearLayout>
</com.xuexiang.xui.widget.textview.supertextview.SuperTextView> </com.xuexiang.xui.widget.textview.supertextview.SuperTextView>

View File

@ -706,6 +706,7 @@
<string name="tip_can_not_get_sim_infos">Please confirm that the app permission [Get mobile phone information] is [Always allow]</string> <string name="tip_can_not_get_sim_infos">Please confirm that the app permission [Get mobile phone information] is [Always allow]</string>
<string name="tip_can_not_get_sim_info">The SIM card information in the card slot %s has not been obtained</string> <string name="tip_can_not_get_sim_info">The SIM card information in the card slot %s has not been obtained</string>
<string name="add">Add</string> <string name="add">Add</string>
<string name="auto_check">Auto check</string>
<string name="check_update">Check update</string> <string name="check_update">Check update</string>
<string name="clear_cache">Clear cache</string> <string name="clear_cache">Clear cache</string>
<string name="delete_frpc">Delete Frpc</string> <string name="delete_frpc">Delete Frpc</string>

View File

@ -707,6 +707,7 @@
<string name="tip_can_not_get_sim_infos">无法获取卡槽信息,请确认应用权限【获取手机信息】为【始终允许】</string> <string name="tip_can_not_get_sim_infos">无法获取卡槽信息,请确认应用权限【获取手机信息】为【始终允许】</string>
<string name="tip_can_not_get_sim_info">未获取到卡槽%s中的SIM卡信息</string> <string name="tip_can_not_get_sim_info">未获取到卡槽%s中的SIM卡信息</string>
<string name="add">添加</string> <string name="add">添加</string>
<string name="auto_check">启动时检查</string>
<string name="check_update">检查更新</string> <string name="check_update">检查更新</string>
<string name="clear_cache">清理缓存</string> <string name="clear_cache">清理缓存</string>
<string name="delete_frpc">删除动态库</string> <string name="delete_frpc">删除动态库</string>