The CountDownLatch#await() will be unblocked if there is an
InterruptedException happened.
Then it will cause the UnsupportedOperationException when
calling Completable.ValueBase#enforceGetValueLocked(),
Add a retry mechanism if InterruptedException happened.
Bug: 176441559
Test: atest CtsInputMethodTestCases
Change-Id: I6b93e76f78b4b8c94fc4423c33a707207961816d
Add API to set IME will temporarily consumes the input, for
this case, the cursor will be invisible in the app.
Bug: 175362887
Test: atest FrameworksCoreTests:TextViewTest
Test: atest CtsWidgetTestCases:TextViewTest
Change-Id: Ic04cacfd73f1f4cb254bb16caf6b04c00c91a318
Shortening Cuj<> to a more meaningful J<> for jank.
Using L<> for latency will make it easier to search for
Latency traces in trace tools. Using getNameOfAction() for
latencies in all places will simplify finding latencies in code.
Test: manual
Bug: 177018359
Change-Id: Ie3114e7d7f97e7950af19a014d06f5c632a607c3
With this CL the annotation is only digested, but has no behaviour
change yet. Eventually this annotation allows the annotated change id to
be overriden on non-debug builds
Bug: 174043039
Test: atest FrameworksServicesTests:PlatformCompatTest
Change-Id: Ibc1fce37085213b5a02155010189949e193f0882
Add IVoidResultCallback mechanism to emulate
current behavior.
Bug: 163453493
Test: Manual test with keyboard
Test: atest CtsInputMethodTestCases
Change-Id: I009d3a6e09c98166c08e8b9b318d821be36c42a7
By moving to system APIs when applicable. Notable changes include:
1. Re-implement reading/writing Throwables from/to Parcel, without
Parcel private APIs.
2. Use the public API new Handler(Looper.getMainLooper()) instead of
Handler.getMain().
3. Use lambdas directly instead of PooledLambda, because the latter
would require bundling 20+ classes to bootclasspath for each module
using it, while AndroidFuture and ServiceConnector won't be creating a
great number of lambdas in a short time.
4. A bug that calls initCause() with the Throwable itself is fixed.
Bug: 158736025
Test: presubmit
Change-Id: I577da5a3bc4ed537123b7eceaa5addf8f7bb0d92
This reverts commit 94c73953e4.
Reason for revert: 90% of clicks use new targets - let's go for it.
Bug: 170144291
Change-Id: Ia899c15b691aeb27e75056ce5a7673a5be8a3490
The underlying CharsetUtils methods accept the total length of the
underlying byte[] array; the bug in the existing logic was attempting
to pass the remaining length, which caused much more aggressive
one-off buffer allocation when not needed.
Bug: 171832118
Test: atest FrameworksCoreTests:com.android.internal.util.FastDataTest
Test: atest FrameworksCoreTests:android.util.CharsetUtilsTest
Test: atest FrameworksCoreTests:android.util.XmlTest
Test: atest FrameworksCoreTests:android.util.BinaryXmlTest
Change-Id: If257f75446d2f99313eecc3c11822d770f920687
If the user tries to apply an override for a package that is not yet
installed, the override is put into a 'deferred' bucket, to be validated
upon installation.
Overrides are rechecked every time an app is installed, updated or
deleted.
If a deferred override is valid at install or update time, it gets
promoted to a regular override.
If a deferred override cannot be applied upon app installation or
update, it remains deferred.
If an app is deleted, all its overrides become deferred.
When any of the reset commands are called for a given package, that
removes both regular and deferred overrides.
Bug: 158696818
Test: atest CompatConfigTest
Test: atest OverrideValidatorImplTest
Change-Id: I50eab62214d1325ec6185ddcfe9e8f425e11c98b