其实不止在用户主动恢复出厂设置的时候,还有在关机的时候用电源键+音量+键进入恢复模式的时候也会倒180度。
解析目录:
bootable\recovery\minui
这个目录下是指一个特定的安卓系统镜像文件,它包含了一个可启动的Recovery模式和一个基于MIUI的用户界面。这个文件通常用于在安卓设备上进行刷机操作,例如将设备的系统版本升级到更高版本或者更改设备的默认设置。
具体来说,bootable表示这个文件是一个可引导的镜像文件,可以通过将其放置在SD卡中并进入Bootloader模式来启动安卓设备。recovery表示这个文件包含了一个Recovery模式,用户可以在该模式下对设备进行一些高级操作,例如清除缓存、备份数据、安装ROM等。minui则是基于MIUI的用户界面,它可以让用户更加方便地进行一些常见的系统设置和应用程序管理。
而bootable\recovery\minui\mt_graphic_rotate.cpp
是一个C++文件,它实现了一个基于MIUI的用户界面中的图形旋转功能。具体来说,这个功能允许用户在设备上旋转屏幕方向,以适应不同角度的显示需求。
在这个文件中,主要使用了OpenGL ES 2.0 API来实现图形渲染和旋转效果。具体来说,它通过获取设备的旋转角度,然后使用OpenGL将当前视图进行旋转,从而实现屏幕方向的转换。同时,为了提高性能和稳定性,还对代码进行了优化和处理,例如减少不必要的绘制操作、避免内存泄漏等。
所以我更改了这个文件中的 :
这个只有0-3,一共有4个值。
解析代码:
这段C++代码是一个函数,用于控制屏幕旋转。它首先检查是否有需要旋转的选项。如果没有选项,则返回错误。否则,它调用一个名为 “graphics” 的函数,该函数用于设置显示器的旋转角度。最后,它返回 1,表示函数成功完成。
具体来说,这段代码定义了一个名为 “rotate_index” 的变量,并将其初始化为 -1。如果 gr_draw 对象的像素数据大小不是 4 字节,则将 rotate_index 设置为 -1。否则,它将检查输入的旋转角度是否在 “90”,“180” 或 “270” 之一范围内,并将 rotate_index 设置为对应的值。如果旋转角度不是预期的值,则该函数将引发一个错误。
在函数内部,该函数调用一个名为 “graphics” 的函数,该函数用于设置显示器的旋转角度。具体来说,函数将 gr_draw 对象的 “rotation” 属性设置为 rotate_index。最后,该函数返回 1,表示函数成功完成。
在用户主动恢复出厂设置的时候,还有在关机的时候用电源键+音量+键进入恢复模式的时候就正常了。