This CL exposes DisplayManager.getRequestedMinimalPostProcessing
for testing purposes. The call is propagated to
LogicalDisplay.getRequestedMinimalPostProcessingLocked().
Bug: 139369866
Test: m, flash, atest
CtsWindowManagerDeviceTestCases:MinimalPostProcessingTests
Change-Id: I7736d6e7a5c97d663111d10efa66d6d38a7e70bd
This unified the exception handling of SoundTrigger and
SoundTriggerModule and adds support for some ServiceSepcificExceptions
that may occur.
Change-Id: I018c7b249058758f0f3b5af34ee06a2396ecb6a7
Bug: 147435580
When a launched application doesn't occupy the entire screen space,
there is a mismatch between the configuration of the process and the
configuration of activities. This leads to compatibility issues with
apps that don't expect this, read display metrics from Application
resources and try to apply them in activities.
The platform may apply a compatibility mode, in which the process
configuration will match the config of the top running activity. This
means that the process configuration may change and runtime and
result in display adjustments that are different from the default
values. This CL propagates resource configuration updates even for
default display to make sure that the config changes are reflected
for non-activity contexts.
Test: CtsWindowManagerDeviceTestCases:AppConfigurationTests
Change-Id: I91cadc83a82a3be8c8dee810bbd1aa97cbe4e97f
Added some recovery code for the case of a dead driver.
Due to the sound trigger HAL process being tied to the audio server
via init.rc, this would also offer recovery from audio server death
as a by-product.
Bug: 146852437
Change-Id: I8cfea8ab108d482592c8094e8093066973f43288
The newly added UNDEFINED pose reference is used for a camera device
that cannot accurately measure its pose rotation and translation.
One such example is a camera on a foldable phone.
Bug: 119325027
Test: Camera CTS, and test_multi_camera_alignment
Change-Id: I0da7638e2bce31886f9dbf33dd2f74800d8768f7
Now that BiometricPrompt supports primary auth via device credential,
we want the high-level type of authentication used to be available to a
developer via the AuthenticationResult in onAuthenticationSucceeded.
Rather than include information about the strength of the biometric
sensor by reusing the existing Authenticators.Types constants, this
commit adds new integer constants that provide similar information but
at a lower level of granularity (device credential vs. biometric).
Test: atest com.android.server.biometrics
Test: atest com.android.systemui.biometrics
Test: Manually inspect new AuthenticationResult object on Pixel 3/4
Bug: 80525177
Bug: 141025588
Change-Id: Ic09ffdff995afe374f11721e6e777632de9ae867
Move all the documentation to the most flexible option, and deprecate
the older variants.
Test: m offline-sdk-docs, full build
Bug: 130304741
Change-Id: I9775e474657b87157ae49c22b2156f6cabe2088b
Per-model control to AlwaysOnHotwordDetector interface.
Models are selected by keyphrase and locale associated with the
AlwaysOnHotwordDetector instance.
Bug: 141929369
Test: tested manually with test app
Change-Id: Iffeb0954059fa030d8a4fefb934a3e665323be37
Specifically, publicly commit to UNKNOWN being CLOCK_MONOTONIC, though
with loose accuracy guarantees.
Also document how to handle REALTIME timestamps for A/V sync purposes.
Test: Builds, docs-only change
Change-Id: I24b5a69bf95508fe1462ca363843c4bfccf14889
In addition to static input mapping with IDC or config files that
was added in Q, there is a need to be able to change the mapping
at runtime.
This's different from focus being present to handle lifecycle/app
switching/etc, the rest of the system will need to be adapted to
work with no focus
- Provide an API that could add/update the associations.
- Provide an API that could remove the runtime associations.
Bug: 136080860
Test: manual
Change-Id: Ib80eea9a9c4b4326b0d48a9f496fa550dab2230e
Existing annotations in libcore/ and frameworks/ will deleted after the migration. This also means that any java library that compiles @UnsupportedAppUsage requires a direct dependency on "unsupportedappusage" java_library.
Bug: 145132366
Test: m && diff unsupportedappusage_index.csv
Change-Id: I0c336de56bc4a041dc97ff9b7927f62f0b44b457
Merged-In: I0c336de56bc4a041dc97ff9b7927f62f0b44b457
To better document the cropping specification for camera2, add diagrams
from source.android.com into the reference docs as well.
Test: Docs build, look correct
Change-Id: I18a9c3801e19f39164f0d8c19c0cc001f142024f
Existing annotations in libcore/ and frameworks/ will deleted after the migration. This also means that any java library that compiles @UnsupportedAppUsage requires a direct dependency on "unsupportedappusage" java_library.
Bug: 145132366
Test: m && diff unsupportedappusage_index.csv
Change-Id: I0c336de56bc4a041dc97ff9b7927f62f0b44b457
Looking up tag id based on tag name for each key is potentially time
consuming. Instead, cache the id in the Key object so that only when the
first getTag() triggers a look-up. All subsequent calls doesn't do
look-up.
Bug: 144028609
Test: Run GCA and observe CameraMetadata CPU consumption
Change-Id: Iadd92e7e3b6cb4d610a6c9704ca2066291291f43
Bug: 146141793
Test: atest BrightnessConfigurationTest
Test: atest AutomaticBrightnessControllerTest
Test: manual - use reflection to configure the new parameters from turbo app and check dumpsys
Change-Id: I78af8009f15400f2f91e55363066d97f008a7922
If we have sCameraServiceDisabled, we know for sure that calling
addListener on the mCameraService is going to fail with NPE, so the best
option is to just return an empty list.
Fix: 146994502
Test: atest android.camera.cts.HeifWriterTest
Change-Id: Ie3a1457fbace0879a5d66600acd83541a9d78182
This API allows applications to instruct the connected display to do minimal
post processing on the produced image or video frames. This will switch the
display to a low latency mode (ALLM, Game mode or some other custom
implementation thereof), reducing lag in the final images. Thus, minimal post
processing would greatly enhance performance for gaming and video
conferencing applications. It would not, however, suit applications that
prioritise image quality over performance.
This CL adds 2 public method:
- Window.setPreferMinimalPostProcessing()
(this can also be set in WindowManager.LayoutParams.preferMinimalPostProcessing)
If minimal post processing is preferred, the connected display will be requested
to go into low latency mode, which reduces image processing, resulting in better
performance for gaming applications. If the Display sink is connected via HDMI,
the device will begin to send infoframes with Auto Low Latency Mode enabled and
Game Content Type. This will switch the connected display to a lower latency
mode (if available).
For more information, see HDMI 2.1 specification.
If the Display sink has an internal connection or uses some other protocol than
HDMI, effects may be similar but implementation-defined.
- Display.isMinimalPostProcessingPreferred()
Returns true if the connected display supports either Low Latency Mode (ALLM or
some other custom low latency implementation) or Game content type.
Bug: 135116095
Test: make -> flash on ATV OTT device -> open an activity which requests minimal
post processing -> check SurfaceControl logs -> verify correct signals are
passed to native
Change-Id: I5508bb9e5c138b0f2b42d8f8fab10e1915ba3cb6