본문 바로가기
안드로이드 개발/📱 캘람

230128 캘람 개발 일지

by 아이엔 / ienground 2023. 1. 28.
타이머

 타이머는 최근 아주 집중적으로 작업한 부분이다. 

 원래는 단일 타이머에서 시작했으나, 예약 기능에 의해 다중 타이머가 생길 수 있는 상황이 있었고, 그럼에도 단일 타이머로 프로그래밍이 되어 있었기 때문에 값이 겹치거나 덮어씌워지는 현상이 발생하였다.

그래서 다중 타이머를 작업하였고 TimerService 또한 거의 완전히 리뉴얼되었다. timers: MutableMap<Long, TimerObject>을 통해 여러 타이머를 관리한다. 

 

다중 타이머가 가능하기 때문에, 타이머가 울리는 화면 TimerRingActivity 또한 여러 타이머가 표시될 수 있도록 수정하였다.

 

라벨이 없으면 라벨 없음, 등으로 떴었던 것도 이제는 따로 라벨이 지정되지 않았을 시 그 타이머의 길이를 한글로 보여준다. 예를 들어서 1:30이면 1분 30초 타이머, 이런 식으로. 라벨 없음이라는 글자는 더 이상 사용되지 않는다.

사진은 서브 타이머 완료 노티피케이션, 그리고 개별로 일시정지가 되는 타이머.

 

폴드4 스크린샷 중에 위는 이전 버전, 아래는 최신 버전의 타이머이다. 바뀐 것을 확인할 수 있다..

 

캘린더 알람 (캘람)

캘린더 알람의 경우, 많은 수정은 필요 없었고 앱 전반적으로 RecyclerView의 fadingEdge가 자연스럽지 못한 부분이 조금 있었다. 화면 끝 부분의 경우 fadingEdge를 해주면 오히려 부자연스러우나, 방향이나 화면 크기에 따라서 화면 끝이 아닌 부분은 fadingEdge를 주어 자연스럽게 해주었다.

그리고 이건 fadingEdge 테스트를 하려고 서브 캘린더 알람을 만들다가 알게 된 사실인데, 알람 및 캘린더 알람의 서브 알람을 추가하면 chip이 추가된다. 그런데 이게 밑으로 줄줄 끌린다는 사실을 확인하지 못했었다. 그래서 아마 얘들은 내일 오전 중으로 타이머 화면과 같이 서브 알람 수와 chip 한 줄로 하고 횡스크롤이 가능하게 만들 것 같다.

 

스톱워치

스톱워치는 단일로 돌아가기 때문에 최초로 만든 후 큰 수정은 없었다. 그러나 아직 밖에서 돌아왔을 때 ProgressBar가 좀 값이 안 맞는 것은 내일 오전에 수정해야 할 듯하다. 그리고 원래는 Lapse RecyclerView가 안에 padding이 되어 있어서 내부 adapter가 잘리고 위아래 edge 부분도 부자연스러운 경향이 있었는데 수정했다.

이모지를 선택하는 UI는 일단 기능상 안 되는 것도 아니고 급한 기능도 아니니까 최초 출시 이후로 미루고자 함..

 

탁상시계

 

탁상시계의 Timer 부분을 다시 고쳤다. 로직은 저번 개발 일지와 같이 lastUseTime이 가장 최신인 타이머를 가져와서 컨트롤하게 된다. 만료가 되면 colorError / colorOnError로 바꾸어서 강조를 하게 해주었다.

 

설정

첫번째 사진은 예전 버전. 일단 아까 언급했듯, 설정의 많은 다이얼로그가 fadingEdge가 자연스럽지 않아서 수정한 게 많다. 그리고 서브 알람의 경우, 새 알람 추가 저 버튼이 전체랑 잘 어울리는 것 같지가 못해서 NeutralButton으로 변경하였다.

 

베타 출시 이후에는 자연스러운 애니메이션 등 디테일에 신경을 쓰면 될 것 같다.

지금까지는 별다른 치명적인 오류는 보이지 않는다. 굿!