summaryrefslogtreecommitdiff
path: root/core/java/android/view
Commit message (Collapse)AuthorAgeFilesLines
* InputMethodSubtypeArray: prevent negative count injectionAdrian Roos2025-02-211-0/+4
| | | | | | | | | | | | | | Fixes an issue where negative counts could be injected via the Parcel constructor. The writeToParcel method in that case would write data that a subsequent read would not consume. Fixes: 277916797 Fixes: 354682735 Test: atest InputMethodSubtypeArrayTest (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:b9a097e28be9b87566ce0194b7525caf462daf2f) Merged-In: I7e881d82415051179c59bf5df97f8ba0a41e693e Change-Id: I7e881d82415051179c59bf5df97f8ba0a41e693e
* RESTRICT AUTOMERGE Clear app-provided shortcut iconsBen Murdoch2024-11-181-2/+11
| | | | | | | | | | | | When displaying keyboard shortcuts provided by an app, clear any icon that may have been set (this is only possible via reflection, and is not a intended for usage outside of the system). Bug: 331180422 Test: Verify on device (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:dbc02ea629b0ea503b2f1accb062bb5ec249aa58) Merged-In: If7e291eb2254c3cbec23673c65e7477e6ad45b09 Change-Id: If7e291eb2254c3cbec23673c65e7477e6ad45b09
* fwb: Slim recents TSpiritCroc2023-08-041-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Partly includes: commit fbbe5de6640ac0b8a52e948d246b19b4487ce521 Author: ezio84 <brabus84@gmail.com> Date: Sat Oct 21 14:46:24 2017 +0200 Slim Recents 3.0 [1/3] Refactored/improved everything. Slim Recents won't never die. http://i.imgur.com/PO3RSeg.gif [SpiritCroc] Bring to P Change-Id: I9deb0412e2421df2ac2755f2111a3cec70a7d2c4 commit c14325728a9d87d35e2137bb6f0dba77769592df Author: SpiritCroc <dev@spiritcroc.de> Date: Tue Apr 2 11:06:14 2019 +0200 Slim recents old enter/exit animation [1/3] Change-Id: Ib10f54d56de9c4dc6cab827c21cca9363ffaa820 Change-Id: I3c3486fa94a35f17e48c7a2943cad7fea5c69e78
* Merge tag 'android-13.0.0_r52' of ↵George Zacharia2023-08-0211-30/+790
|\ | | | | | | | | | | | | https://android.googlesource.com/platform/frameworks/base into t13.0 Android 13.0.0 Release 52 (TQ3A.230605.012) Change-Id: Ic80f318636f1f70bbd009504352ddde511d0dead
| * Rename orientation request loop propertyGraciela Wissen Putri2023-04-201-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Rename property from PROPERTY_COMPAT_IGNORE_ORIENTATION_REQUEST_WHEN_LOOP_DETECTED to PROPERTY_COMPAT_ALLOW_IGNORING_ORIENTATION_REQUEST_WHEN_LOOP_DETECTED. Bug: 277269510 Test: atest WmTests:LetterboxUiControllerTest (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:d96dee092dc85c4978e1d8fef2eb9a96e2720c15) (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:e63c8093ecbc2195d81cf4c42f71e5ca86bb8e22) Merged-In: Ib73d0fc254cef90fee694cd6c5c00c0eb85a3ca1 Change-Id: Ib73d0fc254cef90fee694cd6c5c00c0eb85a3ca1
| * Add opt-out property for orientation loop overrideGraciela Wissen Putri2023-03-241-0/+36
| | | | | | | | | | | | Fix: 274925661 Test: atest WmTests:LetterboxUiControllerTest Change-Id: Ia24d9de88243ad0fa1eec0e9632570fb58ff6c3f
| * Do not flush when sending view tree appearing event.Kai Li2023-03-224-4/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This can mitigate the IPC spam by half, since the view tree appearing event always comes with a view tree appeared event, and we just need to flush at the view tree appeared time. BYPASS_INCLUSIVE_LANGUAGE_REASON=existing API Bug: 269435271 Change-Id: I0ba3f7df7d6b511d155ac9509826d39633b668f6 Merged-in: I0ba3f7df7d6b511d155ac9509826d39633b668f6 Test: some unit tests & I've manually tested it locally. (cherry picked from commit 624070c95db4ca427a053a5430fac857c51d04f8)
| * Add display committed state to DisplayInfoNicolo' Mazzucato2023-03-142-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
| * Merge "Per-app override sandboxing View API to Activity bounds" into tm-qpr-devOleg Blinnikov2023-03-083-2/+127
| |\
| | * Per-app override sandboxing View API to Activity boundsOleg Blinnikov2023-02-243-2/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some applications assume that they occupy the whole screen and therefore use the display coordinates in their calculations. This can lead to shifted or out of bounds UI elements in case the activity is Letterboxed or is in split-screen mode. OVERRIDE_SANDBOX_VIEW_BOUNDS_APIS change id forces the packages it is applied to sandbox View API to Activity bounds for: android.view.View#getBoundsOnScreen android.view.View#getLocationOnScreen android.view.View#getWindowVisibleDisplayFrame android.view.View#getWindowDisplayFrame This sandboxing is happening indirectly in android.view.ViewRootImpl through android.view.ViewRootImpl#getWindowVisibleDisplayFrame, android.view.ViewRootImpl#getDisplayFrame respectively. Application developers can opt-out of this treatment by using the following configuration in their manifest: <application> <property android:name= "android.window.PROPERTY_COMPAT_ALLOW_SANDBOXING_VIEW_BOUNDS_APIS" android:value="false"/> </application> The difference between this CL and the previous attempt in commit:Ia064d26b46402a04056f498a1ed5c090a6d1b965 is that in the current CL the window bounds are found with windowConfiguration.getBounds(), which is subtracted from displayFrame to make the latter appear as occupying the whole screen without letterbox or multi-window mode. getBounds also takes compatScale and overrideScale into account so no additional scaling is needed. This compat change is taking effect only in non-system processes, this important because all compat changes are enabled for the system process. For example this compat change may impact ANR dialog created within the system process, but it does not require this compat change to be enabled. Test: atest CtsWindowManagerDeviceTestCases:CompatChangeTests Bug: 234799838 Change-Id: If69772bea750380e9f127cea31141a5f953c4e30 Merged-In: If69772bea750380e9f127cea31141a5f953c4e30
| * | Change AudioManger getMode() binder call to addOnModeChangedListener()Bishoy Gendy2023-03-031-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Remove binder call from running each time with clicking on volume up and down keys. Replace it with listener instead. Bug: 240705522 Test: Manual using Signal App / Youtube and Sample MediaRouter App. Change-Id: I842133770a583217940ebc929d8d929f4cd27a51
| * | Add more logging when view methods are called from the wrong threadWinson Chung2023-02-231-2/+5
| |/ | | | | | | | | | | Bug: 270446029 Test: Just extending the logging Change-Id: I7212ca245dad6c77a51797f07e1587edbf6af475
| * Merge "Fix requestUnbufferedDispatch didn't work before window attached" ↵Arthur Hung2023-02-101-0/+2
| |\ | | | | | | | | | into tm-qpr-dev
| | * Fix requestUnbufferedDispatch didn't work before window attachedArthur Hung2023-02-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before window attached to view, the parent of root view would be null cause the unbuffered request can't be updated to the `ViewRootImpl`. This will update the unbuffered request when the root view set to its `ViewRootImpl`, so we could make sure the unbuffered request could be consistent in root view and its ViewRootImpl. Bug: 268105812 Test: manual Change-Id: Ifd9cf0969229daeac73f8fb95c6a9fe8c81a985f
| * | Merge "DO NOT MERGE Prevent back navigation not working after activity ↵Arthur Hung2023-02-091-0/+2
| |\ \ | | |/ | |/| | | | re-created" into tm-qpr-dev
| | * DO NOT MERGE Prevent back navigation not working after activity re-createdArthur Hung2023-02-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When recreating the Activity, if the window is preserved, we would set the actual dispatcher from the preserved window to the new Activiy's proxy dispatcher, and expect the new callback could be re-registered in the recreating flow. This CL clears the old callbacks of the preserved dispatcher before it attach to the new proxy dispatcher, this could prevent it access the wrong top callback after other new callbacks have been unregistered. Also provide dump log for WindowOnBackInvokedDispatcher. Bug: 259500250 Test: atest BackNavigationTests Change-Id: Idc9a6a95f5669a009762570d7bc9acc2c538e4cb
| * | Revert "Per-app override sandboxing View API to Activity bounds"Oleg Blinnikov2023-02-023-117/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1fa3b3821e158574570330f28ee25a4d7fd37f61. Reason for revert: b/267507947 Change-Id: Ie8924e59b04b3044391c6929380a1db212c871b0 Merged-In: I460488c6307cae25abeee6045b712a1af453834a
| * | Per-app override sandboxing View API to Activity boundsOleg Blinnikov2023-02-013-3/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some applications assume that they occupy the whole screen and therefore use the display coordinates in their calculations. This can lead to shifted or out of bounds UI elements in case the activity is Letterboxed or is in split-screen mode. OVERRIDE_SANDBOX_VIEW_BOUNDS_APIS change id forces the packages it is applied to sandbox View API to Activity bounds for: android.view.View#getBoundsOnScreen android.view.View#getLocationOnScreen android.view.View#getWindowVisibleDisplayFrame android.view.View#getWindowDisplayFrame This sandboxing is happening indirectly in android.view.ViewRootImpl through android.view.ViewRootImpl#getWindowVisibleDisplayFrame, android.view.ViewRootImpl#getDisplayFrame respectively. Application developers can opt-out of this treatment by using the following configuration in their manifest: <application> <property android:name= "android.window.PROPERTY_COMPAT_ALLOW_SANDBOXING_VIEW_BOUNDS_APIS" android:value="false"/> </application> Test: atest CtsWindowManagerDeviceTestCases:CompatChangeTests Bug: 234799838 Change-Id: Ia064d26b46402a04056f498a1ed5c090a6d1b965 Merged-In: Ia064d26b46402a04056f498a1ed5c090a6d1b965
| * | Merge "Merge compat fake focus properties into one" into tm-qpr-devVali Calinescu2023-02-011-0/+37
| |\ \
| | * | Merge compat fake focus properties into oneVali Calinescu2023-01-311-0/+37
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge PROPERTY_COMPAT_FAKE_FOCUS_OPT_IN/OUT properties into PROPERTY_COMPAT_ENABLE_FAKE_FOCUS and move to WindowManager class to be consistent with other existing properties in WindowManager and also in anticipation of us making those public APIs in Android U. Fix: 263987615 Test: atest WmTests:LetterboxUiControllerTest atest WmTests:LetterboxConfigurationTest atest WmTests:SizeCompatTests#testShouldSendFakeFocus_compatFakeFocusEnabled atest WmTests:SizeCompatTests#testShouldSendFakeFocus_compatFakeFocusDisabled Change-Id: Ic10b3a25e3a8bcef25be27b549148d36a2192fbc
| * | Merge "Notify draw for relaunch with preserved window" into tm-qpr-devRiddle Hsu2023-02-011-0/+2
| |\ \
| | * | Notify draw for relaunch with preserved windowRiddle Hsu2023-01-311-0/+2
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case any logic depends on ActivityRecord#startRelaunching ~ WindowState#finishDrawing can receive paired invocation. Bug: 264634241 Bug: 263066320 Test: An activity calls recreate(). There will be a log "finishDrawing of relaunch: Window". Change-Id: I9406ab5cbca5b3c9c407a136bf4fcb97111d78b8 (cherry picked from commit 5b49c7fbbf14de2f691bc9001685ae8e9c3cfdd8)
| * | Merge "Introduce a way to debug relayouts and slow measures/layout" into ↵Nicolò Mazzucato2023-02-012-5/+211
| |\ \ | | | | | | | | | | | | tm-qpr-dev
| | * | Introduce a way to debug relayouts and slow measures/layoutNicolo' Mazzucato2023-01-302-5/+211
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This cl introduces a way to debug 2 different but related things: (1) Which classes suffer from long measure and layout pass (2) What caused those classes to be re-measured/re-layout In the current form, only sysui sets the flags to enable the above based on some sysprop. (1) is enabled by `adb shell setprop persist.debug.trace_layouts 1` for all classes in sysui process (note: the process needs to restart). The ideal workflow is to first enable this to spot which are the main classes have long measure/layout slices. Once those are identified (e.g. class X) (2) `adb shell setprop persist.debug.trace_request_layout_class X` enables requestLayout tracing for class X. At this point, every time requestLayout is called on that class, both an instant event (visible in perfetto) and the stacktrace (in logcat) is output. After recording at perfetto trace with (2) enabled, it's possible to aggregate data with an SQL query in ui.perfetto.dev: For example, with the following we can have the most common relayout reasons: ``` SELECT count(*) cnt, msg FROM android_logs WHERE msg LIKE "requestLayout %" GROUP BY msg ORDER BY cnt DESC ``` The following helper bash function makes the above more efficient: trace_class_layouts() { adb shell setprop persist.debug.trace_layouts 1 adb shell setprop persist.debug.trace_request_layout_class $1 adb shell am force-stop com.google.android.apps.nexuslauncher adb shell am force-stop com.android.systemui } Then, use `trace_class_layouts X` and record a perfetto trace. To reduce the overhead, several strings are cached when the view is attached to the window. However, it should be noted that enabling this can have an impact on performance and should only be used for debugging purposes. Test: record a trace after enabling options Bug: 266090955 Merged-In: I89a518d4f3c69c13cdced0f70d8a1e2793bc923a Change-Id: I89a518d4f3c69c13cdced0f70d8a1e2793bc923a
| * | | Merge "Use the layout frame to decide whether to do a server sync" into ↵Yunfan Chen2023-02-011-7/+18
| |\ \ \ | | |_|/ | |/| | | | | | tm-qpr-dev
| | * | Use the layout frame to decide whether to do a server syncYunfan Chen2023-01-311-7/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the shell side resize/reposition happens, the relayout won't happen until the next traversal happens. However, the mWinFrame will be updated directly before the relayout happens. When that's happening, the relayout may miss the actual resize/reposition from the shell. Test: See b/266582561. Check the unfold compat mode. Bug: 266582561 Change-Id: I059db87e0bb61ddc4efcc8e1f67e4fa532c4e5a9
| * | | Fix app compat component properties documentation.Mariia Sandrikova2023-01-301-25/+25
| | |/ | |/| | | | | | | | | | | | | | | | | | | Update documentation to correctly indicate that properties are applied on the app level rather than the activity level. Applying properties on the app level maintains consistency with the level on which per-app overrides are applied by device manufacturers. Also, this allows to easily opt-out/in the whole app from per-app overrides. Fix: 267082980 Test: builds Change-Id: Icb2b4394b73216c0af762db07dca42796eb4d49a
| * | Per-app controls for using landscape display orientationMariia Sandrikova2023-01-261-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OVERRIDE_USE_DISPLAY_LANDSCAPE_NATURAL_ORIENTATION fixes display orientation to landscape natural orientation when the following conditions are met: - Task is in fullscreen - Opt-out component property PROPERTY_COMPAT_ALLOW_DISPLAY_ORIENTATION_OVERRIDE isn't enabled - ignoreOrientationRequest isn’t enabled for the display - Natural orientation of the display is landscape Main use case for this override are camera-using activities that are portrait-only and assume alignment with natural device orientation. Such activities can automatically be rotated with DisplayRotationCompatPolicy but not all of them can handle dynamic rotation and thus can benefit from this override. Also, start caching other overrides in LetterboxUiController Test: atest WmTests:LetterboxUiControllerTest Fix: 255940284 Change-Id: I2a8688e7a033b30ea83db827679c729feaac1c9c
| * | Add orientation per-app controls.Mariia Sandrikova2023-01-251-0/+26
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Overrides for device manufacturers: - OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT override orientation to SCREEN_ORIENTATION_PORTRAIT - OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR override orientation to SCREEN_ORIENTATION_NOSENSOR - OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE override orientation to SCREEN_ORIENTATION_REVERSE_LANDSCAPE - OVERRIDE_ANY_ORIENTATION allows OVERRIDE_*_ORIENTATION_TO_* to override any orientation. PROPERTY_COMPAT_ALLOW_ORIENTATION_OVERRIDE allows app developers to opt-out from per-app overrides above. Test: atest WmTests:LetterboxUiControllerTest Fix: 255940284, 265452344, 265451093, 265464455, 266124927 Merged-In: I6d83170632a04e3d60461f37f13acc1de5b6a6cb Change-Id: I6d83170632a04e3d60461f37f13acc1de5b6a6cb
| * Merge "Create a private flag to control shouldOptimizeMeasure" into tm-qpr-devTiger Huang2023-01-182-1/+16
| |\
| | * Create a private flag to control shouldOptimizeMeasureTiger2023-01-132-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | So other windows can be optimized by applying the flag. Bug: 259095271 Bug: 265150323 Test: presubmit Change-Id: Ibedced2843d13698a0ae1101bd4e34ee2fdb84a3
| * | Merge "Snap tm-dev to android13-tests-dev" into tm-dev am: 100335fdc7 am: ↵Samip Garg2023-01-161-1/+1
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 919fd6e0a1 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20514486 Change-Id: Ie12bf16c61d1655b95f0252d8692fe634200f1f9 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| | * \ Merge "Snap tm-dev to android13-tests-dev" into tm-devSamip Garg2023-01-101-1/+1
| | |\ \
| | | * \ Snap tm-dev to android13-tests-devSamip Garg2022-12-081-1/+1
| | | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug:259849956 Merge ab/9299233 Merged-In: I5af32f68652d5854e6a99b59f2f56fcaac575588 Change-Id: If468ab64f0c311aa9c886e02174f9d672e884226
| | | | * | [PATCH] Don't report after view detached from window.derek.li2022-10-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Check window view is not null in reportKeepClearAreasChanged Bug: 254586205 Test: CtsAutoFillServiceTestCases Change-Id: I0db582c6f73e2a0602bfb2968e2b10536b5242d5
| * | | | | Unblocking surface sync if the viewroot dies before traversal can happenSunny Goyal2023-01-131-0/+4
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 260135164 Test: Verified the code flow as the cause of bug Change-Id: Ie168b7cb772f6ec89063a42a7b15e7d5342f5bd3 Merged-in: Ie168b7cb772f6ec89063a42a7b15e7d5342f5bd3
| * | | | docs: Fixed summary fragment and removed typo am: 8167356f3d am: 1d0ed15b7aAndrew Solovay2023-01-111-2/+1
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20835757 Change-Id: I94c3e3a7a9944f148eadae629537b6bc335453e2 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| | * | | docs: Fixed summary fragment and removed typoAndrew Solovay2023-01-091-2/+1
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CommonTypos linter complained about the typo "for for". While I had the file open, also changed the first sentence to be a proper summary fragment, per http://go/java-style#s7.2-summary-fragment. No code changes, just docs. Bug: 263824202 Change-Id: Iea27f1d2a91918a253e099365ebbd2daa9bcb3cd Test: [go/abtd docs build]
| * | | Merge "[4/n] Camera Compat: per-app controls for force rotation and refresh" ↵Mariia Sandrikova2023-01-101-0/+137
| |\ \ \ | | | | | | | | | | | | | | | into tm-qpr-dev
| | * | | [4/n] Camera Compat: per-app controls for force rotation and refreshMariia Sandrikova2023-01-091-0/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the following per-app controls using overrides and component properties: - Way to disable force rotation with OVERRIDE_CAMERA_COMPAT_DISABLE_FORCE_ROTATION and PROPERTY_CAMERA_COMPAT_ALLOW_FORCE_ROTATION - Way to disable activity refresh after force rotation with OVERRIDE_CAMERA_COMPAT_DISABLE_REFRESH and PROPERTY_CAMERA_COMPAT_ALLOW_REFRESH - Way to switch to activity refresh via "onPause -> onResume" with OVERRIDE_CAMERA_COMPAT_ENABLE_REFRESH_VIA_PAUSE and PROPERTY_CAMERA_COMPAT_ENABLE_REFRESH_VIA_PAUSE Test: atest WmTests:LetterboxUiControllerTest WmTests:DisplayRotationCompatPolicyTests Fix: 263959004 Fix: 264304459 Fix: 264301586 Change-Id: I41698c577057a74ef5c3b6afda1b78f1d98bde77 Signed-off-by: Mariia Sandrikova <mariiasand@google.com>
| * | | | Merge "Fixes NPE crash when VRI#setView fail before input stage was create." ↵Wei Sheng Shih2023-01-091-1/+1
| |\ \ \ \ | | | | | | | | | | | | | | | | | | into tm-qpr-dev
| | * | | | Fixes NPE crash when VRI#setView fail before input stage was create.wilsonshih2023-01-061-1/+1
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also catch RuntimeException for addToDisplayAsUser in case the throwing type was not RemoteException. Bug: 253200800 Bug: 263078961 Test: Simulate to throw a runtime exception in WMS#addWindow, and verify VRI#setView should catch that exception, and clear resources without crash. Change-Id: Ia113b836e4a18c656093f9db7f63e9c50c427e6c Merged-In: Ia113b836e4a18c656093f9db7f63e9c50c427e6c (cherry picked from commit f1a574074ac81906be3a2a500aae96f8da330733)
* | | | | Merge tag 'android-13.0.0_r35' of ↵George Zacharia2023-04-0312-178/+485
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://android.googlesource.com/platform/frameworks/base into t13.0 Android 13.0.0 release 35 Change-Id: I709958b2f015d1774b2ece25894467c3a279f93c
| * | | | Merge "Ignore power presses from lift and biometric wake" into tm-qpr-devTreeHugger Robot2023-01-061-0/+3
| |\ \ \ \ | | |/ / / | |/| | |
| | * | | Ignore power presses from lift and biometric wakeBeverly2023-01-051-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WAKE_REASON_GESTURE previously used to include both WAKE_REASON_LIFT, WAKE_REASON_TAP and WAKE_REASON_BIOMETRIC. Since ag/20794573, these gestures are not not all encompassed by WAKE_REASON_GESTURE. This CL ensures the power suppression logic is still used for wake reason lift and biometric. We intetionally include biometric in case biometrics are related to the power button. We intentionally leave out tap to wake since it's not necessary to gate a power button press due to a wake up from a tap on the screen. Test: Press the power button while performing lift to wake gesture, observe that the device does not go back to sleep Fixes: 264553999 Change-Id: Ia74d30fd808d0a49937f483575b53533b0f1fce7
| * | | | Per-app compat treatment for setRequestedOrientation loops.Mariia Sandrikova2023-01-041-0/+39
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Per-package controls introduced in this change: - OVERRIDE_ENABLE_COMPAT_IGNORE_REQUESTED_ORIENTATION for device manufactures to opt in a package into the treatment. - android.window.PROPERTY_COMPAT_IGNORE_REQUESTED_ORIENTATION for app developers to opt in/out from the treatment via a component property. When enabled for the package and on the devices, treatment ignores app requested orientation in response to an app calling Activity#setRequestedOrientation if app is currently relaunching or has an active Camera Compat treatment. This is needed to avoid getting into Activity#setRequestedOrientation loop when ignoreOrientationRequest is enabled. For example, the loop can look like this: 1) App sets default orientation to "unspecified" at runtime 2) App requests to "portrait" after checking some condition (e.g. display rotation). 3) (2) leads to fullscreen -> letterboxed bounds change and activity relaunch because app can't handle the corresponding config changes. 4) Loop goes back to (1) Fix: 254631730 Test: atest WmTests:LetterboxUiControllerTest Change-Id: I3dc88db4193d08215c36d9a69ef2cc53155b60c7
| * | | Enable forced focus for resumed split screen activitiesMariia Sandrikova2022-12-252-5/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is needed because some game engines wait until they get focus before drawing the content of the app so they are blacked out when they are resumed and do not have focus yet. Bug: 203398248 Test: atest FrameworksCoreTests:ViewRootImplTest#whenDispatchFakeFocus_noFocusAfterwards Change-Id: I5675b32fbb9f60a7373fadbce379d571168436e7 Merged-In: I5675b32fbb9f60a7373fadbce379d571168436e7
| * | | Merge "Reset Autofill dialog if the content is changed" into tm-qpr-devJoanne Chung2022-12-151-86/+168
| |\ \ \
| | * | | Reset Autofill dialog if the content is changedTYM Tsai2022-12-121-86/+168
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the content of activity is changed, may fill dialog be requested to show up again. Tracks all fillable views to know the content is changed, and then reset all flags for the fill dialog. Bug: 236237955 Test: atest CtsAutoFillServiceTestCases Merged-in: I58503dd4021021d4bdc8d5114ff7255178fe5408 Change-Id: I58503dd4021021d4bdc8d5114ff7255178fe5408 (cherry picked from commit 2db6d6767c0e708eb73b32d8a3de1bc39562c449)
| * | | | Merge "Revert "DO NOT MERGE Revert "Fix activity leak bug""" into tm-qpr-devChet Haase2022-12-141-2/+11
| |\ \ \ \