La animación de carga de la batería suele ser una serie de imágenes que se muestran en la barra de estado. Suponiendo que estás hablando de ellas (las imágenes en la barra de estado), se animan cuando se emite un evento.
Para dar más detalles, cada vez que se conecta un cargador, se emite un intento, que es recibido por el SystemUI para animar la imagen del indicador de batería de la barra de estado. Cuando se desconecta un cargador, se emite otro intento para detener al SystemUI de animar las imágenes del indicador de batería.
Todo esto es manejado por el archivo BatteryService.java en frameworks/base del código fuente de Android.
La otra animación de carga de la que estás hablando, es cuando se muestra una imagen en la pantalla cuando la pantalla está apagada, pero el cargador está conectado. Esto suele conocerse como carga en modo apagado, que se hace cargo del framebuffer y dibuja una imagen sobre él, según dos condiciones: 1. el cargador está conectado 2. la pantalla está apagada
Respondiendo a la segunda parte de tu pregunta, el primer método, BatteryService.java está en espacio de usuario, y no puedes hacer mucho al respecto; como arrancar el teléfono con solo un servicio y que muestre las imágenes de carga. El segundo, si existe en tu dispositivo, sería cuando tu teléfono está apagado y conectado a un cargador, generalmente arranca en la recuperación, donde se 'verifica' en el inicio si el cargador está presente o no, y por lo general, muestra las imágenes de carga.