feat: 방향키 롱프레스 연속 이동 지원#14
Open
verlane wants to merge 1 commit into
Open
Conversation
- 방향키(상/하/좌/우)를 RepeatKeyTouchListener로 교체해 꾹 누르면 연속 이동 - RepeatKeyTouchListener가 키를 람다(keyProvider)로 받도록 변경해 선택 모드(SELECT_ARROW_*) 대응 - 고정 키 기존 호출부 호환용 보조 생성자 추가 - @volatile 및 Timer? 적용으로 타이머 누수와 스레드 가시성 문제 수정 - ArrowView.onDetachedFromWindow()에서 방향키·백스페이스 타이머 정리
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
@AiOO 안녕하세요. #12 에서 논의한 대로, 편의 기능과 분리해 독립적으로 머지하기 쉬운 코어 단위부터 작게 올립니다. 🙂
개요
방향키(상/하/좌/우)를 길게 누르면 커서가 연속 이동하도록 지원합니다. 기존에 backspace가 길게 누르면 반복 삭제되던 것과 동일한 사용감을 방향키에도 적용했습니다.
변경 사항
RepeatKeyTouchListener로 교체해 롱프레스 시 연속 이동RepeatKeyTouchListener가 키를 람다(keyProvider)로 받도록 변경 → 선택 모드(SELECT_ARROW_*)도 누르는 시점에 평가해 대응@Volatile및Timer?적용으로 타이머 누수와 스레드 가시성 문제 수정ArrowView.onDetachedFromWindow()에서 방향키·백스페이스 타이머 정리테스트
./gradlew testDebugUnitTest통과 (기존 한글 엔진 테스트 회귀 없음)UI/터치·타이머에 의존하는 코드라 별도 유닛 테스트는 추가하지 않았습니다 (프로젝트 기존 관례에 맞춤).