Podrías estar atento a una solución de automatización. Yo, por ejemplo, uso Tasker para un montón de cosas así (sí, cuesta 5 euros -- pero puedes obtener una prueba gratuita de 7 días en la página del proyecto, y según el dev incluso hacer que funcione otros 7 días exportando su configuración, desinstalando, reinstalando, importando la configuración). Descrito crudamente: Combinas eventos/condiciones con tareas. En tu caso, por ejemplo, establecerías el tiempo de espera por defecto a 30s, y harías que Tasker se encargara de las especialidades:
- Perfil "Lectura":
- Estado: Aplicación que se ejecuta (navegador, lector de libros electrónicos, ... -- elija su opción)
- Tarea: Fijar el tiempo de espera de la pantalla en 2min (se revierte automáticamente cuando deja de cumplirse la condición)
- Perfil "LockScreen":
- Condición : [Bloqueo de pantalla activado]
- Tarea: Tiempo de espera 15s
Ya tienes la idea. Por desgracia (como indican los corchetes), Tasker parece no tener la condición de "Screenlock activo" (o no la encontré), así que esto podría requerir algún addon (los addons de Locale son compatibles). Sin embargo, usted tiene la idea - y hay otras soluciones de automatización por ahí en el Playstore que podría hacer el trabajo a su gusto, e incluso puede ser más barato. Yo buscaría los addons, y luego comprobaría Llama - Perfiles de ubicación etc.