Utilizo Google Dialer y a veces recibo llamadas de números desconocidos, generalmente conocidos por spam o estafa. Por razones de seguridad, posteriormente verifico estos números en varias bases de datos y los coloco en contactos especiales llamados "spammers", "scammers" (no es un contacto por número, un contacto puede tener una gran cantidad de números de teléfono de este tipo), etc., que tienen imágenes de contacto rojas para que esté consciente de ellos si vuelven a llamar y los ignore. Sí, puede sonar extraño si puedo usar la función de lista negra, pero esta pequeña base de datos está sincronizada con Google Contacts y eso es suficiente para mí.
No me gusta entrar en "conversaciones" con ellos y generalmente ignoro las llamadas de un número desconocido que no está en mi base de datos. Pero lo que más me molesta es que parece que no puedo salir de la actividad de la llamada y abrir otra aplicación hasta que la llamada se corte: una vez que deslizo desde la parte inferior, el marcador desvía la llamada y eso no es lo que quiero. No quiero colgar el teléfono rápidamente porque el interlocutor podría darse cuenta de que noté la llamada y la aborté (por cierto, si el número está en la lista negra, ¿Google Dialer cuelga el teléfono inmediatamente?).
Me siento muy estúpido ahora al no ver probablemente una solución / enfoque muy fácil, pero me pregunto: ¿hay alguna manera de poner la actividad de la llamada entrante en segundo plano y dejar que suene hasta que se considere no contestada (~40 segundos?) para que el llamante no se dé cuenta de que colgué el teléfono por mi cuenta? Cualquier sugerencia de un "deslizamiento correcto", una opción o un truco con un módulo Magisk, LSPosed, XPrivacyLua o cualquier otro método avanzado es muy apreciada.
Estoy usando:
- Google Pixel 6 Pro
- Android 14
- root, Magisk
- com.google.android.dialer 139.0.****
Edit 1
Lo que se me ocurrió recientemente: si no me equivoco, Google Dialer solo se abre a pantalla completa cuando la pantalla está apagada o el teléfono está bloqueado, de lo contrario, la llamada entrante se indica como un pequeño popup en la parte superior de la pantalla. Esto es crucial aquí. Creo que Google Dialer debería utilizar únicamente la API de Android (sin código nativo, en absoluto). Si es así, entonces, en principio, los métodos responsables de proporcionar la información de la pantalla/bloqueo pueden ser reemplazados en un módulo LSPosed Java en el que tengo poca experiencia. Esto se vería muy y muy similar a cómo funciona el módulo de Grabación de Llamadas para LSPosed, sin embargo, a primera vista el módulo parece utilizar JNI por alguna razón, y la magia está aquí. Parece fácil en teoría, pero aún desconocido en la práctica.
Interceptar los métodos de KeyguardManager
no es una opción que pensé que podría ser. Desafortunadamente, fallé con eso.