This helps clarify the (lack of) dependencies between these
classes, and suggests that some of them might make good
candidates for removal from the (large) main source file.
In most cases, the classes already had no dependencies and
were ready to switch to static. In one case I had to modify
a class to make its single dependency more explicit.
The few remaining non-static inner classes have more
intricate dependencies on ChooserActivity, and should be
considered in a separate CL.
Test: build/presubmits (no behavior change)
Change-Id: Ic075f1bdd267cc16f6b7b297c7425873eb9bae55
We have a minute timeout of finish call, it's a long duration,
shorten it to 10 seconds.
Bug: 196171638
Test: Manually
Change-Id: I4ff726bbac13fd90e7578074b5f11170816be7b1
This library is a temporary work to link all mainline module using
statemachine.
Once this is done, we will be able to move the library to
frameworks/libs/modules-utils
also fix some typo in state* files
Bug: 198418216
Tag: #refactor
Test: None
Change-Id: I1bec7c7bdb25bf3397a742a356aa1f18fddf7d89
This is a follow up CL to our previous CL [1], which introduced
method tracings of InputConnection in the IME client side.
This CL does not change its observable behavior but attempts to
simplify RemoteInputConnectionImpl by extracting out the tracing logic
into task dispatching logic from each InputConnection API handling.
This CL should slightly improve the performance unless systrace for
Trace.TRACE_TAG_INPUT is expcility enabled, because
Trace.isTagEnabled(Trace.TRACE_TAG_INPUT)
is now called only once per InputConnection command down from twice
per command. Although the call count would be increased to three
times per command when the tracing is manually enabled, hopefully it'd
be acceptable as an overhead of doing runtime tracing.
Anyway, there should be no observable behavior changes in this CL.
[1]: I6718aa3183c95fc6802d93137e22d21b71869cfc
bbdec456e2
Bug: 154348613
Bug: 192412909
Test: presubmit
Test: Manually verified that sytrace is still working
Change-Id: I0a5a6a34cb2a7e0942415253e7edea7eedd1083c
Handle the surface destroyed case and add a timeout for finish call.
Bug: 196171638
Test: adb shell dumpsys SurfaceFlinger
Test: check the offscreen layers
Change-Id: Id1c0e3a0aea1e27a5581a9c7bdcbe6562f8e2ab6
An app may pass a null surface to MediaProjection#createVirtualDisplay,
and later set the surface on the VirtualDisplay. The display's state
will change from off to on when the surface is set.
When determining if layer mirroring should be started/updated in
DisplayContent, take the presence of the surface/display state
into account, to prevent the app from crashing.
Bug: 197863746
Test: atest WmTests:DisplayContentTests
Change-Id: I01af07fff681aab6fc8235c861375eb79118cbfe
Combine dot radius, dot color, line disappearing, line end animations together. It helps to reduce inconsistent states when one animation is cancelled and another is still running.
Bug: 196067470
Change-Id: Ieac0bb3f329ac94924e3c5dd5a4a4e119404a56c
(cherry picked from commit f5436912207f512493270ee5a1824b89f792aea4)
Animate dot color when it's activated, duration is synchronized with line disappearing animation.
Do not animate dot size if it's not needed.
Bug: 196067470
Bug: 193417780
Tests: Manually
Change-Id: I13fa478f434b2c56a5818a4b639f3e38f7c05c4d
(cherry picked from commit 450633259bc6283f25d98d5e056d39e74bcb8cc7)
Instead of simply fading out the line now it disappears with moving gradient.
According to the specs animation delay is 150ms and duration 500ms.
Bug: 196067470
Bug: 193417780
Tests: Manually
Change-Id: If4315683ba73895a0ca8287047d13da150727366
(cherry picked from commit 8392f9c4ac9505c79a4fe3c6f29ee4e24eaf4e3c)
Moves all the PackageInfo/ApplicationInfo values into core SDK side
interfaces which represent all the mirrored functionality.
Creates AndroidPackageApi, PackageState, and a new PackageUserState
interface that act as the actual exposed interfaces for consumers like
mainline.
To avoid taking the PackageManagerService lock, and to avoid mutability
issues, PackageSettings are shallowly copied into PackageState objects.
And class PackageUserState objects into interface PackageUserState.
Eventually PackageSetting/class PackageUserState should be migrated to
the corresponding interfaces.
Miscellaneous additional changes:
- Removes PackageSetting#uidError, was never used
- Removes PackageUserState#categoryHint, was a package level field
without per-user difference, use PackageSetting#categoryHint instead
- Add locking to class PackageUserState overlay paths so they can be
copied for the new interface.
Bug: 173455397
Test: atest com.android.server.pm.ScanTests
Change-Id: Ib98c66a9b4d78d09151724eaf14c16074c3621c9
The CancellationSignal passed into the authentication methods is not
associated with the request and can be used to cancel the current
operation, even if it is more recent. The new id prevents outdated
signals from being using.
Note that there are still issues with the Callbacks that are not
addressed (see bug for details).
Bug: 194405579
Bug: 189451155
Bug: 191716671
Test: atest com.android.systemui.biometrics com.android.server.biometrics
Change-Id: Id71be912cc88ae90df8087eb8f1a6fc3e110f883
Flicker on master diverged form sc-v2, to make it easier to debug
flicker issues on sc-v2, push the current version of flicker into sc-v2
Test: atest FlickerTests WMShellFlickerTests
Bug: 188792659
Change-Id: I1c832bf32214b12ba4b708bccfc95cf259324844
Uses the atom NonA11yToolServiceWarningReported in westworld to log
the accessibility privacy warning notification is notified or clikced
in accessibility framework.
Bug: 180983963
Test: m statsd_testdrive && statsd_testdrive 384
Change-Id: I73129e17a62084811f5eb59a2805a38ffb0f112b
Previously there were cases where we failed to invoke callback used to
implement sync APIs in InputConnection if app's InputConnection failed
due to exceptions, while the IME was still waiting for the callback.
Although such an exception usually triggers an app crash, which
eventually triggers IInputMethodWrapper#unbindInput() to unblock IME's
waiting operation [1], there is no reason to not propagate the failure
through the callback object itself to minimize the blocking time.
This CL just makes it happen.
Note that there is no observable behavior change in the IME client
app. What this CL does is just completing the callback request before
letting an exception go, which will never change the fate of the IME
client process.
[1]: Ic65a95eb5d0fd56f505a02fd9083bcf6694b6734
f87f750888
Fix: 195699814
Test: atest CtsInputMethodTestCases:InputConnectionHandlerTest
Change-Id: I5b88333cfad3cbafe311c6262fa00eff893cd8f1
This is a mechanical refactoring CL to follow up my previous CL [1],
which replaced our custom callback interfaces with AndroidFuture<T>,
which made us lose compile time checking in RemoteInputConnectionImpl.
Although we are still effectively annotating types manually, this CL
allows us to consolidate @SuppressWarnings("unchecked") into a single
utility method rather than scattering such annotations into multiple
methods.
Other than clean up the code, there should be no observable behavior
change in this CL.
[1]: I74657826a99b11ca1f86932f8f41cca6e449cc8a
b2d09de1f9
Bug: 192412909
Bug: 195699814
Test: presubmit
Change-Id: I59a60d7291142bf4827a05ce84183e84457c32b8