There is a interesting interaction between staged and non-staged
installs of the same APEX. Let's say an installer staged v1 -> v2 APEX
update, and then does a non-staged update to v3. After device is
rebooted, apexd will apply the staged v1 -> v2 session, silently
downgrading an APEX from v3.
For apks, this problem is solved by storing an expected version. When an
APK session is being applied during boot, Package Manager will check if
the currently installed version is equal to the expected one stored in
the staged session. If they mismatch, an install is failed.
Unfortunately, implementing the same logic in apexd will require a
non-trivial refactoring which is too late to do in S. Instead we are
just going to fail the non-staged installation.
Test: atest StagedInstallInternalTest
Bug: 187864524
Change-Id: I9000f40cede9a324a5059a09deb8eb5be13b21f9
* Mainline APEXes can only be updated by a modulesInstaller (an entry
in whitelisted-staged-installer.xml with isModulesInstaller="true")
* The whitelisted-staged-installer.xml file can have only one entry with
isModulesInstaller="true"
* Vendor APEXes can only be updated by an installer defined in the
corresponding entry in vendor-apex-allowlist.xml.
BYPASS_INCLUSIVE_LANGUAGE_REASON=existing occurrences
Test: atest StagedInstallInternalTest
Test: atest GtsStagedInstallHostTestCases
Test: atest CtsRollbackManagerHostTestCases
Test: atest CtsStagedInstallHostTestCases
Bug: 190802380
Change-Id: I729abb5153df079fb6885016a4b41d0acc827e3c
This change sets TRANSPORT_PRIMARY for all NetworkScore objects passed
to ConnectivityService by the VCN. Without this patch, a VCN in safe
mode will never get any NetworkRequests, since the new Policy-based
NetworkRanker always prioritizes a existing satisfier of a network,
regardless of score. However, a higher-priority policy check ensures
that a TRANSPORT_PRIMARY request is used if it exists. This changes the
VCN to utilize that functionality.
Bug: 194122634
Test: atest FrameworksVcnTests
Original-Change: https://android-review.googlesource.com/1772025
Merged-In: I3a298a6c4c594c6e224f3f05764614802c00e9b0
Change-Id: I3a298a6c4c594c6e224f3f05764614802c00e9b0
This CL contains two tests:
1) When fs-checkpoint-mode is false, but fs-rollback-mode is true
2) When both modes are false
Bug: 193648282
Test: atest StagedInstallInternalTest
Change-Id: I9c96296343a7f39a65de9e06e8a07d765f832044
This change ensures that the VcnGatewayConnection can never abort a
quitting command; specifically, if a non-quitting disconnect request is
processed after a quitting disconnect request, the isQuitting value MUST
continue to stay set (as true).
Failure to OR the values results in orphaned VcnGatewayConnection(s),
and the VCN network thrashing.
Additionally reduce verbosity of local logs, to ensure it better
captures failures and logWtf(s)
Bug: 192776413
Test: atest FrameworksVcnTests
Original-Change: https://android-review.googlesource.com/1768623
Merged-In: Iec8dae701838794261957609bae4e270eaa9cdc7
Change-Id: Iec8dae701838794261957609bae4e270eaa9cdc7
This change ensures that there is only ever one VCN running at a given
point in time, and that if the device has switched to using a
subscription in a different subscription group, the VCN will immediately
tear down.
This ensures that when on a DSDS device, when the VCN-enabled
subscription is not the default/active subscription, the other
subscription's network will never be outscored by the VCN, and thus get
torn down.
Bug: 190761448
Test: atest FrameworksVcnTests
Test: Manual testing to ensure common functionality
Original-Change: https://android-review.googlesource.com/1767050
Merged-In: I8031fab7502880d38420058451df41f47567c458
Change-Id: I8031fab7502880d38420058451df41f47567c458
There were two bugs:
1. In case of the first update, ApexManager removed information about
pre-installed version of the APEX.
2. After an update, getPackageInfo cache wasn't invalidated, which
resulted in getPackageInfo returning stale information.
Bug: 193085724
Test: atest ApexManagerTest
Test: atest StagedInstallInternalTest
Change-Id: I6df7b296cd5d83c93524178f1546855747ea6b07
It's not allowed to install a completely new APEX, hence APEX
installations should be treated as upgrades.
This change allows holders of INSTALL_PACKAGE_UPDATES permission to
silently install APEX upgrades.
Bug: 193085724
Bug: 190802380
Test: atest StagedInstallInternalTest
Change-Id: Idde7644122eeae6c444e3520f66ab1546ba7fdf6
This change declares underlying networks for the VCN for the purposes of
app data accounting
Bug: 190620024
Test: atest FrameworksVcnTests
Original-Change: https://android-review.googlesource.com/1750241
Merged-In: Ida2cd5975250604064b0baed00bc7c201ea97c5e
Change-Id: Ida2cd5975250604064b0baed00bc7c201ea97c5e
This is important for multi-user devices that have different
applications or versions installed for each user.
Bug: 190483583
Test: atest FrameworksServicesTests:CompatConfigTest
Test: atest FrameworksServicesTests:OverrideValidatorImplTest
Test: atest FrameworksServicesTests:PlatformCompatTest
Test: atest PlatformCompatGating:PlatformCompatPermissionsTest
Change-Id: I74c061001efbbd9699087e603a580cb2538891ec
NotoColorEmoji.ttf has 'by-exception-only' license and should not have
been depended by vts.
This CL swaps it with a fake NotoColorEmoji.ttf font.
testdata/NotoColorEmoji.ttx is based on
cts/tests/tests/text/assets/fonts/samplefont.ttx
Bug: 191914223
Test: atest UpdatableSystemFontTest
Change-Id: If5f57471b492cae1eb35f6d4a4ac0054270b23a3
- and update some test assumptions accordingly (live tile)
Bug: 185934639
Test: ReOpenImeWindowTest
Change-Id: If6f40dce174bef5ccc3c3731764607a5826b4762
This change fixes the potential for a networkAgent to be left dangling,
due to a situation where a VcnGatewayConnection shuts down, but fails to
unregister it's NetworkAgent.
The root cause was that the NetworkAgent was not unregistered when
moving to the DisconnectedState from the RetryTimeoutState, and the new
state assumed that there was no NetworkAgent, and thus failed to close
it when disconnecting.
Thus, this change ensures that the NetworkAgent is closed before moving
to the DisconnectedState. Additionally, it adds safety-checks to
onQuitting(), ensuring that if all else fails, these fields are cleaned
up.
Lastly, this change adds the specific gateway reference to facilitate
future debugging of issues such as this where there is potential for
duplicate networks, or gateway connections.
Bug: 191707296
Test: atest FrameworksVcnTests
Change-Id: I84cd43a0c136662f5c2d229650f1f5f889e6f144
Merged-In: I84cd43a0c136662f5c2d229650f1f5f889e6f144
(cherry picked from commit 7207a83ca8)
Now that apexd returns an error message with details about why APEX
activation has failed, we can append it to session object's error
message.
Bug: 178192690
Test: atest
StagedInstallInternalTest#testApexActivationFailureIsCapturedInSession
Change-Id: Id2d1df7f86ca85b044cfa15990eae548a176882b
This commit includes IkeTunnelConnectionParams in
VcnGatewayConnectionConfig#hashCode and
VcnGatewayConnectionConfig#equals.
This commit fixes the issue that VcnGatewayConnection was not
being restarted as expected.
Bug: 191317512
Test: atest FrameworksVcnTests (new tests added)
Test: atest CtsVcnTestCases
Original-Change: https://android-review.googlesource.com/1742657
Merged-In: I70182f9b645e55eced1e0a048a1bd87778c1c0f6
Change-Id: I70182f9b645e55eced1e0a048a1bd87778c1c0f6
Do not assume mMainColors and mAllColors contain the same
color since recent changes modified that.
Update equals and hashCode as well to account for this.
Bug: 191391779
Bug: 191374703
Test: atest WallpaperColorsTest
Change-Id: I8c7775055a2360ec3a91cee76a42d14a143ec7fb
This CL ensures that Vcn instances refresh their mobile data state
when they receive a new TelephonySubscriptionSnapshot. A new snapshot
may contain different subId -> subGroup mappings, which can affect
whether a Vcn instance's subGroup has mobile data enabled or not. This
in turn can change which VcnGatewayConnections are brought up by the
Vcn.
Bug: 191394092
Test: atest FrameworksVcnTests CtsVcnTestCases
Original-Change: https://android-review.googlesource.com/1740514
Merged-In: Ib59b4ed7900a177b17ed4a6e197e271b10937f65
Change-Id: Ib59b4ed7900a177b17ed4a6e197e271b10937f65
As a part of internal core libraries cleanup move usages of
IoUtils#deleteContents from CorePlatformApi set to framework.
Bug: 154796679
Test: m update-api
Merged-In: If7037029026b6753ab64be09aa52c40e04d5c7b1
Change-Id: If7037029026b6753ab64be09aa52c40e04d5c7b1
This CL updates VcnManagementService to allow permission
MANAGE_TEST_NETWORKS to register/unregister VCN policy listers as
well as apply VCN policies. Previously, only permission
NETWORK_FACTORY was allowed to perform this operations.
Bug: 189125789
Test: atest FrameworksVcnTests CtsVcnTestCases
Change-Id: I6ad3a58f4ef87d931917fbd772a810af81b27da1
Merged-In: I6ad3a58f4ef87d931917fbd772a810af81b27da1
(cherry picked from commit f658c7f394)
minikin::Font::typeface() is expensive because it will open the font file.
Font attribute getters should avoid calling it.
Bug: 188201287
Test: atest UpdatableSystemFontTest
Test: atest CtsGraphicsTestCases:FontTest
Test: atest CtsGraphicsTestCases:SystemFontsTest
Change-Id: Ic8554f6dfacbe27ddfea6b375633c96bced2cc09
The tests have been stable since last week when the underlying bugs were closed.
Bug: 185401242
Bug: 185400889
Test: atest FlickerTests:com.android.server.wm.flicker.ime
Change-Id: I8cea435a9fa295626c45d9d11549c1a4d4f4e63b
The tests have been stable since last week when the underlying bugs were closed.
Bug: 185401242
Bug: 185400889
Test: atest FlickerTests:com.android.server.wm.flicker.launch
Change-Id: I8ef26ac7144766f7269bef2589842e07d098efc3
The tests have been stable since last weeks when the underlying bugs were closed.
Bug: 185401242
Bug: 185400889
Test: atest FlickerTests:com.android.server.wm.flicker.rotation
Change-Id: I4aa13016f214f99bcff5adcd98e71096eacada2d
The tests have been stable since last weeks when the underlying bugs were closed.
Bug: 185401242
Bug: 185400889
Test: atest FlickerTests:com.android.server.wm.flicker
Change-Id: I6c99e84f0da01c122d8ff6a28eebbdb9bcc6582a
This change removes unused fields in the persistable bundle and
VcnGatewayConnectionConfig classes to ensure future flexibility.
Bug: 182219992
Test: atest FrameworksVcnTests
Change-Id: Ic2fec8a87fd19a1780333c61759c4092598d349e
Merged-In: Ic2fec8a87fd19a1780333c61759c4092598d349e
(cherry picked from commit 1f06b95c62)
* changes:
Add additional dump information for UnderlyingNetworkTracker
Copy up/downstream bandwidth and TCP buffer sizes from underlying
Prevent concurrent modification exceptions in VcnManagementService
This change copies the relevant pieces of information used to tune the
system for performance
Bug: 188943592
Test: atest FrameworksVcnTests
Change-Id: I2d5dc5b9000fa9d0da9d34772b3704110694c526