From c21f4ee5827290ee61c72701751e69a6251f5552 Mon Sep 17 00:00:00 2001 From: Serafim_Pankin <serafimpankin@yandex.ru> Date: Thu, 20 Feb 2025 16:09:27 +0300 Subject: [PATCH 1/3] redesign button --- app/src/main/res/layout/fragment_profile.xml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/app/src/main/res/layout/fragment_profile.xml b/app/src/main/res/layout/fragment_profile.xml index a2de7e5..ff5e9de 100644 --- a/app/src/main/res/layout/fragment_profile.xml +++ b/app/src/main/res/layout/fragment_profile.xml @@ -16,15 +16,16 @@ android:layout_height="match_parent" android:background="?android:attr/colorBackground"> <ImageButton - android:visibility="invisible" android:id="@+id/back_to_search" android:layout_width="50dp" - android:padding="10dp" - android:layout_marginTop="10dp" - - android:src="@drawable/ic_back" android:layout_height="50dp" - tools:ignore="MissingConstraints" /> + android:padding="10dp" + android:backgroundTint="@color/primary" + android:src="@drawable/ic_back" + android:tint="@android:color/white" + android:layout_marginTop="10dp" + app:cornerRadius="25dp" + tools:ignore="MissingConstraints,UseAppTint" /> <TextView android:padding="15dp" android:visibility="gone" From 40ed5d595818c9e92f8a88aadb7d4af26993e994 Mon Sep 17 00:00:00 2001 From: Serafim_Pankin <serafimpankin@yandex.ru> Date: Thu, 20 Feb 2025 16:16:12 +0300 Subject: [PATCH 2/3] redesign button --- app/src/main/res/layout/fragment_profile.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/layout/fragment_profile.xml b/app/src/main/res/layout/fragment_profile.xml index ff5e9de..27439c0 100644 --- a/app/src/main/res/layout/fragment_profile.xml +++ b/app/src/main/res/layout/fragment_profile.xml @@ -25,6 +25,7 @@ android:tint="@android:color/white" android:layout_marginTop="10dp" app:cornerRadius="25dp" + android:visibility="invisible" tools:ignore="MissingConstraints,UseAppTint" /> <TextView android:padding="15dp" From f84302e4a2baaa533930d612f18662313e18d67b Mon Sep 17 00:00:00 2001 From: Universall <universall@server.com> Date: Thu, 20 Feb 2025 16:17:24 +0300 Subject: [PATCH 3/3] Qr scan access controll --- .../displaynone/acss/ui/scan/QrScanFragment.kt | 17 +++++++++++++++++ app/src/main/res/layout/fragment_qr_scan.xml | 12 ++++++++++++ app/src/main/res/values-en/strings-en.xml | 1 + app/src/main/res/values-ru/strings-ru.xml | 2 +- app/src/main/res/values/strings.xml | 1 + 5 files changed, 32 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/displaynone/acss/ui/scan/QrScanFragment.kt b/app/src/main/java/com/displaynone/acss/ui/scan/QrScanFragment.kt index 190afe9..4550fce 100644 --- a/app/src/main/java/com/displaynone/acss/ui/scan/QrScanFragment.kt +++ b/app/src/main/java/com/displaynone/acss/ui/scan/QrScanFragment.kt @@ -16,6 +16,8 @@ import androidx.fragment.app.viewModels import androidx.navigation.NavController import androidx.navigation.fragment.findNavController import com.displaynone.acss.R +import com.displaynone.acss.components.auth.models.user.UserServiceST +import com.displaynone.acss.components.auth.models.user.repository.dto.UserDTO import com.displaynone.acss.databinding.FragmentQrScanBinding import com.displaynone.acss.util.collectWhenStarted import com.displaynone.acss.util.visibleOrGone @@ -49,10 +51,25 @@ class QrScanFragment : Fragment(R.layout.fragment_qr_scan) { binding.close.setOnClickListener { viewModel.close() } } + private fun updateUIAccessDenied() { + binding.loading.visibleOrGone(false) + binding.viewFinder.visibleOrGone(false) + binding.close.visibleOrGone(false) + binding.error.visibleOrGone(true) + binding.error.text = requireContext().getString(R.string.access_denied) + } + private fun subscribe() { + val user: UserDTO? = UserServiceST.getInstance().getUserDTO() + if (user == null || user.isACSBlocked) { + updateUIAccessDenied() + return + } + viewModel.state.collectWhenStarted(this) { state -> binding.loading.visibleOrGone(state is QrScanViewModel.State.Loading) binding.viewFinder.visibleOrGone(state is QrScanViewModel.State.Scan) + if (!isCameraInit && state is QrScanViewModel.State.Scan) { startCamera() isCameraInit = true diff --git a/app/src/main/res/layout/fragment_qr_scan.xml b/app/src/main/res/layout/fragment_qr_scan.xml index a52eb71..95ed14b 100644 --- a/app/src/main/res/layout/fragment_qr_scan.xml +++ b/app/src/main/res/layout/fragment_qr_scan.xml @@ -4,6 +4,18 @@ android:layout_width="match_parent" android:layout_height="match_parent"> + <TextView + android:id="@+id/error" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_margin="15dp" + android:background="?android:attr/colorBackground" + android:gravity="center" + android:letterSpacing="0.05" + android:textColor="?attr/colorOnBackground" + android:textSize="24sp" + android:visibility="gone" /> + <androidx.camera.view.PreviewView android:id="@+id/viewFinder" android:layout_width="0dp" diff --git a/app/src/main/res/values-en/strings-en.xml b/app/src/main/res/values-en/strings-en.xml index f979947..c6cc7ff 100644 --- a/app/src/main/res/values-en/strings-en.xml +++ b/app/src/main/res/values-en/strings-en.xml @@ -35,5 +35,6 @@ <string name="error_404">Error: Requested resource not found</string> <string name="error_500">Server error: Try again later</string> <string name="error_unknown">Неизвестная ошибка (%s)</string> + <string name="access_denied">Access denied</string> </resources> \ No newline at end of file diff --git a/app/src/main/res/values-ru/strings-ru.xml b/app/src/main/res/values-ru/strings-ru.xml index e9a5b1c..2f90354 100644 --- a/app/src/main/res/values-ru/strings-ru.xml +++ b/app/src/main/res/values-ru/strings-ru.xml @@ -36,7 +36,7 @@ <string name="error_login_too_short">Логин должен содержать не менее 3 символов</string> <string name="error_login_starts_with_digit">Логин в систему не может начинаться с цифры</string> <string name="error_login_invalid_characters">Логин может содержать только буквы, цифры и символы подчеркивания</string> - + <string name="access_denied">Доступ запрещён</string> </resources> \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index faa86ad..948f94d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -38,4 +38,5 @@ <string name="error_404">Error: Requested resource not found</string> <string name="error_500">Server error: Try again later</string> <string name="error_unknown">Неизвестная ошибка (%s)</string> + <string name="access_denied">Access denied</string> </resources> \ No newline at end of file