@@ -61,11 +61,6 @@ class ParamsAppChooserRender(
6161 private fun openAppChooser () {
6262 // 🔥 preload app đã chọn → có appName
6363 packages = preloadSelectedApps()
64-
65- if (packages.isEmpty()) {
66- // đảm bảo dialog không hiểu nhầm có selection
67- packages.clear()
68- }
6964
7065 val dialog = DialogAppChooser (
7166 darkMode,
@@ -234,74 +229,74 @@ if (packages.isEmpty()) {
234229 }
235230 }
236231
237- private fun resolveCurrentAppName () {
238- val pm = context.packageManager
239-
240- if (actionParamInfo.multiple) {
241- val pkgs = valueView.text.toString()
242- .split(actionParamInfo.separator)
243- .filter { it.isNotEmpty() }
244-
245- val names = ArrayList <String >(pkgs.size)
246- for (pkg in pkgs) {
247- try {
248- val app = pm.getApplicationInfo(pkg, 0 )
249- names.add(app.loadLabel(pm)?.toString() ? : pkg)
250- } catch (_: Exception ) {
251- names.add(pkg)
232+ private fun resolveCurrentAppName () {
233+ val pm = context.packageManager
234+
235+ if (actionParamInfo.multiple) {
236+ val pkgs = valueView.text.toString()
237+ .split(actionParamInfo.separator)
238+ .filter { it.isNotEmpty() }
239+
240+ val names = ArrayList <String >(pkgs.size)
241+ for (pkg in pkgs) {
242+ try {
243+ val app = pm.getApplicationInfo(pkg, 0 )
244+ names.add(app.loadLabel(pm)?.toString() ? : pkg)
245+ } catch (_: Exception ) {
246+ names.add(pkg)
247+ }
248+ }
249+ nameView.text = names.joinToString(" ," )
250+ } else {
251+ val pkg = valueView.text.toString()
252+ if (pkg.isNotEmpty()) {
253+ try {
254+ val app = pm.getApplicationInfo(pkg, 0 )
255+ nameView.text = app.loadLabel(pm)?.toString() ? : pkg
256+ } catch (_: Exception ) {
257+ nameView.text = pkg
258+ }
252259 }
253260 }
254- nameView.text = names.joinToString(" ," )
255- } else {
256- val pkg = valueView.text.toString()
257- if (pkg.isNotEmpty()) {
261+ }
262+
263+ private fun preloadSelectedApps (): ArrayList <AdapterAppChooser .AppInfo > {
264+ val pm = context.packageManager
265+ val result = ArrayList <AdapterAppChooser .AppInfo >()
266+
267+ val values = if (actionParamInfo.multiple) {
268+ valueView.text.toString()
269+ .split(actionParamInfo.separator)
270+ .filter { it.isNotEmpty() }
271+ } else {
272+ listOf (valueView.text.toString()).filter { it.isNotEmpty() }
273+ }
274+
275+ // ✅ nếu chưa chọn gì → trả list rỗng
276+ if (values.isEmpty()) return result
277+
278+ for (pkg in values) {
258279 try {
259280 val app = pm.getApplicationInfo(pkg, 0 )
260- nameView.text = app.loadLabel(pm)?.toString() ? : pkg
281+ result.add(
282+ AdapterAppChooser .AppInfo ().apply {
283+ packageName = pkg
284+ appName = app.loadLabel(pm)?.toString() ? : pkg
285+ selected = true
286+ }
287+ )
261288 } catch (_: Exception ) {
262- nameView.text = pkg
289+ result.add(
290+ AdapterAppChooser .AppInfo ().apply {
291+ packageName = pkg
292+ appName = pkg
293+ selected = true
294+ }
295+ )
263296 }
264297 }
298+ return result
265299 }
266- }
267-
268- private fun preloadSelectedApps (): ArrayList <AdapterAppChooser .AppInfo > {
269- val pm = context.packageManager
270- val result = ArrayList <AdapterAppChooser .AppInfo >()
271-
272- val values = if (actionParamInfo.multiple) {
273- valueView.text.toString()
274- .split(actionParamInfo.separator)
275- .filter { it.isNotEmpty() }
276- } else {
277- listOf (valueView.text.toString()).filter { it.isNotEmpty() }
278- }
279-
280- // ✅ nếu chưa chọn gì → trả list rỗng
281- if (values.isEmpty()) return result
282-
283- for (pkg in values) {
284- try {
285- val app = pm.getApplicationInfo(pkg, 0 )
286- result.add(
287- AdapterAppChooser .AppInfo ().apply {
288- packageName = pkg
289- appName = app.loadLabel(pm)?.toString() ? : pkg
290- selected = true
291- }
292- )
293- } catch (_: Exception ) {
294- result.add(
295- AdapterAppChooser .AppInfo ().apply {
296- packageName = pkg
297- appName = pkg
298- selected = true
299- }
300- )
301- }
302- }
303- return result
304- }
305300 // =======================
306301 // CALLBACK
307302 // =======================
0 commit comments