Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/360 입장 확인 고도화 #363

Open
wants to merge 8 commits into
base: develop
Choose a base branch
from
Open

Feature/360 입장 확인 고도화 #363

wants to merge 8 commits into from

Conversation

HamBP
Copy link
Member

@HamBP HamBP commented Jan 9, 2025

Issue

작업 내용

  • 스낵 바 상단으로 위치 변경
  • 테두리 추가 적용
  • 인식 시 진동 추가
  • 전면 카메라 추가
KakaoTalk_Video_2025-01-09-22-50-26.mp4

@HamBP HamBP self-assigned this Jan 9, 2025
Copy link

github-actions bot commented Jan 9, 2025

Test Results

 9 files   9 suites   0s ⏱️
 8 tests  8 ✅ 0 💤 0 ❌
12 runs  12 ✅ 0 💤 0 ❌

Results for commit 29514c9.

♻️ This comment has been updated with latest results.

@HamBP HamBP requested a review from mangbaam January 9, 2025 14:01
@HamBP
Copy link
Member Author

HamBP commented Jan 9, 2025

전면 카메라 전환 시연 영상은 부끄러워서 안 넣었어

@@ -40,6 +47,21 @@ class QrScanActivity : ComponentActivity() {
private val callback = BarcodeCallback { result: BarcodeResult ->
result.text ?: return@BarcodeCallback
viewModel.scan(result.text)

val vibrator =
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

추후에 진동 요구사항이 또 들어오면 확장으로 만들어도 좋을 듯

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

반영하겠슴당

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

급한건 아니었는데 여유 있으면 해줘!

private fun switchCamera() {
barcodeView.pause()
isBackCamera = !isBackCamera
barcodeView.cameraSettings.requestedCameraId = if (isBackCamera) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

분명 전/후면 카메라 중 하나가 없는 기기가 있을텐데, 그럴 땐 어떻게 동작해?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

맞아 그 부분이 문제긴 해.
사실 xzing 라이브러리 자체가 camera2보다 이전인 camera 기반으로 동작하는 레거시이긴 하더라고...
그래서 mlkit에 있는 바코드 스캐너 사용해 보려 했는데 급하게 작성하느라... 허허...

전면 카메라 식별이 가능한 거 같은데, 전면 카메라 없으면 버튼을 없애는 식으로 처리해 볼게

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

레거시이긴 하지만 오히려 Camera2 를 지원하지 않는 기기들이 있어서 호환성은 아이러니하게 Camera1이 더 좋은 상황...
카메라 식별해서 버튼 없애는 건 좋은 것 같아!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

아 마져 camerax가 요구 api가 되게 높았던 거 같다

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

라고 생각했는데 21이라네 뭐징

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

근데 xzing 도 사용하는데 무리없어서 마이그레이션이 급한 건은 아닌 듯

@@ -24,6 +30,7 @@ import kotlinx.coroutines.launch

@AndroidEntryPoint
class QrScanActivity : ComponentActivity() {
var isBackCamera = true
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이 속성을 여기서 관리했을 때 카메라 방향 싱크가 안 맞는 문제는 없을까?


launch {
borderColor = color
delay(4000L)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

4초인 이유가 있을까? QR 스캔 인터벌이 1초라서 4초 이내에 새로운 실패가 발생하면 4초가 보장이 안 될 것 같은데

예를 들어
0초: 실패하여 빨강으로 표시
3초 후: 새로운 QR 스캔 - 실패하여 노랑으로 표시
1초 후: 맨 처음 실패 이후 4초가 지나 스트로크 사라짐

그럼 유저가 봤을 땐 빨강으로 3초, 노랑으로 1초만에 스트로크가 없어져서 이상하게 느껴질 것 같은 걱정이 드네

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이거는 스낵바 시간에 맞춰서 4초로 한 거긴 해
나도 만들면서 그생각 하긴 했는데 1초로 하는 게 나을까?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이거는 혜선이랑 확실히 맞추고 가는게 좋을 듯!

인식 후 1초동안 멈추는게 에러 표시도 1초인건지,
그게 아니라면 새로운 결과가 인식되면 이전 job 은 cancel 해주는 게 좋을 듯!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오키오키 일단 물어볼게
image

leadingIcon = {
snackbarIconId?.let {
CircleBgIcon(
painter = painterResource(it),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이거 vector 이미지라면 ImageVector.vectorResource 인가 이거 쓰는게 Stable 이라서 더 좋을 듯!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수정하면서 같이 바꿀게
수정한 부분은 아닌데 들여쓰기 때문에 diff에 들어간 듯 ㅋㅋㅋㅋ
근데 inner padding부분 수동으로 offset 변경해 줘도 되는지 모르겠넹...
구글이 의도한 동작인가... 버그인가...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Material 디자인 의도인듯!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

입장 확인 고도화
2 participants