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
|
return@setOnCheckedChangeListener
|
||||||
}
|
}
|
||||||
SettingUtils.enableLoadAppList = isChecked
|
SettingUtils.enableLoadAppList = isChecked
|
||||||
|
if (isChecked) {
|
||||||
XToastUtils.info(getString(R.string.loading_app_list))
|
XToastUtils.info(getString(R.string.loading_app_list))
|
||||||
val request = OneTimeWorkRequestBuilder<LoadAppListWorker>().build()
|
val request = OneTimeWorkRequestBuilder<LoadAppListWorker>().build()
|
||||||
WorkManager.getInstance(XUtil.getContext()).enqueue(request)
|
WorkManager.getInstance(XUtil.getContext()).enqueue(request)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
scbLoadUserApp.isChecked = SettingUtils.enableLoadUserAppList
|
scbLoadUserApp.isChecked = SettingUtils.enableLoadUserAppList
|
||||||
scbLoadUserApp.setOnCheckedChangeListener { _: SmoothCheckBox, isChecked: Boolean ->
|
scbLoadUserApp.setOnCheckedChangeListener { _: SmoothCheckBox, isChecked: Boolean ->
|
||||||
@ -581,8 +582,6 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding?>(), View.OnClickL
|
|||||||
XToastUtils.info(getString(R.string.loading_app_list))
|
XToastUtils.info(getString(R.string.loading_app_list))
|
||||||
val request = OneTimeWorkRequestBuilder<LoadAppListWorker>().build()
|
val request = OneTimeWorkRequestBuilder<LoadAppListWorker>().build()
|
||||||
WorkManager.getInstance(XUtil.getContext()).enqueue(request)
|
WorkManager.getInstance(XUtil.getContext()).enqueue(request)
|
||||||
} else {
|
|
||||||
initAppSpinner()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
scbLoadSystemApp.isChecked = SettingUtils.enableLoadSystemAppList
|
scbLoadSystemApp.isChecked = SettingUtils.enableLoadSystemAppList
|
||||||
@ -597,8 +596,6 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding?>(), View.OnClickL
|
|||||||
XToastUtils.info(getString(R.string.loading_app_list))
|
XToastUtils.info(getString(R.string.loading_app_list))
|
||||||
val request = OneTimeWorkRequestBuilder<LoadAppListWorker>().build()
|
val request = OneTimeWorkRequestBuilder<LoadAppListWorker>().build()
|
||||||
WorkManager.getInstance(XUtil.getContext()).enqueue(request)
|
WorkManager.getInstance(XUtil.getContext()).enqueue(request)
|
||||||
} else {
|
|
||||||
initAppSpinner()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1108,7 +1105,7 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding?>(), View.OnClickL
|
|||||||
private fun initAppSpinner() {
|
private fun initAppSpinner() {
|
||||||
|
|
||||||
//未开启异步获取已安装App信息开关时,不显示已安装APP下拉框
|
//未开启异步获取已安装App信息开关时,不显示已安装APP下拉框
|
||||||
if (!SettingUtils.enableLoadUserAppList && !SettingUtils.enableLoadSystemAppList) return
|
if (!SettingUtils.enableLoadAppList) return
|
||||||
|
|
||||||
if (App.UserAppList.isEmpty() && App.SystemAppList.isEmpty()) {
|
if (App.UserAppList.isEmpty() && App.SystemAppList.isEmpty()) {
|
||||||
//XToastUtils.info(getString(R.string.loading_app_list))
|
//XToastUtils.info(getString(R.string.loading_app_list))
|
||||||
|
@ -11,14 +11,17 @@ import com.jeremyliao.liveeventbus.LiveEventBus
|
|||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
|
|
||||||
|
@Suppress("PrivatePropertyName")
|
||||||
class LoadAppListWorker(
|
class LoadAppListWorker(
|
||||||
context: Context,
|
context: Context,
|
||||||
workerParams: WorkerParameters,
|
workerParams: WorkerParameters,
|
||||||
) : CoroutineWorker(context, workerParams) {
|
) : CoroutineWorker(context, workerParams) {
|
||||||
|
|
||||||
|
private val TAG: String = LoadAppListWorker::class.java.simpleName
|
||||||
|
|
||||||
override suspend fun doWork(): Result = withContext(Dispatchers.IO) {
|
override suspend fun doWork(): Result = withContext(Dispatchers.IO) {
|
||||||
if (App.LoadingAppList) {
|
if (App.LoadingAppList) {
|
||||||
Log.d("LoadAppListWorker", "LoadingAppList is true, return")
|
Log.d(TAG, "LoadingAppList is true, return")
|
||||||
return@withContext Result.success()
|
return@withContext Result.success()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -36,10 +39,9 @@ class LoadAppListWorker(
|
|||||||
App.UserAppList.sortBy { appInfo -> appInfo.name }
|
App.UserAppList.sortBy { appInfo -> appInfo.name }
|
||||||
App.SystemAppList.sortBy { appInfo -> appInfo.name }
|
App.SystemAppList.sortBy { appInfo -> appInfo.name }
|
||||||
|
|
||||||
|
|
||||||
LiveEventBus.get(EVENT_LOAD_APP_LIST, String::class.java).post("finish")
|
LiveEventBus.get(EVENT_LOAD_APP_LIST, String::class.java).post("finish")
|
||||||
App.LoadingAppList = false
|
App.LoadingAppList = false
|
||||||
Log.d("LoadAppListWorker", "LoadAppListWorker finish")
|
Log.d(TAG, "LoadAppListWorker finish")
|
||||||
|
|
||||||
return@withContext Result.success()
|
return@withContext Result.success()
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user