ICS g-sensor,light sensor移植记录

原创 2012年03月22日 15:30:16

最近有在移植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

<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);

相关文章推荐

Android(4.2) Sensors 学习——G-sensor,Gyroscope驱动移植

本人对驱动可谓是一点不懂,鉴于公司目前高驱动的人手不够,所以我也只能两眼一抹黑硬上咯。这篇文件讲记录自己一步一步移植过程,已备不时之需。在移植前,先来高明白android 支持那些Sensors,即S...
  • nxh_love
  • nxh_love
  • 2013年10月22日 10:39
  • 15616

android light sensor port

基于android 2.2 添加Light Sensor支持: 1) UI部分 2) framework部分 3) HAL 部分 4) Driver 部分   下面分别讨论: 1) UI...

android 光线传感器 light sensor的使用

调用anroid的光线传感器使用。 MainActivity.java package hk.ust.cse.comp107x.ligthsensor; import a...

ROHM BH1710 light sensor调试

light sensor厂家ROHM给的bh1710的驱动是一个简单的单片机控制的驱动,为了能够集成到android2.3.7中来,还是费了一番工夫来调试。 1. 首先是驱动的问题,由于没有...
  • knock
  • knock
  • 2012年06月04日 10:13
  • 3621

高通 8x26 andorid light sensor(TSL258x) 开发

1. Add the entry function for the new driver in adsp_proc\sensors\dd\qcom\inc\sns_dd.h:     extern s...

Android: Android Light Sensor HOWTO

基于android 2.2 添加Light Sensor支持:1) UI部分2) framework部分3) HAL 部分4) Driver 部分下面分别讨论:1) UI部分    a) 打开亮度设置...

android camera架构和sensor驱动移植

  • 2015年09月23日 16:56
  • 195KB
  • 下载

G-sensor MMA7455L datasheet

  • 2012年05月19日 11:44
  • 537KB
  • 下载

深入浅出 - Android系统移植与平台开发(十一) - Sensor HAL框架分析之一

1.      Sensor的概念 Sensor即传感器,在当前智能手机上大量存在:G-Sensor、LightsSensor、ProximitySensor、TemperatureSensor...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ICS g-sensor,light sensor移植记录
举报原因:
原因补充:

(最多只允许输入30个字)