PDA

Ver la Versión Completa : [ SOLUCIONADO ] Crear cuadro de asteriscos en teclado de bloqueo de app


emiegna
16/05/17, 23:17:29
Buenas,

Llevo un tiempo "retirado" del uso de Tasker, con lo que ando un poco "oxidao". A ver, hace un mes me cree un teclado para el bloqueo de una aplicación. No me gusta el teclado que proporciona Tasker para el bloqueo de aplicaciones porque no es posible cambiar el color de los botones (que yo sepa). Hasta dar con el asunto de meter la contraseña me llevé un tiempo. Pero di con ello. El teclado funciona correctamente.

La cuestión es que en el cuadro donde habitualmente aparecen los "asteriscos" a medida que tecleo un número lo que he creado es un degradado que se "enciende" cuando marco un dígito. Una solución muy rudimentaria, pero al mismo tiempo muy intrigante a ojos ajenos... :-)

A ver, no tengo ni idea de por dónde empezar para sustituir el "invento" del degradado por los típicos asteriscos que surjan a medida que tecleo. Pretendo que aparezcan como máximo 8 asteriscos, aunque la contraseña esté compuesta por menos números, y de izquierda a derecha. De momento he creado 8 cuadros de textos, con sus correspondientes asteriscos, y los he situado en el cuadro donde tenia el degradado. He ocultado estos elementos y pretendía hacerlos visibles a medida que pulsaba un dígito, pero claro; es el "lío padre"... y mas aún si la contraseña tiene números repetidos. Por ejemplo, 36674. Vamos, he probado algunas cosillas, pero ya. Na de na.

WillyWeb
17/05/17, 09:07:22
... No me gusta el teclado que proporciona Tasker para el bloqueo de aplicaciones porque no es posible cambiar el color de los botones (que yo sepa) ...

Las escenas "predefinidas" sí se pueden editar. Una vez que las usas se queda grabadas en la pestaña "ESCENAS" del proyecto predeterminado (el primero de la izquierda). La de bloquear aplicaciones se llama "Bloqueo aplic." en español o "Lock" en inglés.

:cucu:

emiegna
17/05/17, 10:47:12
Hola WillyWeb. Igual estoy confundido, pero por mas vueltas que le doy no veo como puedo editar determinados aspectos del teclado "oficial".

Por ejemplo, clono el teclado "Bloqueo aplic." Lo nombro como "Prueba". Me voy a la pestaña de tareas. Creo una tarea con una acción de Bloqueo de aplicación. Le pongo un código y selecciono la escena "Prueba" (el teclado clonado). Funciona perfecto.

Ahora me voy a escenas e intento editar la escena "Prueba". Y hay elementos que no se pueden editar. Concretamente no puedes cambiar el color de los botones. Siempre son grises. Tampoco sé como evitar que un botón se ponga de color azul cuando lo pulsas. Y bueno, por eso me vi obligado a crear mi propio teclado.

WillyWeb
17/05/17, 19:45:29
Las escenas "predefinidas" de Tasker tienen varios controles bloqueados para evitar que hagamos una trastada y las dejemos inservibles para su propósito "oficial". No te puedo garantizar el resultado porque no le he podido dedicar mucho tiempo, pero es posible "eliminar" ese bloqueo editando a mano el código XML de la escena.

-Exporta la escena "oficial" a la SD
-Edita el archivo como texto (en el móvil/tablet o mejor en el PC)
-Buscan todas las referencias a ...
<flags>5</flags> y las cambias por <flags>4</flags>
-Busca todas las referencias a ...
<clickTask>-936</clickTask> (puede que el número negativo sea otro)
... y las eliminas.
-Guarda los cambios
-Elimina la escena oficial en Tasker
-Importa la escena modificada

Ya me contarás. :palomitas:

Por cierto, lo de que un botón se ponga azul al pulsarlo creo que no se puede cambiar. :oh:

emiegna
17/05/17, 21:32:57
He hecho lo que has comentado, pero cuando ya lo he guardado, he eliminado la escena "oficial" y he intento importar el archivo Tasker me suelta... Error: La importación contiene mas de una escena. No se que estoy haciendo mal.

Edito: He visto el contenido del archivo y se ha mezclado los datos de las otras escenas que tengo y los datos de la escena "oficial". No se porqué. El caso es que como he eliminado la escena "oficial" pues ya no puedo hacer nada. Por lo menos mis escenas de teclados que he creado sí funcionan... :-(

WillyWeb
17/05/17, 22:02:18
Tasker creará la escena oficial la primera vez que la necesite. Sólo tienes que añadir una acción de bloqueo de aplicación en cualquier tarea, pero sin poner una escena personalizada.

Rsc
17/05/17, 22:02:38
Desde Tasker, al parecer no puedes sustituir los botones numéricos del teclado predefinido, y es cierto que para el que le guste crear escena agradables a la vista, no puede usar los botones de Tasker. Yo particularmente siempre uso imágenes en vez de botones.

Bueno en este caso, como hemos dicho no se pueden modificar esos elementos de la escena, pero él elemento botón tiene un porcentaje de transparencia aparentemente bajo, por lo tanto se verá cualquier imagen o color que coloques detrás. Mejora un poco, pruébalo a ver si te vale.

Edito: quería poner una captura pero no se porque no se ve la imagen, sorry

http://drive.google.com/file/d/0B1ae_ggJrBbfb2NnLXRpaDFQMkU/view?usp=drivesdk

emiegna
18/05/17, 00:03:22
Ya he recuperao el teclado oficial :-) Eso si, me he quedado con las ganas de saber que ha pasado. Quizas lo intente otra vez. Tengo curiosidad por saber como de editable sería modificando los datos del xml.

He probado lo de la transparencia... Me gusta mas el teclado que he creado.

Si no es posible hacer lo que planteaba al principio del post con los asterisco, que ya no se por donde meter variables, tendré que buscar una alternativa curiosa y elegante... pero no se me ocurre nada de momento.

WillyWeb
18/05/17, 10:17:02
... me he quedado con las ganas de saber que ha pasado ...

Supongo que has exportado sólo la escena, no el proyecto completo ¿...? :rolleyes:

Si no es posible hacer lo que planteaba al principio del post con los asterisco, que ya no se por donde meter variables, tendré que buscar una alternativa curiosa y elegante... pero no se me ocurre nada de momento.

Partiendo de la escena oficial no debería ser muy complicado, y si me apuras creo que se podría hacer hasta sin usar variables ... creo. :oh:

Si lo he entendido bien tu intención es hacer una botonera como la oficial pero que en el campo de la clave aparezcan asteriscos a medida que tecleas ... ¿correcto? :rolleyes:

emiegna
18/05/17, 12:55:51
Claro. He creado un teclado parecido al oficial, pero sin botones. Lo he creado con elementos de texto y rectangulos. Todo transparente menos los dígitos. Mediante variables consigo meter cada digito que marco en una variable %Pass, marcando añadir, y si %Pass coincide con xxxx abre la aplicación. Ahora bien, me gustaría lo de los asteriscos, o bien puntos, que surgieran en un cuadro de texto a medida que se marca un digito, y de izquierda a derecha. ¿Sin variables? No se cómo, la verdad.

WillyWeb
18/05/17, 13:57:31
Pues así, a bote pronto, se me ocurre que podrías crear un cuadro de texto para que se vean los asteriscos, y en la acción "clic" de cada rectángulo (que supongo que usas para los números) simplemente tienes que añadir una acción para añadir un asterisco al valor del elemento de texto anterior.

Controlar la cantidad máximo de asteriscos lo dejo en tus manos (eso puede que requiera una variable). :silbando:

emiegna
18/05/17, 14:35:14
WillyWeb, estoy avergonzado... Lo tenía delante de mis narices. Mira que era (y es) fácil. Pero nunca había echado cuenta a esa acción. No tiene justificación... Escena/Elemento Texto... Simple.

Gracias tío :-)

WillyWeb
18/05/17, 17:55:15
... No tiene justificación... Escena/Elemento Texto... Simple.

Gracias tío :-)

Bueno hombre, tampoco te tienes que fustigar :risitas:

Tema resuelto :ok:

SmartPhoneLover
22/05/17, 11:16:58
Muy buenas 'emiegna', y al resto de los ya conocidos y de siempre (WillyWeb & Rsc) ;)
En cuanto a lo que pides en el post principal sobre el tema del cuadro de texto en el cual quieres que aparezcan asteriscos a medida que vas introduciendo la contraseña, hace tiempo había hecho mi propio lockscreen para el bloqueo de las apps, que ahora lo utilizo para todo el terminal, pero eso ya es otro hablar.

En este mensaje te adjunté algunas capturas de como se ve. Dime si te interesa y lo publico aquí mismo. :D

PD: Yo elegí para el mio cruzes (XXX), en vez de asteriscos, pero si lo que quieres son los asteriscos o cualquier otro carácter o letra (o número), sería facil modificarlo.

Rsc
22/05/17, 20:56:16
Buenas! Cuando emiegna lanzó la consulta, intenté averiguar alguna forma de sustituir los botones por imágenes en la escena de teclado predeterminada de Tasker, probé incluso a crear imágenes y asignarle el mismo nombre que los botones, pero para que la escena funcione, requería que fuesen botones si o si.

Por lo tanto me quedo con la intriga de como lo has hecho? Supongo que has creado una escena completamente de cero, no? Pero de igual forma, esa acción de desbloqueo, requiere lo mismo, osea botones que se llamen Digit1 Digit2 etc

Por cierto, muy buena la escena, asemejándose mucho a Material Design.

Un saludo

SmartPhoneLover
22/05/17, 21:23:19
Hola 'Rsc'!
Efecticamente, he creado una escena destinada específicamente a ello desde cero. He intentado dar con la forma de editar la predeterminafa creada por Tasker, pero no he hallado la manera. Es más, no hay forma de ver cuales son las acciones que tasker toma al presionar cada botón, para el tema de los asteriscos, y demás. Asique lo idee yo mismo. MUY FÁCIL, POR CIERTO!

Con el tema de los nombres de los botones (Digit1, Digit2...), no precisamente. Si lo haces en la propia escena que Tasker te crea, si, o si deseas crear una escena con la función integrada de Tasker para el mismo fin, también. Pero si la creas usando otra lógica, otra manera de funcionar, tal como yo he hecho, pues no es necesario.

En este mensaje adjunto los XMLs, y demás resources.

Notas
- En la tarea principal, que es la que ejecuta la escena, hay acciones que las puedes eliminar, son para otro cometido en mi terminal: A(1, 2, 3, 4, 5, 6, 8, 8, 9, 10, 16, 17, 18, 19, 20, 21)

Buenas! Cuando emiegna lanzó la consulta, intenté averiguar alguna forma de sustituir los botones por imágenes en la escena de teclado predeterminada de Tasker, probé incluso a crear imágenes y asignarle el mismo nombre que los botones, pero para que la escena funcione, requería que fuesen botones si o si.

Por lo tanto me quedo con la intriga de como lo has hecho? Supongo que has creado una escena completamente de cero, no? Pero de igual forma, esa acción de desbloqueo, requiere lo mismo, osea botones que se llamen Digit1 Digit2 etc

Por cierto, muy buena la escena, asemejándose mucho a Material Design.

Un saludo

Rsc
22/05/17, 21:50:05
Mensaje duplicado

Rsc
22/05/17, 21:50:36
Claro, ni había caigo en hacerlo creando la tarea sin utilizar la predeterminada por Tasker.

Respecto al xml no se que ocurre, que no me deja importarlo. Primero lo he tenido que renombrar, porque donde debería de poner "prj" ponía otra cosa (ya me ha pasado al importar otros perfiles) y una vez modificado, cuando trato de importarlo me da un error y pone "No encuentro %1$s"

Igualmente gracias por solucionarme la duda. Un saludo

SmartPhoneLover
22/05/17, 23:38:57
El XML que te da error, no es un proyecto, es una simple tarea. Lo comenté antes. Quizás por eso te da error al importarlo, porque estas intentando importar una cosa que no es.

emiegna
22/05/17, 23:41:26
Bonito teclado... El mío es mas "simplote". Tengo tres gestos con Nova Launcher que lanzan este teclado que hice para tres aplicaciones distintas. Las tres aplicaciones las tengo ocultas. Tasker es otra de ellas, ademas de Nova Launcher.

Para los gestos, una tarea que muestra la escena del teclado como capa superpuesta, ventana completa. Siguiente accion, cambiar el tamaño de los puntos (decidí puntos en lugar de asteriscos) y enseguida la acción de cargar la aplicación (sin mostrarse en app recientes). De esta forma se abre la app, pero no se ve. Si introduces el código correcto "se abre" enseguida. Ya me entendeis.

A ver, no me extrañaria que las tareas de los botones se podrían mejorar, pero a mi me funcionan correctamente... Cada digito está formado por un elemento texto y otro rectangulo que es el clic (lleva la tarea). Os pongo el" aceptar" y el digito 0. "Salir" es simplemente "volver a inicio", destruir escena y limpiar variables.

AceptarClic (31)
A1: Si (if) [ %Asteriscos Ajuste ]
A2: Vibrar [ Tiempo:800 ] Si (if) [ %Contraseña !~ 1234 ]
A3: Si (if) [ %Contraseña ~ 1234 ]
A4: Vibrar [ Tiempo:30 ]
A5: Destruir Escena [ Nombre:Teclado Nova Launcher ]
A6: Fin si (End if)
A7: Si (if) [ %Contraseña !~ 1234 ]
A8: Volver a inicio [ Página:0 ]
A9: Visibilidad del Elemento [ Nombre Escena:Teclado Nova Launcher Coincidir Elemento:Código Incorrecto Establecer:Verdadero Tiempo de animación (ms):0 ]
A10: Esperar [ MS:0 Segundos:1 Minutos:0 Horas:0 Días:0 ]
A11: Destruir Escena [ Nombre:Teclado Nova Launcher ]
A12: Fin si (End if)
A13: Limpiar variable [ Nombre:%Contraseña Coincidencia de Patrón:Apagado ]
A14: Limpiar variable [ Nombre:%Key0 Coincidencia de Patrón:Apagado ]
A15: Limpiar variable [ Nombre:%Key1 Coincidencia de Patrón:Apagado ]
A16: Limpiar variable [ Nombre:%Key2 Coincidencia de Patrón:Apagado ]
A17: Limpiar variable [ Nombre:%Key3 Coincidencia de Patrón:Apagado ]
A18: Limpiar variable [ Nombre:%Key4 Coincidencia de Patrón:Apagado ]
A19: Limpiar variable [ Nombre:%Key5 Coincidencia de Patrón:Apagado ]
A20: Limpiar variable [ Nombre:%Key6 Coincidencia de Patrón:Apagado ]
A21: Limpiar variable [ Nombre:%Key7 Coincidencia de Patrón:Apagado ]
A22: Limpiar variable [ Nombre:%Key8 Coincidencia de Patrón:Apagado ]
A23: Limpiar variable [ Nombre:%Key9 Coincidencia de Patrón:Apagado ]
A24: Limpiar variable [ Nombre:%Asteriscos Coincidencia de Patrón:Apagado ]
A25: Visibilidad del Elemento [ Nombre Escena:Teclado Nova Launcher Coincidir Elemento:Código Incorrecto Establecer:Falso Tiempo de animación (ms):0 ] Si (if) [ %Contraseña !~ 1234 ]
A26: Fin si (End if)

( la contraseña no es 1234 :-), y pueden ser hasta 10 dígitos)

Digit0Clic (45)
A1: Establecer variable [ Nombre:%Asteriscos A:1 Recurse Variables:Apagado Calcular:Apagado Añadir:Encendido ]
A2: Elemento Texto [ Nombre Escena:Teclado Nova Launcher Elemento:Asteriscos Posición:Comenzar Texto:. Selection: ] Si (if) [ %Asteriscos < 11111111111 ]
A3: Vibrar [ Tiempo:30 ] Si (if) [ %Asteriscos < 11111111111 ]
A4: Establecer variable [ Nombre:%Key0 A:0 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ]
A5: Establecer variable [ Nombre:%Contraseña A:%Key0 Recurse Variables:Apagado Calcular:Apagado Añadir:Encendido ]


http://i63.tinypic.com/24347b5.png

http://i68.tinypic.com/dnyfwo.png