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">
+
+
Error: Requested resource not found
Server error: Try again later
Неизвестная ошибка (%s)
+ Access denied
\ 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 @@
Логин должен содержать не менее 3 символов
Логин в систему не может начинаться с цифры
Логин может содержать только буквы, цифры и символы подчеркивания
-
+ Доступ запрещён
\ 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 @@
Error: Requested resource not found
Server error: Try again later
Неизвестная ошибка (%s)
+ Access denied
\ No newline at end of file