From 4b2eb829c2a7dc2f4ac413a8303111bed196d2f4 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 14 Apr 2020 18:54:04 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../personalize/ui/PersonalizationFragment.kt | 31 ++++++++++++++++--- .../personalize/ui/presets/PresetRv.kt | 2 +- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/ui/PersonalizationFragment.kt b/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/ui/PersonalizationFragment.kt index 6168556532..cab78e4834 100644 --- a/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/ui/PersonalizationFragment.kt +++ b/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/ui/PersonalizationFragment.kt @@ -3,9 +3,12 @@ package com.tangem.tangemtest.ucase.variants.personalize.ui import android.content.DialogInterface import android.os.Bundle import android.view.* +import android.view.inputmethod.InputMethodManager import android.widget.Button import android.widget.EditText import android.widget.LinearLayout +import android.widget.TextView +import androidx.core.content.ContextCompat.getSystemService import androidx.lifecycle.Observer import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.LinearLayoutManager @@ -37,9 +40,11 @@ import com.tangem.tangemtest.ucase.variants.personalize.ui.widgets.Personalizati import com.tangem.tangemtest.ucase.variants.responses.ui.ResponseFragment import ru.dev.gbixahue.eu4d.lib.android._android.views.inflate import ru.dev.gbixahue.eu4d.lib.android.global.log.Log +import ru.dev.gbixahue.eu4d.lib.android.global.threading.post import ru.dev.gbixahue.eu4d.lib.android.global.threading.postUI import ru.dev.gbixahue.eu4d.lib.android.global.threading.postWork + /** [REDACTED_AUTHOR] */ @@ -162,23 +167,39 @@ class PersonalizationFragment : BaseCardActionFragment(), PersonalizationPresetV if (name.isEmpty()) showSnackbar("Not saved") else onOk.invoke(name) } + dlgController.onShowCallback = { + dlgController.view?.findViewById(R.id.et_item)?.let { + post(150) { + it.requestFocus() + val imm = getSystemService(requireContext(), InputMethodManager::class.java) + imm?.showSoftInput(it, InputMethodManager.SHOW_IMPLICIT) + } + } + } dlgController.show() } override fun showLoadPresetDialog(namesList: List, onChoose: SafeValueChanged, onDelete: SafeValueChanged) { val dlgController = DialogController() - val dlg = dlgController.createAlert(requireActivity(), R.layout.dlg_personalization_preset_load) - dlg.setTitle(R.string.menu_personalization_preset_load) - val rvPresetNames: RecyclerView = dlgController.view?.findViewById(R.id.recycler_view) ?: return + dlgController.createAlert(requireActivity(), R.layout.dlg_personalization_preset_load) + .setTitle(R.string.menu_personalization_preset_load) + val rvPresetNames: RecyclerView = dlgController.view?.findViewById(R.id.recycler_view) ?: return val layoutManager = LinearLayoutManager(context) rvPresetNames.layoutManager = layoutManager rvPresetNames.addItemDecoration(DividerItemDecoration(activity, layoutManager.orientation)) - rvPresetNames.adapter = RvPresetNamesAdapter({ + val adapter = RvPresetNamesAdapter({ onChoose(it) dlgController.dismiss() - }, onDelete).apply { setItemList(namesList.toMutableList()) } + }, { + onDelete(it) + if (rvPresetNames.adapter?.itemCount == 0) + dlgController.dismiss() + }) + adapter.setItemList(namesList.toMutableList()) + + rvPresetNames.adapter = adapter dlgController.show() } } \ No newline at end of file diff --git a/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/ui/presets/PresetRv.kt b/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/ui/presets/PresetRv.kt index ed6ae83074..ff00dcf179 100644 --- a/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/ui/presets/PresetRv.kt +++ b/tangem-demo/src/main/java/com/tangem/tangemtest/ucase/variants/personalize/ui/presets/PresetRv.kt @@ -24,9 +24,9 @@ class RvPresetNamesAdapter( override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): PresetNameVH { val view = parent.inflate(R.layout.vh_personalization_preset_name, false) return PresetNameVH(view, onItemClicked, { position, value -> - onDeleteClicked(value) itemList.removeAt(position) this.notifyItemRemoved(position) + onDeleteClicked(value) }) } }