If an app incorrect use of registerListener, it will cause
system_server socket fd leak, for example:
protected void onResume() {
super.onResume();
mSensorManager.registerListener(new MySensorEventListener(),
mSensor, SensorManager.SENSOR_DELAY_UI);
Each time a new SensorEventQueue, then in the system_server
will open a new socket fd, as time increases system_server's
fd will be more than 1024 and crash, so we needed add count limit
for sensor listener to improve the system stability.
Test: use the apk attached in the issue
https://code.google.com/p/android/issues/detail?id=258634
Bug: 37543280
Change-Id: I35006966a1638c25bb0f54611e117e16a764e12b
Signed-off-by: songjinshi <songjinshi@xiaomi.com>
Add missing API annotations for permissions and SdkConstants, and
invoke doclava with new "-android" flag.
Test: make -j32 offline-sdk-docs
Bug: 37526420
Change-Id: I970bb2655eb568fd25004636f134c794663a6c33
When data inject channel cannot be initialized return false, instead
of causing crash.
Bug: 37549731
Test: run GTS SensorHostTest, test succeed with no failures observed.
Change-Id: Ia7a078b9e7d4f61927da8d76a0206e588fd6686c
The sensor listener can be removed in unregisterListener
inside of the for loop. This change makes a copy of the
listeners and iterates over the copy.
Test: builds
Bug: 37543280
Change-Id: Ie9b7b9afb6994d9627f67c4b3bfbdfb305f5583e
Signed-off-by: Daniel Moore <dtmoore916@gmail.com>
Ensuring that the LLOB sensos naming style is consistent with other
sensor naming styles.
Bug: 36554362
Test: Verify that the sensor shows up with the appropriate name
string.
Change-Id: I904bd067e8a427ef32a45f19c6bff29afb69bec3
For apps targeting SDK versions O and newer, the value of enableZsl
may be true in still capture template. the value of enableZsl is
always false for other templates.
For apps targeting SDK versions older than O, the value of enableZsl
is always flase.
Test: make
Bug: 34983527
Change-Id: I23702ec49a460fc6877114384f85748c7c2ef6ba
Override enableZsl based on app target SDK version so that for apps
targeting N and older, enableZsl is false for all template. For
apps targeting O and newer, enableZsl is false for all templates
except STILL_CAPTURE.
Test: CTS
Bug: 34983527
Change-Id: I2057e2351e81c269d322dffc199c58481ac3e78f
Changes inline with bug number
Some improvements about SensorDirectChannel class.
* Complete the doc about creation of SensorDirectChannel object.
* Make SensorDirectChannel implements java.nio.channels.Channel.
* Change isValid() to isOpen().
* Make close() thread safe.
Bug: 36550285
* Throw exception on failure of SensorManager.createDirectChannel.
* Change to use NullPointerException when unexpected null pointer
is passed in.
Bug: 36555061
* Move SensorManager.configureDirectChannel() to
SensorDirectChannel.configure().
* Format SensorDirectChannel.configure() function doc with
<pre></pre> to maintain the table structure.
* Reworded Sensor.isDirectChannelTypeSupported java doc.
Bug: 36555604
Test: pass updated cts SensorDirectReportTest
Change-Id: I447121eaf414cbc94292a109a9d93d2e3c89f8f4
Vendor tag cache will be used alternatively to the regular
Vendor tag descriptor. The caches can support multiple vendor
tag providers at the same time. The native metadata along with
the requests/results/characteristics will store vendor specific
information that will be used to indentify the respective
descriptor.
Bug: 34275821
Test: Complete Camera/Camera2 CTS tests
Change-Id: I50b7cf9aa5575944fde7673a1728869690b2ce0d
Local geomagnetic field strength, declination, inclination information
is useful for magnetometer calibration. It also benefits rotation
vector sensor implementation as it gives a baseline that aids detecting
magnetic field disturbance.
Bug: 30958130
Test: Tested with marlin. Modified hal implementation can get local
geomagnetic field.
Change-Id: I373fe74d5a091a3adb80ff3c61e441edcf5a253b
There are two separate overrides for display metrics in DisplayManager
and WindowManager:
- In DM - LogicalDisplay#mOverrideDisplayInfo, in most cases not null.
- In WM - DisplayContent#mBaseDisplayWidth/Height/Density, different
from #mInitialDisplayWidth/Height/Density values when some metrics are
forced.
When display was resized its windows weren't updated because of
two problems: old LogicaDisplay#mOverrideDisplayInfo was preventing
WM from detecting the change and override (base) display metrics were
never updated by resize.
When display size changes:
- Before this CL:
DM receives DISPLAY_CHANGED event, it updates internal values and
WM is notified about them with a message. In most cases there is an
override obtained from WM and WM doesn't get new values from
LogicalDisplay#getDisplayInfoLocked().
- With this CL:
WM will requests real updated values from DM without any overrides
and will decide whether to apply them or not: if there is no override
in WM - it will apply values from WM, otherwise it will keep the
override. Also it will always update initial display metrics if there
is a real change detected.
Bug: 35258051
Bug: 34164473
Bug: 36518752
Test: android.server.cts.ActivityManagerDisplayTests
Test: #testDisplayResize
Test: #testForceDisplayMetrics
Change-Id: I2495c27797f11f9aaee4ea06648a8ccd29ac5b62
If getKeyphraseMetadataFromApplicationInfo encountered a parse error, it
would return a null KeyphraseMetadata instance. Other parts of
KeyphraseEnrollmentInfo assume that everything inserted into the member
mKeyphrasePackageMap is valid, so this would cause an NPE.
Bug:33448806
Test: Build a bogus enrollment APK and not see a crash.
Change-Id: I0936439ea4bd0050580a7b0ee8f08f2992ebfd63
Sensors which should have a maximum vector length of 1 were erroneously
being treated as tri-axis sensors.
Bug: 36530209
Test: Ensure that pressure, light, ambient temperature, proximity,
relative humidity, temperature are reported with maximum
length of 1.
Change-Id: Iec76a6b8a2c1851300e92b71c46f2f12836fa7bf
Replace the existing Vibrator APIs with a new class to encapsulate the
haptic effect information, and add the ability to control the vibration
strength.
Test: cts-tradefed run commandAndExit cts-dev -m CtsOsTestCases -t android.os.cts.VibratorTest
cts-tradefed run commandAndExit cts-dev -m CtsOsTestCases -t android.os.cts.VibrationEffectTest
runtest systemui-notification
Manual testing with $T/google_experimental/users/michaelwr/Vibrator
Bug: 30961353
Change-Id: Idbb9864a7b084c85e7b7de3257a0e6b40d9d91d6
For surface with PRIVATE format, camera device may override the dataSpace.
So do not enforce matching dataSpaces for such surfaces within the same
OutputConfiguration.
Test: Camera CTS
Bug: 33777818
Change-Id: I1374511946c04ab158fa16ed6d596d747d31f385