Android - Eliminar TouchLockOverlay de una llamada saliente

 
Vista:
sin imagen de perfil

Eliminar TouchLockOverlay de una llamada saliente

Publicado por Fco. Javier (2 intervenciones) el 11/09/2017 17:36:20
Hola a todos, estoy preparando un smartphone para mi abuelo y como entenderéis, necesita un smartphone facil de manejar y con las funciones necesarias para que se adapte a lo que necesita.

En concreto es un Samsung Galaxy Young 2.
Al realizar una llamada aparece lo siguiente:
WhatsApp-Image-2017-09-11-at-15.39.24

Debido a que el móvil no tiene sensor de proximidad, la interfaz de llamada activa automáticamente un RelativeLayout en el que aparece este maldito candadito con el texto de "Toque dos veces para desbloquear", con el fin de evitar tocar los botones de colgar, altavoz, etc. con la mejilla o el oido al ponernos el teléfono a los susodichos para llamar.

El problema: Mi abuelo no quiere que aparezca este candado, el texto y el fondo en negro, ya que para colgar una llamada le cuesta tanto como si tuviera que remolcar un edificio. Y para colmo, si consigue desbloquearlo, la aplicación hace que vuelva a aparecer en unos pocos segundos. En fin, que es peor el remedio que la enfermedad (para que nos entendamos).

El caso es que he encontrado el ID del botón con una función que tiene la aplicación AutoInput. El ID es: "com.android.incallui:id/touchLockOverlay", con lo cual he podido averiguar el ID del paquete (com.android.incallui) y el del botón del bloqueo de candado (touchLockOverlay).

Bien, resulta que he descompilado la apk de la Interfaz de llamada (InCallUI_ESS.apk), y después de buscar mucho dentro de la APK, he encontrado el trozo de código XML relacionado con este candado en "res/layout/incall_screen.xml".

Os dejo aquí el código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:id="@id/main" android:layout_width="fill_parent" android:layout_height="fill_parent"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <FrameLayout android:id="@id/in_call_and_button_container" android:layout_width="fill_parent" android:layout_height="fill_parent">
        <FrameLayout android:id="@id/in_call_card_container" android:layout_width="fill_parent" android:layout_height="fill_parent" />
        <FrameLayout android:id="@id/conference_manager_container" android:paddingTop="74.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent" />
        <FrameLayout android:id="@id/in_call_button_container" android:layout_width="fill_parent" android:layout_height="fill_parent" />
        <FrameLayout android:id="@id/end_call_button_container" android:layout_width="fill_parent" android:layout_height="fill_parent" />
        <FrameLayout android:id="@id/dialpad_container" android:layout_width="fill_parent" android:layout_height="wrap_content" />
      <RelativeLayout android:id="@id/touchLockOverlay" android:background="#cc000000" android:focusable="true" android:visibility="gone" android:clickable="true" android:layout_width="fill_parent" android:layout_height="fill_parent">
            <ImageView android:gravity="center" android:id="@id/touchLockIcon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="@dimen/touch_lock_icon_marginTop" android:src="@drawable/call_unlock_icon" android:layout_centerHorizontal="true" />
            <TextView android:textAppearance="?android:textAppearanceLarge" android:textSize="17.0dip" android:typeface="sans" android:gravity="center" android:id="@id/touchLockIconText" android:paddingTop="@dimen/touch_lock_text_paddingTop" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/touchLockText" android:singleLine="true" android:shadowColor="#99000000" android:shadowDy="1.0" android:shadowRadius="1.0" android:layout_below="@id/touchLockIcon" android:layout_centerHorizontal="true" />
        </RelativeLayout>
    </FrameLayout>
    <FrameLayout android:gravity="top" android:layout_gravity="bottom|center" android:id="@id/answer_widget_container" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" />
</FrameLayout>


Si os dirigís a la parte donde pone RelativeLayout que he dejado en NEGRITA CURSIVA veréis que hay un trozo que dice ImageView (el candado) y TextView (el texto debajo del mismo). Bien, lo cierto es que conseguido modificar ambos ya que en el código se indica dónde está el archivo de imagen y el String de texto respectivamente:
Screenshot_2017-09-11-16-14-21

Con lo cual no queda duda de que aquí está la parte que me gustaría quitar. Pero ahora hay otro problema: he probado a quitar todo el RelativeLayout con el fin de ver si se quita el candado, pero lo único que consigo es la app se crashee ("InCallUI se ha detenido")
Screenshot_2017-09-11-17-35-07

Así que la pregunta es ¿cómo quitar el Bloqueo de Pantalla y qué parte del código hay que quitar (si es que hay que quitar) para evitar que la app crashee y se detenga?

Muchas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder