Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[sensors] Round off Ambient Light Sensor readouts to the nearest 50 Lux.
There have been some concerns regarding the precision of readouts from the Ambient Light Sensor. To decrease the entropy, we are rounding off the illuminance value to the nearest 50 Lux to mitigate the known attack vectors as summarized in [1]. sensor-helpers.js now has a small RingBuffer class that is used to wrap the readings passed via MockSensor.setSensorReading() so that we iterate over the array of readings (and wrap around) and every time a reading event is fired a potentially different value is emitted. This is useful for ALS because we will no longer be able to use the same value in succession and expect two reading events to be fired (only one will). In order to make it easier to implement those changes in sensor-helpers.js, runGenericSensorTests()'s signature has been simplified and all raw readings and expected values have a standardized format, an array of arrays, where each item corresponds to one reading. This also allows us to stop using Function.prototype.bind() for the reading verification function and be more explicit in telling which expected value we want in a specific reading callback. [1] w3c/ambient-light#13 (comment) Co-author: Raphael Kubo da Costa Bug: 642731, 606766 Change-Id: Icc4cfa6b87bd5a87c2cac6ebe322201d7dda6c33
- Loading branch information