안드로이드

[Android] 통화설정 관련 사항 메모

부르스리 2015. 4. 8. 14:15
반응형


콜 관련 어플 및 설정은 여기저기 흩어져 있어서 짜증난다.


나중에 기억할 수 있도록 메모를 해놓자.


Dialer : 전화걸기 어플 (전화기 모양 아이콘)

 - packages/app/Dialer 에 위치함

 - packages/app/ContactsCommon 을 참조하여 빌드함. ContactsCommon 내용을 수정하는 경우

     그냥 Dialer 만 빌드하면 수정사항이 적용되어 빌드됨.

     그러나 똑같은 내용은 Contacts 쪽에서도 사용하는데 

     Contacts 는 따로 또 빌드해야 그걸 가져다 쓰기때문에 확인이 됨.

 - 통화화면은 packages/app/InCallUi 에 있는데 이것도 마찬가지로 

     수정하고 Dialer 빌드하면 적용되어 빌드됨


framework/base/Telecom/java/android/telecom 여기 보면 TelecomManager 가 있음.

이놈이 프레임웤 단 TelecomManager 로써 전화 상태 및 기타 여러가지를 해줌.

InCallUi 같은 애들이 프레임웤 단 많이 호출함.


설정 중 일반설정은 Dialer 내부에 있지만 통화설정은 다른데 있음.

packages/services/Telephony 여기에 통화설정 UI 가 구현되어있음.

preference 로 되어있어서 각 설정메뉴들이 각각의 파일로 따로 되어있음.

그런데 packages/services/Telecom 여기에 또 서비스가 들어있어서 설정 값들을 가져옴.

프레임웤단에서 이 서비스를 호출해서 값을 가져가는 경우가 많음.

TelecomManager 에서 getTelecomService().isTtySupported(); 이런식으로 호출하게 되면

결국 Telecom 서비스에 있는 isTtySupported() 를 호출하게 됨.


Telecom 서비스에서 설정값들에 따라서 설정 메뉴리스트를 구성하는데

이때 또 다른 곳에서 값을 참조할 수가 있음.

바로 device/qcom/common/device/overlay/packages/services/Telephony 와

device/qcom/common/device/overlay/packages/services/Telecom 이 그놈임.

여기는 configs.xml 이 들어있는데 여기에 있는 설정이 우선적용되어

Telecom 서비스의 configs.xml 에 있는 값들을 엎어 쓰게 됨.

Telecom 서비스에 아무리 false 로 되어있어도 devices.. 에 true 로 되어있으면 그게 적용됨.

이거 모르면 찾는데 죽을 똥을 쌀듯...


대략 경로만 모아보면.

packages/app/Dialer : 다이얼러 어플

packages/app/ContactsCommon : 폰북과 같이 쓰는 애들

packages/app/InCallUi : 통화화면

packages/services/Telephony : 통화설정 및 기타

packages/services/Telecom : 통화관련 서비스. 설정값도 여기서 대부분..

framework/base/Telecom/java/android/telecom : 전화관련 프레임웤. 상태값 및 기타 웬만한거 다.

device/qcom/common/device/overlay/packages/services/Telephony : 디바이스 단 설정값

device/qcom/common/device/overlay/packages/services/Telecom : 디바이스 단 설정값



나중에 정리 더 하려면 하고...일단 이정도 메모.

반응형