Mascara celular 9 digitos

Oi Pessoal,

como seria a melhor forma de colocar mascara de celular em um campo editText para ficar dinamico para todos os DDD?
Tem Estados com 8 digitos e tem Estados com 9 digitos.
No caso, eu na minha tela não tem nenhum campo que determina qual Estado é a pessoa.
O celular é a chave… então preciso de um campo que utilize qualquer uma dessas mascaras.