Also, change to use android.util.Log rather than Slog, which should
be used by system service only.
Test: Try out adb shell setprop log.tag.androidtc and observe verbose
logging.
Change-Id: Ie86c6b3f8bd39957f041ffe3a10abb7584f96f83
Rework how dispatching works for apps targeting Q+
(flagged off at the moment behind VRI.USE_NEW_INSETS)
We properly dispatch windows in the hierarchy by fixing the issue
that insets modified by onApplyWindowInsets affected all other
views later in prefix order, including siblings and siblings of
parents.
Furthermore, we get rid of stopping dispatch if they are consumed,
as it gets a lot more complicated with the granular information we
add what consumed actually means.
Test: ViewGroupTest, ViewTest
Bug: 118118435
Change-Id: I9dfb69ebb93b334bb34d17889282293bec94e1af
Implement WindowInsets.get(Max)Insets(int typeMask) to allow the
developer to query the inset by inset type.
Also rework InsetsState.calculateInsets to actually construct the
WindowInsets instance that contains this information.
Test: InsetStateTests
Bug: 118118435
Change-Id: Ie316e074c020bdb9808c11608812dea572c8de5d
WindowInsets now keeps track of all insets per type. Insets are
non-additive, i.e. every inset starts out relative to the window
edge, so the IME inset would include the navigation bar inset, but
not vice-versa.
We remove decorWindowInsets because it wasn't used at all.
For compatibility, we map the constructor where we pass in a Rect
to TOP_BAR. This is fine as every query to systemWindowInsets
stableInsets will include this type, so we don't need the
information where it came from.
Test: WindowInsetTest
Bug: 118118435
Change-Id: I1cb37d328060293f9a876e61d4a09e6675fa7197
1. SelectionEvent will be still logged via SelectionSessionLogger
to make sure we don't break existing logs.
2. New features including language detection and conversation actions
are logged via TextClassifierEventTronLogger.
3. Added TYPE_ACTIONS_GENERATED to log when actions are generated.
This is used to calcuate the recall, i.e. among all the requests,
how many of them TextClassifier returns something.
Test: atest TextClassifierEventTronLoggerTest
Test: Turn on the DEBUG flag and observe the logging.
BUG: 120803809
BUG: 120828422
Change-Id: I33f2ce58885d90bc35316f54abcd42b137b42a13
We remove explicit layer destruction and replace it
with reparent->null, completing the transition to
a reference counted model.
Test: Manual
Bug: 62536731
Bug: 111373437
Bug: 111297488
Change-Id: I6be5ae01218e566deb713ed9079b36e1135ff2ec
Not leaking in practice but if it were used on an already initialized
SurfaceControl Java Wrapper it would leak the old native object by
failing to cal dec strong.
Bug: 111373437
Test: Boots
Change-Id: Ie8f59788630bc2ba05bbdcbbefed4124a4032170
Long-story short, they must be flushed right away...
Test: atest CtsContentCaptureServiceTestCases
Bug: 121033016
Change-Id: I1b3132ad49674d43bf63717f79848b6e4b23b605
This method is needed so that precompiled layouts can reuse the factory logic
from the LayoutInflater.
Bug: 111895153
Test: atest android.view.cts.LayoutInflaterTest
Change-Id: Ifd1028906b655af2bd14247d586dc16b35550c82
Tracking SurfaceFlinger changes. Now to construct a child surface
we need the SurfaceControl as opposed to just the surface, and so
we parcel the SurfaceControl across relayout.
Test: Manual
Bug: 62536731
Bug: 111373437
Bug: 111297488
Change-Id: I0a034767e92becec63071d7b1e3e71b95d505b77
Ensure that the client visibility state affects other subsystems,
like accessibility as well as input.
Test: WindowStateTest
Bug: 118118435
Change-Id: I8a50a0b82dc76e578861967197350eaa3867f837
The parseInclude method had some deep nesting that could be improved by
rearranging things a little.
Test: atest android.view.cts.LayoutInflaterTest
Change-Id: I2ee13c2ee80bcb220371d39a5a6da6044cfa245c
Members modified herein are suspected to be false positives: i.e. things
that were added to the greylist in P, but subsequent data analysis
suggests that they are not, in fact, used after all.
Add a maxTargetSdk=P to these APIs. This is lower-risk that simply
removing these things from the greylist, as none of out data sources are
perfect nor complete.
For APIs that are not supported yet by annotations, move them to
hiddenapi-greylist-max-p.txt instead which has the same effect.
Exempted-From-Owner-Approval: Automatic changes to the codebase
affecting only @UnsupportedAppUsage annotations, themselves added
without requiring owners approval earlier.
Bug: 115609023
Test: m
Change-Id: Ia937d8c41512e7f1b6e7f67b9104c1878b5cc3a0
Merged-In: I020a9c09672ebcae64c5357abc4993e07e744687
Members modified herein are suspected to be false positives: i.e. things
that were added to the greylist in P, but subsequent data analysis
suggests that they are not, in fact, used after all.
Add a maxTargetSdk=P to these APIs. This is lower-risk that simply
removing these things from the greylist, as none of out data sources are
perfect nor complete.
For APIs that are not supported yet by annotations, move them to
hiddenapi-greylist-max-p.txt instead which has the same effect.
Exempted-From-Owner-Approval: Automatic changes to the codebase
affecting only @UnsupportedAppUsage annotations, themselves added
without requiring owners approval earlier.
Bug: 115609023
Test: m
Change-Id: I020a9c09672ebcae64c5357abc4993e07e744687
With my previous CL [1], InputMethodManagerService#setInputMethod() is
now guaranteed to be called only from IInputMethodManager and
IInputMethodPrivilegedOperations as 'adb shell ime set' no longer
directly calls this method (with null IME token).
With this CL, IInputMethodManager#setInputMethod(), which has been
kept just for null IME token rule, is finally gone. This is achieved
by letting InputMethodManager#setInputMethod() directly update
DEFAULT_INPUT_METHOD (and SELECTED_INPUT_METHOD_SUBTYPE) secure
settings if a priviledged component still relies on this undocumented
null IME token rule.
[1]: I6fd47b5cc1e7da7222774df20247a2c69a70f45b
db25df71be
Fix: 114488811
Test: atest CtsInputMethodServiceHostTestCases
Change-Id: I42dd0325b01c527009bf85566ca8ba0766b2294e