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
For each constrained high speed recording request list, only 1 shutter
notify and 1 capture result are sent from cameraserver to application
process as a power-saving measure.
Once the shutter notify and capture result are passed into application
process, derive individual shutter and result for other requests in the
batch, and send them to application.
Test: Manually test high speed recording with GCA and CTS.
Bug: 35775704
Change-Id: Ie5fa1de6b3b87f1242d6c81770e40ae876991bc3
Displays can be rotated separately and rotation watcher clients
are only interested in rotation of some specific display. This CL
adds displayId to rotation watchers and only informs them about
changes on their display.
Bug: 34242678
Test: Manual and debug.
Change-Id: If0f03804da0392c2b14a4e7c2d6a06068ad8760b
They are again allowed to be dispatched, but now only
to registered receivers.
Test: manual, still need to write CTS
Change-Id: Ib95293d818430129d168cfc0616eb90bef25e5c6
NanoAppId should not be 32 bits as exposed in some APIs.
Adding new methods to accept a 64 bit nanoAppId and deprecating
the buggy API methods.
Test: Compile build, ensure CHRE applications (eg: geofencing) work.
Change-Id: I08b09ff1b1d23b616214282f200202c99620c300
Using AIDL constants in the definition of public API static ints seems
to confuse build tools sometimes. Switch to just duplicating the
constants until that's worked out.
Test: Builds, at least for me!
Change-Id: I0fbe95bc0492eb8b39687f25a6c7e073fbb65dc4
This knob is designed to effectively tune the battery saver.
Bug: 34693888
Test: FrameworksServicesTests
Change-Id: I9fd7896f59fabd9baf649cdb12f01b1baaf4c34b
This has been requested by various Android implementers as
a way to simplify building new device-specific features for
default camera applications.
Test: The added system API tests pass.
Bug: 34853980
Change-Id: I3190f59394af97c0b0c8e520696d096235d596b9
This exposes a direct route to selecting the operating mode, instead
of only allowing normal and high-speed modes.
Test: Compiles
Bug: 34853980
Change-Id: Ib4f833399834c9bacb9de666560e909109aa5af9
Previously, a copy of DisplayAdjustments was provided during Display
construction. If the Display instance is held, the adjustments would
not update. However, the DisplayInfo would, leading to a mismatch.
This changelist adds a reference to the Resources, which can be
queried to provide the latest adjustments.
Fixes: 33430498
Test: manual from bug repro steps.
Test: make -j32 cts; cts-tradefed; run cts --module CtsAppTestCases --test android.app.cts.DisplayTest#testRotation
Change-Id: Ida2ed3990add885d06b011494af24b055343f3fa
Ensure that all static initializer code can be executed in the
compiler. Move native field caching into the native method
registration function.
Saves up to 10ms on N6P zygote initialization.
Bug: 34956610
Test: m
Test: Device boots (N6P)
Test: Can take pictures and videos (N6P)
Change-Id: I481dfd3aa8dc3cc5a5c31eedad31390d8afda897
Previously, getAuthenticatorId() simply returns the authenticator id
corresponding to the currently active user in FingerprintService.
However, this can cause bugs when, for example, KeyStore calls the
method before storing a fingerprint-bound key for a non-current user. In
such cases, the authenticator id of the calling user is desired, which
is not necessarily the same as the "current user" in FingerprintService.
This CL ensures the FingerprintService always returns the authenticator
id of the calling user.
Bug: 33459191
Test: manual
Change-Id: Ia9d6b869d16bd37f45358ba839cd12901ebc1076
Merged-In: I35c5a3a7082cffb8941eeaa219c8e20948ad41a9
Temporarily remove surface size 0 check for deferred surface.
Test: Manual test of camera use case from Hangouts
Bug: 35027811
Change-Id: If1ecb1b322b9608dafb5784d5d9fb83e3517b8e5
Bug: 31602449
Test: verified adaptive brightness no longer varies with twilight with
"brightness_use_twilight" set to "1".
Change-Id: I6b5f7310020b2128c2b292414a205b6052270a0a
add equals judgement for cts case: android.hardware.camera2.cts.CaptureRequestTest -m testSceneModes
scene-mode (auto) is not single string in some platform, the source is from getCameraCharacteristics
which contains multiple characters. so previous code == is not correct.
Test: make
Test: run android.hardware.camera2.cts.CaptureRequestTest -m testSceneModes
Change-Id: Ie5ffeeebd0d0c237c80768a4a8217bc04e52a173
Previously, getAuthenticatorId() simply returns the authenticator id
corresponding to the currently active user in FingerprintService.
However, this can cause bugs when, for example, KeyStore calls the
method before storing a fingerprint-bound key for a non-current user. In
such cases, the authenticator id of the calling user is desired, which
is not necessarily the same as the "current user" in FingerprintService.
This CL ensures the FingerprintService always returns the authenticator
id of the calling user.
Bug: 33459191
Test: manual
Change-Id: I35c5a3a7082cffb8941eeaa219c8e20948ad41a9