I have a device with i.MX6 and Android 6, it uses the accelerometer to rotate display.
The problem is when device starts in the upside down orientation:
- bootanim is shown,
- Launcher app starts, inside onCreate() the app sets a reverse orientation (this is not visible as bootanim is still visible),
- bootanim is closed - after that Launcher app is shown, but for a short time is visible in a normal orientation until Android rotates the screen.
Is there any way to rotate Android display at the beginning, before start bootanim?
I know how to change the boot logo animation, or just modify the bootanim source to display existing animation upside down.
The problem is different, please see my scenario:
1. System starts in the normal, the bootanim is shown on screen.
2. Launcher starts and set the reverse orientation - but this is not visible, Android doesn't change orientation because the bootanim is shown.
3. The bootanim is hidden, as a result Android shows the Launcher and changes orientation to requested one - but this happens with some delay. So in fact:
- for about 100ms the Launcher is shown with initial orientation,
- then screen rotates to the correct orientation.
Do you have any idea how to avoid this.
As I know during orientation changes Android freezes screen updates until a window is painted. Maybe is it possible to extend the freeze time?