diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/SettingsFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/SettingsFragment.kt index fd104096..e8d06b7c 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/fragment/SettingsFragment.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/SettingsFragment.kt @@ -564,10 +564,11 @@ class SettingsFragment : BaseFragment(), View.OnClickL return@setOnCheckedChangeListener } SettingUtils.enableLoadAppList = isChecked - - XToastUtils.info(getString(R.string.loading_app_list)) - val request = OneTimeWorkRequestBuilder().build() - WorkManager.getInstance(XUtil.getContext()).enqueue(request) + if (isChecked) { + XToastUtils.info(getString(R.string.loading_app_list)) + val request = OneTimeWorkRequestBuilder().build() + WorkManager.getInstance(XUtil.getContext()).enqueue(request) + } } scbLoadUserApp.isChecked = SettingUtils.enableLoadUserAppList scbLoadUserApp.setOnCheckedChangeListener { _: SmoothCheckBox, isChecked: Boolean -> @@ -581,8 +582,6 @@ class SettingsFragment : BaseFragment(), View.OnClickL XToastUtils.info(getString(R.string.loading_app_list)) val request = OneTimeWorkRequestBuilder().build() WorkManager.getInstance(XUtil.getContext()).enqueue(request) - } else { - initAppSpinner() } } scbLoadSystemApp.isChecked = SettingUtils.enableLoadSystemAppList @@ -597,8 +596,6 @@ class SettingsFragment : BaseFragment(), View.OnClickL XToastUtils.info(getString(R.string.loading_app_list)) val request = OneTimeWorkRequestBuilder().build() WorkManager.getInstance(XUtil.getContext()).enqueue(request) - } else { - initAppSpinner() } } } @@ -1108,7 +1105,7 @@ class SettingsFragment : BaseFragment(), View.OnClickL private fun initAppSpinner() { //未开启异步获取已安装App信息开关时,不显示已安装APP下拉框 - if (!SettingUtils.enableLoadUserAppList && !SettingUtils.enableLoadSystemAppList) return + if (!SettingUtils.enableLoadAppList) return if (App.UserAppList.isEmpty() && App.SystemAppList.isEmpty()) { //XToastUtils.info(getString(R.string.loading_app_list)) diff --git a/app/src/main/java/com/idormy/sms/forwarder/workers/LoadAppListWorker.kt b/app/src/main/java/com/idormy/sms/forwarder/workers/LoadAppListWorker.kt index 32e479e1..0dda159b 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/workers/LoadAppListWorker.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/workers/LoadAppListWorker.kt @@ -11,14 +11,17 @@ import com.jeremyliao.liveeventbus.LiveEventBus import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext +@Suppress("PrivatePropertyName") class LoadAppListWorker( context: Context, workerParams: WorkerParameters, ) : CoroutineWorker(context, workerParams) { + private val TAG: String = LoadAppListWorker::class.java.simpleName + override suspend fun doWork(): Result = withContext(Dispatchers.IO) { if (App.LoadingAppList) { - Log.d("LoadAppListWorker", "LoadingAppList is true, return") + Log.d(TAG, "LoadingAppList is true, return") return@withContext Result.success() } @@ -36,10 +39,9 @@ class LoadAppListWorker( App.UserAppList.sortBy { appInfo -> appInfo.name } App.SystemAppList.sortBy { appInfo -> appInfo.name } - LiveEventBus.get(EVENT_LOAD_APP_LIST, String::class.java).post("finish") App.LoadingAppList = false - Log.d("LoadAppListWorker", "LoadAppListWorker finish") + Log.d(TAG, "LoadAppListWorker finish") return@withContext Result.success() }