ICS g-sensor,light sensor移植记录
2012-03-22 15:30
344 查看
最近有在移植ICS的sensor,接近传感器主要涉及文件及重要函数移植
1.device/samsung/crespo/libsensors
2.PowerManagerService.java,userActivity()
3.PhoneApp.java,updateProximitySensorMode()
4.Cm3605.c
5.init.rc
G-Sensor主要涉及到的过程
1.首先要了解orientation Sensor设置的入口。
DisplaySettings.java中。
->onPreferenceTreeClick()会启动一个服务。调用PhoneWindowManager.java
在PhoneWindowManager.java中有
SettingsObserver类,会监听settings。当发现状态改变时,会
->updateSettings()->updateOrientationListenerLp()->needSensorRunningLp()(当应用程序禁止旋转时,就不会旋转)
2.当允许开启orientation sensor时。此时,会注册一个MyOrientationListener来监听旋转方向。
在WindowOrientationListener.java中监听java的值。对旋转方向判断。
->onSensorChanged()->onProposedRotationChanged()
3.PhoneWindowManager.java中有MyOrientationListener.onProposedRotationChanged()来监听上面的变化。
->updateRotation(false)
4.WindowManagerService.java中。
->updateRotation()->updateRotationUnchecked()->sendNewConfiguration()
5.ActivityManagerService.java中。
->updateConfiguration()->updateConfigurationLocked()
当操作系统启动后,WindowManagerService.java中ENABLE_SCREEN
->performEnableScreen()->mPolicy.enableScreenAfterBoot()
Light sensor主要涉及文件
framework/base/core/res/res/values/config.xml
在framework/base/services/java/com/android/server/PowerManagerService.java
lightSensorChangedLocked()函数中修改
1.device/samsung/crespo/libsensors
2.PowerManagerService.java,userActivity()
3.PhoneApp.java,updateProximitySensorMode()
4.Cm3605.c
5.init.rc
G-Sensor主要涉及到的过程
1.首先要了解orientation Sensor设置的入口。
DisplaySettings.java中。
->onPreferenceTreeClick()会启动一个服务。调用PhoneWindowManager.java
在PhoneWindowManager.java中有
SettingsObserver类,会监听settings。当发现状态改变时,会
->updateSettings()->updateOrientationListenerLp()->needSensorRunningLp()(当应用程序禁止旋转时,就不会旋转)
2.当允许开启orientation sensor时。此时,会注册一个MyOrientationListener来监听旋转方向。
在WindowOrientationListener.java中监听java的值。对旋转方向判断。
->onSensorChanged()->onProposedRotationChanged()
3.PhoneWindowManager.java中有MyOrientationListener.onProposedRotationChanged()来监听上面的变化。
->updateRotation(false)
4.WindowManagerService.java中。
->updateRotation()->updateRotationUnchecked()->sendNewConfiguration()
5.ActivityManagerService.java中。
->updateConfiguration()->updateConfigurationLocked()
当操作系统启动后,WindowManagerService.java中ENABLE_SCREEN
->performEnableScreen()->mPolicy.enableScreenAfterBoot()
Light sensor主要涉及文件
framework/base/core/res/res/values/config.xml
<bool name="config_automatic_brightness_available">true</bool> …… <integer-array name="config_autoBrightnessLevels"> <item>40</item> <item>300</item> <item>400</item> <item>700</item> </integer-array> ……
<integer-array name="config_autoBrightnessLevels"> <item>50</item> <item>100</item> <item>160</item> <item>200</item> <item>250</item> </integer-array>
在framework/base/services/java/com/android/server/PowerManagerService.java
lightSensorChangedLocked()函数中修改
int lcdValue = getAutoBrightnessValue( (true/*mIsDocked*/ ? value : mHighestLightSensorValue), mLcdBacklightValues);
相关文章推荐
- ICS g-sensor,light sensor移植记录
- DelphiXE4 FireMonkey 试玩记录,开发IOS应用 还是移植
- 将cocos2d-x项目从x-code移植到vs2012下记录
- Qt5.6.0 移植到ARM(tq2440)步骤及问题记录
- EFSL文件系统移植记录
- ARM linux 移植实验记录
- Qt4.5.1触摸屏(tslib 1.4)+sqlite3 移植全记录
- S3C2410 u-boot 移植记录
- android系统移植emmc记录(4)-- fdisk 分区命令分析 .
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(19):分号惹祸
- sqlserver移植为Oracle笔记(更新,新增字段名;批量新增记录;日期查询;截取字串函数)
- 深入浅出 - Android系统移植与平台开发(十一) - Sensor HAL框架分析之一
- Qt-5.3.2 在友善Smart210开发板的移植记录
- Android上Sensor移植的总结
- Android gt911触摸屏驱动移植记录
- [ZT]S3C44B0开发板移植内核2.6 uclinux记录
- 深入浅出 - Android系统移植与平台开发(十一) - Sensor HAL框架分析之一
- 移植linphone到arm-linux日志记录
- Android touch screen keyboard 移植记录
- DI v6.2,从测试环境移植到生产环境,如何清理以前运行过的垃圾数据(作业监控记录等信息及后台日志记录相关数据)