Two package parsing issues have been promoted to failures in R:
a missing <application>/<instrumentation> tag, and an empty
"android:name" attribute. The latter due to a bug in the parsing
code.
These need to be gated by targetSdkVersion so that APKs built for
previous versions can still scan/install properly. This change
introduces support for this through a framework that leverages
@ChangeId to introduce individually toggle-able errors, in
case a developer needs to install an app that isn't completely
migrated for a new SDK version yet.
The ignoreError method was removed from ParseResult as the errors
it was used for were manually compared to PackageParser and it's
likely they can be hard errors without breaking anything.
This also adds tests for general ParseInput/Result behavior.
Exempt-From-Owner-Approval: AppIntegrity already approved in older PS.
Bug: 150776642
Test: atest android.content.pm.parsing.result.ParseInputAndResultTest
Test: atest com.android.server.pm.parsing.PackageParsingDeferErrorTest
Test: atest com.android.server.integrity.AppIntegrityManagerServiceImplTest
Test: atest com.android.server.pm.parsing
Change-Id: Id53a2e65f6e5e4dee9a41cc77007275b3a220ac3
* changes:
Update CS helper for clearing NetworkCapabilities UIDs.
Simplify unregister logic for Connectivity Diagnostics callbacks.
Clarify comments for Connectivity Diagnostics reports.
Sort administrator UIDs for NetworkCapabilities.
Add combine() and equals() for NetworkCapabilities admin UIDs.
Use IBinder as key for ConnectivityDiagnostics storage in CS.
Decrement networkRequestPerUid when callbacks are unregistered.
Invoke onConnectivityReport on registering ConnectivityDiagnostics.
Renamed TaskContainers to TaskDisplayArea and added getDisplayArea()
method to WindowContainer that finds the first display area in the
hierarchy above the node. ActivityRecord and Task override it to
return the TaskDisplayArea class.
Bug: 152116619
Test: WM CTS and unit tests
Change-Id: I4525afbcd794848e1020213cdca04d89a646dd55
* In IME side, wait for the input start before calling back to Autofill,
rather than returning inline unsupported immediately.
* Also adds an InlineSuggestionManager to simplify code in the
InputMethodService
Test: atest CtsAutoFillServiceTestCases
Test: atest CtsInputMethodTestCases
Bug: 151123764
Change-Id: I199925d77aa508f259e98a8929120aeb96015b57
Synchronously inject input event would wait for animations complete,
but if no surface animation is on going and 'scheduleAnimation' is
called in order to apply the pending transaction. It would wait
until timeout(=5s) because no 'notify' would be called from
framecallback. That would cause timeout problem when emulate swipe
gesture via inject many events.
This would provide a flag in WindowAnimator to ensure the pending
transaction could be applied and exit waiting if there is no
other animation.
Bug: 150250453
Bug: 152478735
Bug: 152462354
Test: atest libinput_tests inputflinger_tests
Test: atest --rerun-until-failure 100 WindowFocusTests#testMovingDisplayToTopByKeyEvent
Test: atest MemoryTests#testActivityRecreation
Test: Tests have inject events.
Change-Id: If1db5c4d923ddbcfcd6eb3db38a41fee70913568
- System server no longer contains customized windows
which extend IWindow.Stub directly (very old lockscreen).
Since there is no arbitrary implementation of resized,
it is unnecessary to post resized at the entrance because
ViewRootImpl will dispatch the message to UI thread.
- As above, because the local async case is gone, it is safe
to update mLastConfigReportedToClient directly so we don't
need to create MergedConfiguration every time.
Bug: 139522754
Test: atest AppWindowTokenTests#testLandscapeSeascapeRotationByPolicy
Change-Id: Ib1ea0b07add562c40466a0a8792221768e404c62
The local animations are cancelled if fixed rotation transform is
going to be finished to perform seamless display rotation. That
avoids a case: a closing animation in landscape moved outside the
bottom of the screen, and it still has unfinished alpha animation
(e.g. wallpaper_open_exit is 250+167=417ms which is longer than
than wallpaper_open_enter 225ms). Then if the display is rotated
to portrait, the animation out of view becomes visible.
The reason not waiting for all animations to finish is that will
increase the latency to rotate display, and touching won't work
in the waiting state because the rotation of top activity (rotated
surface) is different than the display.
Bug: 151709552
Test: atest DisplayContentTests#testApplyTopFixedRotationTransform
Test: Enable fixed_rotation_transform, return from a task in
different orientation to home with default animation.
Change-Id: I7c268de1f9061a7ac11fc42a70f02000faba7106
This will slightly increase the readabily.
Bug: 152843067
Test: cts test and atest mediaroutertest
Change-Id: I563d9b38b00bdef44f07d6b21c43533ebab8dbae
This change plumbs the DNS servers through from the
IkeSessionConfiguration. Previously the getInternalDnsServer() was not
implemented.
Bug: 152242520
Test: FrameworksNetTests passing
Change-Id: Icd80b3688de2a39e222a4501787f8c54951c2ba0
Merged-In: Icd80b3688de2a39e222a4501787f8c54951c2ba0
(cherry picked from commit bd2763d977)
So the ActivityManager and InputDispatcher thread won't be delayed,
e.g. process next broadcast, input event.
The thread handles ANR sequentially and is only alive if there is ANR.
If system is very slow to handle ANR which has delayed over 1 minute,
only the traces of no response process will be dumped to reduce load.
Bug: 143573504
Test: atest FrameworksServicesTests:AnrHelperTest
FrameworksServicesTests:ProcessRecordTests
CtsAppTestCases:ActivityManagerTest#testAppNotResponding
Change-Id: I892ea60665f072bf7673f7af96f5f1a734aa540c
See b/151890602#comment4.
If the assumption is true, we will see logs that the rollback for
testappA is exipred happens slightly after the call to #getAvailableRollbacks.
Also move assertions below so the test runs to the end and we have a
better picture for what happened during the test.
(Cherry-picked from eab998a9af)
Bug: 151890602
Test: m
Merged-In: I85adb8c3c5598ef4ce11550b51f22d1ce3c282a6
Change-Id: I85adb8c3c5598ef4ce11550b51f22d1ce3c282a6
In single focus system, we would expect the focused display could be
changed when receiving a key event.
The way we update window infos from WMS to InputFlinger is using
SurfaceControl.Transaction, and we would expect the api
'syncInputTransactions' could wait until all window infos update to
InputFlinger.
This would collect all input transactions from all displays into one
to make sure all input windows could be sync at same time.
- Change 'updateInputWindowsImmediately' that we could update the input
transation and merge it into the passing Transaction that could be
collected and applied later.
- Wait for 'isAnimationScheduled' to make sure the pending trasaction
had been applied before it update the input transaction.
- Rename 'setInputWindow' to 'displayRemoved' to match the function
more properly.
Bug: 150250453
Test: atest --rerun-until-failure 100 WindowFocusTests#testMovingDisplayToTopByKeyEvent
Test: atest --rerun-until-failure 10 WindowFocusTests
Change-Id: Id06c70bfe76e8c8a0cd50a8ae66b38b444a9d0c2
NetworkCapabilities needs to have its UIDs cleared (UID ranges, owner
UID, and administrator UIDs) before it can be shared with apps via
ConnectivityDiagnosticsCallback invocations. The previous helper used
for clearing these values mutated the provided NetworkCapabilities. This
is updated to instead return a sanitized copy of the provided
NetworkCapabilities
Bug: 148942124
Test: atest FrameworksNetTests
Change-Id: I2431a6d273d0d73432919baf41b4f66397f4b7dc
Merged-In: I2431a6d273d0d73432919baf41b4f66397f4b7dc
(cherry picked from commit 45bbc4f6ac)
ConnectivityService is updated to simplify the logic for unregistering
ConnectivityDiagnosticsCallback instances. This change removes the given
callback from ConnectivityService's data structure. If the callback was
not registered with ConnectivityService, it is logged and the function
exits; else, the unregister() operation continues.
Bug: 150867635
Test: atest FrameworksNetTests
Change-Id: I9096969a1bf33da72b117f5bbc88257df805e688
Merged-In: I9096969a1bf33da72b117f5bbc88257df805e688
(cherry picked from commit f047313940)
Clarify when
ConnectivityDiagnosticsCallback#onConnectivityReportAvailable will be
invoked. Clarify when NetworkAgentInfo#mConnectivityReport will be null
vs non-null.
Bug: 147849853
Test: atest FrameworksNetTests
Change-Id: I748bd9ded72a34d89f13bd4362d6d4da62b910b8
Merged-In: I748bd9ded72a34d89f13bd4362d6d4da62b910b8
(cherry picked from commit 604dd40cf0)
This change updates ConnectivityService to use IBinder instances as keys
when storing ConnectivityDiagnosticsCallbacks.
When storing ConnectivityDiagnosticsCallbacks in ConnectivityService,
the IConnectivityDiagnsoticsCallback is used as the key for
ConnectivityService.mConnectivityDiagnosticsCallbacks. However,
IConnectivityDiagnosticsCallback instances are received as different
objects. This causes them to produce different hashCode() values, so
attempts to remove an IConnectivityDiagnosticsCallback fail.
Bug: 150867635
Test: atest FrameworksNetTests
Change-Id: Ib99e68d5ae47fa27e12428f9a60a2c1204ac59a2
Merged-In: Ib99e68d5ae47fa27e12428f9a60a2c1204ac59a2
(cherry picked from commit c7c6a4ac12)
ConnectivityDiagnosticsCallbacks are tied to NetworkRequestInfo objects
when registered with the platform. Each NetworkRequestInfo is tied to a
specific uid, and ConnectivityService enforces a limit on the number of
network requests that can be associated with each uid.
When ConnectivityDiagnosticsCallbacks are unregistered from the
platform, their NetworkRequestInfo is freed and the number of network
requests per the user's uid should be decremented.
Bug: 150802582
Test: atest android.net.cts.ConnectivityDiagnosticsManagerTest
Change-Id: Ia5ed39c1d8e6221cd402be4f8baf69fa643a6113
Merged-In: Ia5ed39c1d8e6221cd402be4f8baf69fa643a6113
(cherry picked from commit 662076b1a7)
This change updates the behavior for registering
ConnectivityDiagnosticsCallbacks. Now, after a successful register()
call, callbacks will receive cached ConnectivityReports for all
matching, permissioned networks. This allows registrants to be updated
with the network state for their networks without having to wait for the
next network validation.
Bug: 147849853
Test: atest FrameworksNetTests
Change-Id: I924ba8fdcc847f453557021591bde38602fe089c
Merged-In: I924ba8fdcc847f453557021591bde38602fe089c
(cherry picked from commit 95ec0b206b)
Update ConnectivityService's check for administrator UIDs to use
ArrayUtils to check for UID inclusion. Update the NetworkCapabilities
annotation on the administrator UIDs field to clarify that it is
NonNull.
Bug: 147903575
Test: atest FrameworksNetTests
Change-Id: Id630fe9d76aacdaf038fdaa5360f0327520ee0c3
Merged-In: Id630fe9d76aacdaf038fdaa5360f0327520ee0c3
(cherry picked from commit 898496365a)
- Split TaskEmbedder into its current VirtualDisplay implementation
and an implementation that uses task org to create and manage
the task
- Use the task org embedder implementation in separate bubble task view
- Skip task org tasks from triggering task resizing
- Add task org callback for back press on task root if requested
Bug: 148977538
Test: atest CtsWindowManagerDeviceTestCases:ActivityViewTest
Test: atest WmTests:TaskOrganizerTests
Change-Id: Id422bb2547197c617f914ed7cf5085e02a1c3fb5
Add content observer for Settings.Secure.DEFAULT_INPUT_METHOD,
which contains package name of current InputMethodService.
Bug: 147037345
Test: use voice input with Gboard 9.1.4 during a simulated RTT call.
Change-Id: I11e17b13513627c88ccb8e4db66c5359e9ee7f7b