레스큐콜 — 예약한 시각에 걸려오는 가짜 전화

어색한 자리에서 빠져나올 때. 정한 시각에 진짜 같은 전화가 화면을 채웁니다.

레스큐콜 — 예약한 시각에 걸려오는 가짜 전화

빠져나오고 싶은데 마땅한 핑계가 없을 때가 있습니다. 처음 나간 자리, 길어지는 회의, 끝날 기미가 없는 대화.

레스큐콜은 정한 시각에 진짜 같은 전화가 걸려오게 하는 앱입니다. 화면을 잠그거나 앱을 닫아도 그 시각이 되면 전화가 화면을 꽉 채웁니다.

■ 전화 받기 (예약)

발신자와 울릴 시각을 정해 둡니다. 기본은 분 단위로 잡고, 프리미엄에서는 시·분으로 최대 10시간까지 예약할 수 있습니다. 예약해 두고 폰을 주머니에 넣으면, 그 시각에 벨이 울리고 잠금화면 위로 수신 화면이 뜹니다. 받으면 통화 시간이 올라가고 음소거·스피커 버튼까지 실제 통화 화면 그대로입니다.

■ 전화 걸기

지금 바로 거는 척할 수도 있습니다. 발신자를 고르면 발신 화면과 신호음이 뜹니다. 자리에서 일어나며 쓰기 좋습니다.

■ 발신자 꾸미기

이름과 사진, 벨소리, 지연 시간을 자유롭게 정합니다. 화면에 뜨는 이름이 어색하면 아무 소용이 없기 때문에, 이 부분을 자유롭게 열어 뒀습니다.

■ 만들면서 가장 오래 붙잡은 것

"앱을 닫아도 정확한 시각에 울리는가"였습니다.

예약해 놓고 폰을 주머니에 넣으면 화면이 꺼지고 앱은 뒤로 물러납니다. 그 상태에서 정한 시각에 화면을 켜고 잠금화면 위로 전체화면을 띄우는 건 안드로이드에서 별도 처리가 필요합니다. 알림을 띄우는 것과 화면을 점유하는 것은 다른 일이라서, 잠금화면 위 표시와 화면 켜기를 각각 따로 설정해야 했습니다.

시각 계산도 손봐야 했습니다. 기기의 시간대 설정에 따라 예약 시각이 어긋나는 문제가 있어서, 시간대에 기대지 않고 "지금부터 몇 초 뒤"를 절대 시각으로 굳혀서 예약하는 방식으로 바꿨습니다.

벨소리는 직접 합성했습니다. 클래식, 마림바, 디지털 세 종류입니다. 기성 벨소리를 쓰면 그 앱을 아는 사람에게는 티가 납니다.

■ 그 밖에

· 벨소리 3종(클래식·마림바·디지털)과 진동

· 통화 화면에 통화 시간·음소거·스피커 버튼

· 12개 언어

※ 연출용 앱입니다. 실제 통화가 아니며, 다른 사람을 속이거나 해치는 데 쓰지 마세요.

메이커 노트 — 이렇게 만들었어요

처음 나간 모임에서 세 시간을 못 빠져나온 적이 있습니다. 화장실 간다고 하고 돌아오지 않는 것도 못 하겠고, 먼저 일어나겠다는 말도 안 나오더군요. 그때 전화 한 통이면 되는데 싶었습니다.

만들면서 제일 오래 붙잡은 건 화면 연출이 아니라 "앱을 닫아도 제 시각에 울리는가"였습니다.

예약을 걸어놓고 폰을 주머니에 넣으면 화면이 꺼지고 앱은 뒤로 물러납니다. 그 상태에서 정확한 시각에 화면을 켜고, 잠금화면 위에 전체화면으로 수신 화면을 띄워야 합니다. 안드로이드에서 이건 알림을 띄우는 것과 다른 일이라 따로 처리해야 했고, 최신 버전으로 올수록 조건이 까다로워집니다. 라이브러리 버전을 올렸더니 빌드 설정을 하나 더 켜야 동작하는 문제도 있었습니다.

시각 계산에서도 한 번 뒤집었습니다. 처음엔 "몇 시 몇 분에 울려라"로 예약했는데 기기 시간대 설정에 따라 어긋나는 경우가 생겼습니다. 결국 시간대를 아예 쓰지 않고 "지금부터 N초 뒤"를 절대 시각으로 굳혀 예약하는 방식으로 바꿨습니다.

벨소리는 세 종류를 직접 합성했습니다. 기성 벨소리를 그대로 쓰면 같은 앱을 아는 사람 앞에서 티가 나기 때문입니다.

한 가지 덧붙이면, 아이콘을 한 번 통째로 갈아엎었습니다. AI로 만든 입체 수화기 그림이 각도에 따라 전화로 안 읽히더군요. 결국 누구나 아는 표준 수화기 모양으로 다시 만들었습니다. 예쁜 것보다 알아보이는 게 먼저였습니다.

Flutter로 만들었습니다. 연출용 앱이라, 남을 속이는 용도로는 쓰지 말라는 안내를 앱과 스토어 양쪽에 적어 뒀습니다.

카테고리: 유틸리티

태그: #가짜전화 #전화오는척 #자리탈출 #상황극 #알림