mirror of
https://github.com/pppscn/SmsForwarder
synced 2025-08-02 17:07:41 +08:00
优化:仅当开启启动时异步获取已安装App列表
总开关时获取
This commit is contained in:
parent
33995b2ebd
commit
b5517e3270
@ -564,10 +564,11 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding?>(), View.OnClickL
|
||||
return@setOnCheckedChangeListener
|
||||
}
|
||||
SettingUtils.enableLoadAppList = isChecked
|
||||
|
||||
XToastUtils.info(getString(R.string.loading_app_list))
|
||||
val request = OneTimeWorkRequestBuilder<LoadAppListWorker>().build()
|
||||
WorkManager.getInstance(XUtil.getContext()).enqueue(request)
|
||||
if (isChecked) {
|
||||
XToastUtils.info(getString(R.string.loading_app_list))
|
||||
val request = OneTimeWorkRequestBuilder<LoadAppListWorker>().build()
|
||||
WorkManager.getInstance(XUtil.getContext()).enqueue(request)
|
||||
}
|
||||
}
|
||||
scbLoadUserApp.isChecked = SettingUtils.enableLoadUserAppList
|
||||
scbLoadUserApp.setOnCheckedChangeListener { _: SmoothCheckBox, isChecked: Boolean ->
|
||||
@ -581,8 +582,6 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding?>(), View.OnClickL
|
||||
XToastUtils.info(getString(R.string.loading_app_list))
|
||||
val request = OneTimeWorkRequestBuilder<LoadAppListWorker>().build()
|
||||
WorkManager.getInstance(XUtil.getContext()).enqueue(request)
|
||||
} else {
|
||||
initAppSpinner()
|
||||
}
|
||||
}
|
||||
scbLoadSystemApp.isChecked = SettingUtils.enableLoadSystemAppList
|
||||
@ -597,8 +596,6 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding?>(), View.OnClickL
|
||||
XToastUtils.info(getString(R.string.loading_app_list))
|
||||
val request = OneTimeWorkRequestBuilder<LoadAppListWorker>().build()
|
||||
WorkManager.getInstance(XUtil.getContext()).enqueue(request)
|
||||
} else {
|
||||
initAppSpinner()
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1108,7 +1105,7 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding?>(), 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))
|
||||
|
@ -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()
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user