项目中需要旋转recovery界面,原始是竖屏界面,将其显示为横屏。
网上找了很多,都没有这方面的资料。
通过阅读源码,发现改个地方即可。
本源码为MTK的Android 5.1源码,MT8735
device/…产品…/ProjectConfig.mk下有个宏,修改这个宏即可。
如:device/wisky/wisky8735_3g_h/ProjectConfig.mk
MTK_LCM_PHYSICAL_ROTATION = 90
修改这个宏,可能会影响其他地方。
或者直接修改recovery代码,用固定的方向。
bootable/recovery/minui/graphics_fbdev.c
若要旋转90度,将return改为: return 1;
// Read configuration from MTK_LCM_PHYSICAL_ROTATION
static int rotate_config(GRSurface *gr_draw)
{
if (rotate_index<0)
{
if (gr_draw->pixel_bytes != 4) rotate_index=0; // support 4 bytes pixel only
else if (0 == strncmp(MTK_LCM_PHYSICAL_ROTATION, "90", 2)) rotate_index=1;
else if (0 == strncmp(MTK_LCM_PHYSICAL_ROTATION, "180", 3)) rotate_index=2;
else if (0 == strncmp(MTK_LCM_PHYSICAL_ROTATION, "270", 3)) rotate_index=3;
else rotate_index=0;
printf("[graphics] rotate_config %d %s\n", rotate_index, MTK_LCM_PHYSICAL_ROTATION);
}
return rotate_index;
}