| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds the committed state to the display.
The `state` is used to set the correct power state (e.g. turning display on/off), however there was no way to know when this power state change finished. This new "committedState" aims to fulfill this gap.
DisplayListeners receives a `onDisplayChanged` callback whenever the power state change is fully committed, and can get this information from DisplayInfo.
This will be used in a follow up cl to improve unfold latency performances.
Bug: 223808403
Bug: 220690092
Bug: 197515205
Bug: 273204503
Test: atest LocalDisplayAdapterTest && manual
Change-Id: Ia2fbab768b696c59578d974c88157ee3c8f3ddde
Merged-In: Ia2fbab768b696c59578d974c88157ee3c8f3ddde
(cherry picked from commit 07c6ebdd97ea3e9e3640fa5165b24249a52dd7e5)
|
| |
|
|
|
|
|
|
| |
Define FLAG_TOUCH_FEEDBACK_DISABLED to disable touch sound and haptic feedback when creating virtual display.
Bug: 185558698
Test: atest FrameworksCoreTests:ViewRootImplTest, manual testing
Change-Id: Ida67f4027f2636e004218595b3bf088c06194522
|
| |
|
|
|
|
|
|
|
|
|
|
| |
display APIs"
This reverts commit 253696fea3e6224c0950ace721942d8fae5d7470.
Reason for revert: remove from tm-dev
Bug: 206649452
Change-Id: I013f08dfba89eb89e7713dddc1f4f894e335df62
(cherry picked from commit 608a679783c4b1173452aa45bd8fe1f6e293629b)
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a step to move the layout logic to the client side. We won't
invoke IWindowSession#relayout then, and the client should be able to
set the transform hint on its own.
Bug: 161810301
Test: presubmit
Change-Id: Ib12a76fcc9906b3d9c487fb89bbe4520c682379a
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 331be9a6431d6489f8d1e1b80cb510d0ee073c50.
Reintroducing ag/16366278 since it seems unrelated to b/214053959 (more details on b/214053959#comment55).
Original commit message:
Migrate unsafe parcel APIs in framework-minus-apex
Migrate the following unsafe parcel APIs in framework-minus-apex:
* Parcel.readSerializable()
* Parcel.readArrayList()
* Parcel.readList()
* Parcel.readParcelable()
* Parcel.readParcelableList()
* Parcel.readSparseArray()
This CL was generated by applying lint fixes that infer the expected
type from the caller code and provide that as the type parameter
(ag/16365240).
A few observations:
* In some classes we couldn't migrate because the class also belonged to
another build module whose min SDK wasn't current (as is the case for
framework-minus-apex), hence I suppressed the lint check
(since I'll eventually submit the lint check to the tree).
* In some cases, I needed to do the cast in
https://stackoverflow.com/a/1080525/5765705 to make the compiler happy
since there isn't another way of providing a class of type
Class<MyClassWithGenerics<T>>.
* In the readSerializable() case, the new API also requires the class
loader, that was inferred to by InferredClass.class.getClassLoader().
* Note that automatic formatting and import rely on running hooked up
to the IDE, which wasn't the case here.
Bug: 195622897
Change-Id: I272432e6e082a973f7a50492ec35d79c2b577c93
Test: TH passes
|
| |
|
|
|
|
|
|
| |
This reverts commit 90bb3709dc75f7e44914222114752de5bce133d4.
Reason for revert: b/214053959
Change-Id: Ic271bab1d3eaf677a5989dda9deb944ee2ad6850
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Migrate the following unsafe parcel APIs in framework-minus-apex:
* Parcel.readSerializable()
* Parcel.readArrayList()
* Parcel.readList()
* Parcel.readParcelable()
* Parcel.readParcelableList()
* Parcel.readSparseArray()
This CL was generated by applying lint fixes that infer the expected
type from the caller code and provide that as the type parameter
(ag/16365240).
A few observations:
* In some classes we couldn't migrate because the class also belonged to
another build module whose min SDK wasn't current (as is the case for
framework-minus-apex), hence I suppressed the lint check
(since I'll eventually submit the lint check to the tree).
* In some cases, I needed to do the cast in
https://stackoverflow.com/a/1080525/5765705 to make the compiler happy
since there isn't another way of providing a class of type
Class<MyClassWithGenerics<T>>.
* In the readSerializable() case, the new API also requires the class
loader, that was inferred to by InferredClass.class.getClassLoader().
* Note that automatic formatting and import rely on running hooked up
to the IDE, which wasn't the case here.
Bug: 195622897
Test: TH passes
Change-Id: I11a27b9bdab7959ee86e90aa1e1cbebd7aaf883c
|
| |
|
|
|
|
| |
Bug: 201555593
Test: atest ActivityTaskManagerServiceTests DisplayManagerServiceTest
Change-Id: I23ae346b0413603582d2543c576d2542244421f6
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The flag does not impact any other application calling the sandboxed
display APIs. The flag will be removed after Launcher finishes
identifying the breakages attributed to the display API changes.
For Launcher to receive the un-sandboxed values:
adb shell cmd display constrain-display-apis false
Test: manual
Bug: 193421404
Change-Id: I5d8612fd7dcb49769ae005130c9786b2d8416bfc
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With Frame Rate Override enabled, an app could get an onDisplayChanged
events which seems redundant. An example would be:
1. Display changed refresh rate to 60Hz - onDisplayChanged was called
2. App's frame rate override changed to 60Hz - onDisplayChanged was called
To avoid sending these redundant events, DisplayManagerGlobal caches
the last DisplayInfo that was reported to the app and based on it it
decides whether to send the event or not.
Bug: 184588343
Test: atest SetFrameRateTest
Test: atest FrameRateOverrideHostTest
Change-Id: I97c7b2b9a799424998b1b717a4311d3d08b3178f
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Added new APIs to DisplayManager to set the user disabled HDR formats,
and get/set if user disabled formats should be ignored or not.
These new settings are stored in Settings.Global.
Modified the implementation of Display#getHdrCapabilities to not return
the formats disabled by user.
Bug: 172905874
Test: atest CtsDisplayTestCases
Change-Id: I4841af251ee0e4938614b154d0c5239814ea7cd9
Merged-In: I4841af251ee0e4938614b154d0c5239814ea7cd9
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
the app bounds.
Fixes Display#getRealMetrics sandboxing bug, where a non-null
configuration results in DisplayInfo ignoring max bounds width
and height for app bounds. Consistent with non-sandboxing
implementation of Display#getRealMetrics
Bug: 182377479
Test: atest FrameworksMockingCoreTests:android.view.DisplayTests
Change-Id: I067aeb020e1ca214aa269182c475b4553de0eb09
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sandbox Display#getRealSize and WindowManager
bounds when letterbox or size compat mode are
applied to the configuration. Display uses
this field to provide the sandboxed display
size.
This reverts commit 0ba6185639c20ee8a55cf697aad00716b14d22e9.
Test: atest WindowConfigurationTests
Test: atest FrameworksMockingCoreTests:android.view.DisplayTests
Test: atest WmTests:SizeCompatTests
Bug: 181219241
Change-Id: I86e8edb8368269da8e02cf34f429d245550666c6
|
| |
|
|
|
|
|
|
|
| |
Organize the code so that it is easier to read.
Add lots of display-related tests.
Test: atest com.android.server.display
Bug: 168208162
Change-Id: Iacdb9da032fe53d6d586dd33a4f0720769994d8c
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 4d3f1c5681c4db99ffb4be881cee134b750542eb.
Reason for revert: b/179308296
Change-Id: Idccf97038d5aa92268a13bacc512215878e8aefa
|
| |\ \
| |/
|/| |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Created a new @hide class RoundedCorners
- The class is used to create and manager all the rounded corners.
- Created a new public class RoundedCorner
- Represent each rounded corner.
- Created a new public API in Display to get the original rounded
corners.
- Created a new public API in WindowInsets to get the rounded corners
relative to the window bounds.
Bug: 161808676
Test: atest RoundedCornerTest RoundedCornersTest
DisplayPolicyLayoutTests DisplayPolicyTests
WallpaperControllerTests
Change-Id: I58c671b0e9a077cdf26764c6302537c72db0f667
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sandbox Display#getRealSize and WindowManager
bounds when letterbox or size compat mode are
applied to the configuration. Display uses
this field to provide the sandboxed display
size.
Test: atest WindowConfigurationTests
Test: atest FrameworksMockingCoreTests:android.view.DisplayTests
Test: atest WmTests:SizeCompatTests
Bug: 171386167
Change-Id: I6f78edcd9214b52ab0708e3892bc86ee05bb5b9a
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
This allows for DisplayGroup to be used outside of the Display and Power
subsystems.
Bug: 175919470
test: make
Change-Id: I4346196202b3fff8ac42b0a52a395d6fe61d8ea8
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add visibility to SurfaceFlinger into the high refresh rate deny list
and let SurfaceFlinger handle it. Previously WM was setting the
preferredDisplayModeId on the denied app's window. The old way prevented
SurfaceFlinger to use the frame rate override feature as it didn't
know that a specific app is causing the refresh rate spec to be limited.
With this change, SurfaceFlinger will limit the display refresh rate
based on the high refresh rate deny list, and if possible, will use the
frame rate override feature to change the display rate to a multiple,
allowing other animations to be smooth while the denied app remains in
the low refresh rate.
Bug: 170502573
Test: manual
Change-Id: Ib75a3c229cea298b65aa56dc1c1b20ca016059c4
Merged-In: Ib75a3c229cea298b65aa56dc1c1b20ca016059c4
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This change adds the default brightness to the ddc, and a fallback to
config.xml when the ddc doesn't exist.
It adds the minimum and maximum brightness constrtaints to the display
device config - which are currently sourced from config.xml.
Bug: 147415200
Test: manual
Change-Id: Ibbfbbbd495048114befb3f867bd5f4e26916ca9e
|
| |
|
|
|
|
| |
Bug: 175573189
Test: manual
Change-Id: I6e1720763b2276ba6d237eb4db5154718838db0e
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
When getting DISPLAY_EVENT_FRAME_RATE_OVERRIDE from SurfaceFlinger,
expose the overridden frame rate to the relevant application
if the current refresh rate allows that.
Bug: 169271059
Bug: 169271062
Bug: 170503758
Test: manual test using SF backdoor
adb shell service call SurfaceFlinger 1039 i32 <uid> f <refresh rate>
Change-Id: I6ae1a98e6ca13e9d3d095a5713a6b0ca99652256
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Those annotations could be inferred by some tools (like Kotlin), but the
https://checkerframework.org/ doesn't check inherited annotations
complaining about all equals() invocations that get nullable argument.
The change was generated by running
find . -name \*.java | xargs sed -i 's/public boolean equals(Object /public boolean equals(@Nullable Object /'
in the frameworks/base directory and by automatically adding and
formatting required imports if needed. No manual edits.
Bug: 170883422
Test: Annotation change only. Should have not impact.
Exempt-From-Owner-Approval: Mechanical change not specific to any component.
Change-Id: I5eedb571c9d78862115dfdc5dae1cf2a35343580
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A11y service cannot get focus of bubbles because it's not a
System owned display. This patch makes System UI owned display
a trusted display. Moreover, this patch refactors the logic to
identify a trusted display by introducing FLAG_TRUSTED and
removes the trusted display check along with supportsSystemDecorations()
because the check has been included in supportsSystemDecorations().
fixes: 155823002
Bug: 152416787
Test: atest DisplayContentTests
Test: atest WindowFocusTests
Test: atest TaskDisplayAreaTests
Test: atest MultiDisplaySystemDecorationTests
Test: atest DisplayTest
Change-Id: Ie684c6488904e5aa8cae166a455c6d55455e5f55
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
An earlier CL with benchmarks has shown that sending strings as UTF-8
is 50% faster for US-ASCII strings, and still 68% faster for complex
strings referencing higher Unicode planes. (So an improvement in
both cases!)
Since code across the OS still makes heavy assumptions about Parcel
strings typically being UTF-16, we need to carefully migrate
Parcelables by hand, which is what this CLs begins doing.
Bug: 154436100
Test: manual
Change-Id: I9a675473e0ce3a4a5c5e305dd851b40bb1560e1c
|
| |
|
|
|
|
|
|
| |
Bug: 138677816
Bug: 150290985
Test: Log Display#toString in app.
Test: dumpsys display
Change-Id: I0d992b6662cde7e295916a7a144c68061dd1f4b3
|
| |
|
|
|
|
|
|
|
|
| |
DeviceProductInfo API that can be used to prime an Android TV remote
with entries from an infrared database for controlling connected
audio and TV devices. See go/display-identifiers.
Bug: 145299597
Test: adb shell dumpsys display
Change-Id: I8d709d55d830eed932b51bb8c374d32e20eecf6d
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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 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
|
| |
|
|
|
|
|
|
| |
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: I5be7335b23a92b8ac80d2fd890198273b66ad644
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Based on Forrest run with earlier base build 6069142, the build with this submission failed apct/bluetooth/instrumentation_test
Reason for revert: Break tests
Bug: 146198238
Change-Id: I65060ca389bf3ae1f107552ca828bfc1e7baa7c1
|
| |\| |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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: Id09160ba1513fef4dac979162bcda3bfeaace0e6
|
| |/
|
|
|
|
|
|
|
| |
We want to eventually migrate some of these APIs to be @SystemApi for mainline modules.
The #dumpDebug name is more appropriate than #writeToProto.
Bug: 142279786
Test: Manual
Change-Id: I60793e91cedf6b720d4ecef6a8484f4fed4ff30f
|
| |
|
|
|
|
|
|
|
| |
Also remove WindowManagerStressTest because that has been replaced
with proper perf test.
Test: Boots
Bug: 143255833
Change-Id: I1d293cda7c82d0aa1c3a6cc694c74bf7d10cc974
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
FLAG_PRIVATE information is needed for cts on physical private display
Bug: 133794475
Test: -Build and flash (make -j framework; aae flash 1s)
- Add "Log.d(TAG, display.toString())" in code to print out detailed
information about display. (Note: Display class is imported from
android.server.wm.WindowManagerState.Display)
- Check "mFlags=.." is printed
Change-Id: I6481dff51b140d3a9320e1e92b06fff531ba34e9
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
It would be nice if there is a common & reliable method for both outer
& internal modules to check the UID presense of the display.
Add more check in Display#hasAccess() to ask system if calling UID can
precense on the specific display, to consolidate only few special UIDs
& display flag checking.
Bug: 117347985
Test: atest ActivityManagerMultiDisplayTests
Change-Id: I2f8989598c99c0962e925c5aa65500972b4fc62b
|
| |
|
|
|
|
|
|
|
| |
If they were null, then the Parcelable would fail to work.
Bug: 126726802
Test: manual
Change-Id: I7929ffa2f20e5de1c8e68e8263cca99496e9d014
Exempt-From-Owner-Approval: Trivial API annotations
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This CL augments DisplayInfo#address from String to an instance of
either DisplayAddress.Physical or DisplayAddress.Network. This can
be used to obtain the stable port and model for physical displays.
It also wires up DisplayViewport#physicalPort for use by InputFlinger.
Bug: 116025192
Test: dumpsys display
Change-Id: I2928b8b325b992b949b99a7d9175512f7930a54f
|
| |\ \ |
|
| | |/
| |
| |
| |
| |
| |
| |
| | |
Display.getCutout() should be used instead.
Test: N/A
bug: 123769394
Change-Id: Ib714dd71d749027a58f36aedb2f25ceb481ae342
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
| |
There doesn't appear to be a valid use to create this object yourself;
you can retrieve DisplayInfos of the attached displays using various
other APIs, such as through WindowManager. The copy constructor is
also available. This method is only used by one app.
One possible usage is to get the display cutout information; this is
something that is now available as an official API in Q.
Test: N/A
Change-Id: I632b337e5dfdcddd494b03fd1403f73d2c46a475
Fixes: 123769467
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Using DisplaySettings class for storing the display settings.
- Define flags in WindowManager.
- Have direct IWindowManager APIs to set and change display settings at
runtime.
- Mark TODO to original usage of the flags.
- Add test case of DisplaySettings.
- Expose some APIs for CTS usage.
Bug: 114338689
Test: atest DisplayWindowSettingsTests
Test: atest CtsApacheHttpLegacy27ApiSignatureTestCases
Change-Id: I64ed14866d45cd5817fc3c895b6110c79c37b0ad
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For packages:
android.view.textservice
android.view.textclassifier.logging
android.view.textclassifier
android.view.inputmethod
android.view.autofill
android.view.accessibility
android.view
This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.
Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@
Bug: 110868826
Test: m
Change-Id: I4147b038ed7adf0311ee9918b44766f82a057eaf
|