Probably solution

This commit is contained in:
A1pha 2024-11-27 01:28:19 +03:00
parent 15afc5f8b3
commit 669e2e43ae
2 changed files with 9 additions and 20 deletions

View File

@ -1,7 +1,6 @@
## 📱 Техническое задание ## 📱 Техническое задание
Требуется разработать нативное мобильное приложение, которое будет содержать следующие экраны. Требуется разработать нативное мобильное приложение, которое будет содержать следующие экраны.
### 1. Экран авторизации ### 1. Экран авторизации
> Данный экран должен быть показан при первом входе в приложение, а также в ситуациях, когда пользователь не зарегистрировался в приложении. > Данный экран должен быть показан при первом входе в приложение, а также в ситуациях, когда пользователь не зарегистрировался в приложении.
@ -25,9 +24,6 @@
7. После нажатия на кнопку - при нажатии стрелки назад - экран авторизации не должен быть показан повторно. 7. После нажатия на кнопку - при нажатии стрелки назад - экран авторизации не должен быть показан повторно.
8. Экран авторизации показывается только в случае, если пользователь неавторизован. 8. Экран авторизации показывается только в случае, если пользователь неавторизован.
### 2. Главный экран ### 2. Главный экран
> Данный экран содержит общую информацию о пользователе: > Данный экран содержит общую информацию о пользователе:
@ -54,14 +50,10 @@
- При нажатии кнопки сканирования необходимо открыть экран сканирования QR кода. - При нажатии кнопки сканирования необходимо открыть экран сканирования QR кода.
- При нажатии на кнопку обновления данных - необходимо повторно вызывать сетевой запрос для получения актуальных данных. - При нажатии на кнопку обновления данных - необходимо повторно вызывать сетевой запрос для получения актуальных данных.
### 3. Экран сканирования QR-кода ### 3. Экран сканирования QR-кода
> Данный экран позволяет отсканировать код на турникете и войти с помощью смартфона. В данном случае данный экран будет уже написан и представлен dам в готовом виде в заготовке. Вам необходимо только подписаться на его результат с помощью **Result API** и обработать считанные данные из QR кода. **Данный экран нельзя модифицировать. Он поставляется как есть.** > Данный экран позволяет отсканировать код на турникете и войти с помощью смартфона. В данном случае данный экран будет уже написан и представлен dам в готовом виде в заготовке. Вам необходимо только подписаться на его результат с помощью **Result API** и обработать считанные данные из QR кода. **Данный экран нельзя модифицировать. Он поставляется как есть.**
### 4. Экран с результатом сканирования QR кода ### 4. Экран с результатом сканирования QR кода
> На данном экране необходимо вывести успешность или неуспешность входа с помощью метода QR кода. > На данном экране необходимо вывести успешность или неуспешность входа с помощью метода QR кода.

View File

@ -28,18 +28,6 @@ public class QrResultFragment extends Fragment {
super(R.layout.fragment_qr_result); super(R.layout.fragment_qr_result);
} }
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getParentFragmentManager().setFragmentResultListener(QrScanDestination.REQUEST_KEY, this, new FragmentResultListener() {
@Override
public void onFragmentResult(@NonNull String requestKey, @NonNull Bundle result) {
resultQr = QrScanDestination.INSTANCE.getDataIfExist(result);
}
});
}
@Override @Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState); super.onViewCreated(view, savedInstanceState);
@ -51,6 +39,15 @@ public class QrResultFragment extends Fragment {
return; return;
} }
getParentFragmentManager().setFragmentResultListener(QrScanDestination.REQUEST_KEY, this, new FragmentResultListener() {
@Override
public void onFragmentResult(@NonNull String requestKey, @NonNull Bundle result) {
resultQr = QrScanDestination.INSTANCE.getDataIfExist(result);
}
});
Log.d("status", String.valueOf(resultQr != null));
binding = FragmentQrResultBinding.bind(view); binding = FragmentQrResultBinding.bind(view);
viewModel = new ViewModelProvider(this).get(QrResultViewModel.class); viewModel = new ViewModelProvider(this).get(QrResultViewModel.class);