* changes:
Clear preferred activities affected by MIME groups changes
Implement new API to modify MIME groups by adding/removing MIME types
Add mimeGroup tag to intent filters
This change renames staticness to mutability and changes the OMS to
query OverlayConfig. Changing the enabled state of immutable overlays
and changing the mutability of overlays causes the overlays to be
reinitialized and the default-enabled states to be reapplied. The
default-enabled state is applied whenever the settings for the overlay
is initialized.
Bug: 135048762
Test: use package manager to dump overlay paths of package with
static/immutable overlays
Test: verify "cmd overlay dump"
Test: atest OverlayManagerServiceImplTests
Test: atest OverlayManagerServiceImplRebootTests
Change-Id: I791befee7f4c7c6ab5ad69cd5d1f3d85e7424f96
This change adds the ability to configure the priority, default enable
state, and mutability (previously know as staticness) of an overlay.
Rather than overlays configuring themselves, the system can configure
overlays relative to each other.
An example configuration file looks like:
<config>
<merge path="auto-generated.xml" />
<overlay package="com.example.one" mutable="false"
enabled="true"/>
<overlay package="com.example.two" mutable="false"
enabled="true"/>
<overlay package="com.example.three" enabled="true"/>
</config>
The <overlay> tag configures the overlay while the <merge> tag allows
additional configuration files to be included at a position within
the configuration file.
If the configuration file is not present for a partition, the legacy
android:isStatic and android:priority will continue to configure the
overlays in the partition. Once at least one configuration file has
been defined in any partition, strict partition precedence will be
enforced and overlays on separate partitions will no longer be able
to use android:priority to reorder themselves conversely from the
overlay partition precedence.
The order of the system partitions from least to greatest precedence
is system, vendor, odm, oem, product, system_ext.
Bug: 135048762
Test: atest OverlayConfigTest
Change-Id: If57e8caa9b881f9d424ef48bba80b18cc8b7b943
Previously, the caller's user ID was got from Binder. But
AppPredictionManager clears caller's identity. The only way to get the
caller's user ID is to get it from session ID.
Bug: 146522621
Test: atest com.android.server.people.data.DataManagerTest
Test: atest com.android.server.people.data.ShareTargetPredictorTest
Change-Id: Ia0dc35879084110849e06e919ff3b3c7241c46fd
This change adds two new flags for starting activities:
FLAG_ACTIVITY_REQUIRE_NON_BROWSER and FLAG_ACTIVITY_REQUIRE_DEFAULT.
The first will only start if the result is a non-browser result. The
second will only start if the result is not the resolver activity.
Bug: 148452357
Test: Builds
Change-Id: I1f25bd78b6231c08036c15436bd8c2e3dccf56d6
This change adds a new app enumeration feature to system features.
Test: atest AppEnumerationTests
Bug: 149399359
Change-Id: Iaf181a54819343d5531d14142a844acda02b10e5
This is based on developer feedback from Google Calendar. Tweak the API
to take in the calling activity.
Javadoc in ActivityTaskManagerInternal's new method is copied from the
existing method.
Bug: 149677845
Bug: 136249261
Test: atest com.android.cts.devicepolicy.CrossProfileAppsHostSideTest#testStartActivityIntent_sameTaskByDefault
Change-Id: I2f2d4d8fd82febf4916ba70a08de5e71c678a1f4
Context: Tuner system APIs and Tuner HAL are adding to R. Tuner hardware
and HAL implementation are required for these new features.
Test: make;
Bug: 139308734
Change-Id: I89f56ee58cdfae447d33cdcd841e0d556e7f6cab
If MIME group change affects any intent filter,
all preferred activities from the app are cleared
Bug: 134736173
Bug: 136635677
Test: atest CtsDynamicMimeHostTestCases
Change-Id: I84b26768b2da9e98f76f1ab3ec61af58534e3eca
MIME groups can now be modified via PackageManager.
MIME group modification will affect intent-filters
that were declared with that |mimeGroup| in manifest
in the same way, as if intent-filter was initially
declared with |mimeType| attributes that correspond to
MIME types in MIME group
Preferred activities will be handled in the next CL
Bug: 134736173
Bug: 136635677
Test: atest android.content.pm.PackageParserTest#testPackageWithIntentFilters*
Change-Id: I083a8794897e632aad5325a67311931193c69a3c
Intent filters can now have a |data| element
with a |mimeGroup| attribute on it. In a future
CL, the user can add mimeTypes to a mimeGroup,
which will cause the intent-filter to match all those
mimeTypes.
Bug: 134736173
Bug: 136635677
Test: atest android.content.pm.PackageParserTest#testPackageWithIntentFilters*
Change-Id: Ie44dc441e00c29d735814564b7f27b341a69a860
This will be used by the logic that updates the app bucket state of
cross-profile connected apps that declare the crossProfile manifest
attribute.
Also makes the following changes:
- Fixes CrossProfileAppsServiceImplRoboTest by registering the local
service in a different way.
- Removes some code duplication in CrossProfileAppsServiceImpl.
- Some clean-up.
Robolectric tests will be added later. Right now, there seems to be a
problem causing log messages not to appear, making debugging impossible.
Bug: 140808123
Bug: 136249261
Test: atest com.android.server.pm.CrossProfileAppsServiceImplRoboTest
Change-Id: Iefa6b2a7cb7535d5796d5ca8916c10b29c2e0661
Revert "Fix shared libraries not being reported via Reporter"
Revert submission 1198456-slclc
Reason for revert: Fails on luci:
https://ci.chromium.org/p/art/builders/ci/host-x86_64-cdex-fast/3123
Exempt-From-Owner-Approval: pure revert
Bug: 148494302
Reverted Changes:
I46d8d9105: Fix shared libraries not being reported via Report...
I00357cfe0: [DexLoadReporter] Report classloader contexts dire...
Change-Id: Ib58066e8f059642a11d9eaab02ec0b8b3217e487
Update the javadoc after reviewing the new public-facing Javadoc
implemented for the INTERACT_ACROSS_PROFILES work.
Bug: 136249261
Test: no Java changes
Change-Id: I1a669adea2ff47171dbbcbe6e847a3be0cfa7509
If both BaseBundles are empty, we can infer that without needing to
unparcel any of them.
Test: atest FrameworksCoreTests:android.os.BundleTest
Bug: 146037505
Change-Id: I04c28cdd1293227d9887b0c17e178f61328c1959
Parsed the manifest and included in the relevant PackageManager data
structures.
Test: atest RestrictedPermissionsTest
Test: atest RestrictedStoragePermissionSharedUidTest
Bug: 148944140
Change-Id: I785e707aa4c879ea163c1611c1693fea74f4ac82
Extract the order system partition list from package manager so
OverlayConfig can reuse the PMS partition order.
Bug: 119442586
Bug: 135048762
Test: ScanTests and PackageManagerServiceTest
Change-Id: If281c5d47e3551eb635c466af6d2400c514518eb
Also, extends the client-side timeout to match that
in ActivityManagerService.
Also, fixes an ANR that could occur if getType is called for
an unknown content provider
---------------
Revert "Revert "Prevents an NPE when content provider is slow to start""
This reverts commit 3a54effffd.
Reason for revert: Roll forward of the original CL,
with a fix for the regression it caused
Original commit 140fc2e9c9
Test: atest FrameworksCoreTests:android.content.ContentResolverTest
Fixes: 148987678
Change-Id: Ic60acceaabbf6b32c71d0b8bdf831a7d1f13d392
This change enables the app enumeration feature by default. This change
is very likely to break some tests that manually install APKs. The fix
for them is generally easy: add the --force-queryable flag to the shell
command.
This change will also make some apps targetting R unable to see other
apps that are installed or sideloaded on the device.
go/app-visibility-playbook outlines the steps needed to re-gain that
visibility.
Fixes: 136675067
Test: atest AppEnumerationTests AppsFilterTest
Test: atest CtsCalendarProviderTestCases
Test: atest CtsAccountManagerTestCases
Test: atest CtsContentTestCases
Test: atest CtsPermission2TestCases
Test: atest CtsAppSecurityTests
Test: atest CtsAppTestCases
Change-Id: I9db3c0768416dd7ba24108b2a142a24672dab561
UX wants special UI to explain permissions revoked because of auto-revoke,
so we need a way to mark them.
Bug: 146513245
Test: presubmit
Change-Id: Idb753c5036ffe94995773756f329ea26d7c40b64
- Adds "_" in variable name for consistency with feature string
- Adds documentation on what the feature is used for
Bug: 149475852
Test: None
Change-Id: I6eca279df8409de1155cd7014647a705d0d31d6f
At the moment classloader contexts are incorrectly computed in the
PackageManager for secondary dex files. There are two issues:
(1) The wrong computed classLoaderContext will be reported for a secondary
dex file if it was loaded at the same time as a primary dex file
- This is due to the continue statement that doesn't increment
dexPathIndex
(2) If a secondary dex file was loaded with a shared library then that
shared library info isn't passed through the dex load reporting
infrastructure, and thus its classloader context is incorrectly computed
in PackageManager.
In order to fix the issues described above & prevent further classloader
context computation divergences between the package manager and the
runtime, lets compute the classloader context in the runtime at dex load
time and report the expected classloader context directly to
DexLoadReporter (and thus the package manager).
Notes: This is mostly just a refactor (i.e. there are a lot of line
changes, but functionally speaking this set of CLs doesn't do much
except change where the classloader context is computed)
Addendum: The bugs described above could also be fixed by:
- changing DexLoadReporter to report information about shared libraries that
the reported classloaders depend on to PackageManager
- Teach DexoptUtils.processContextForDexLoad about shared libraries
- Fix dexPathIndex calculation in DexManager
I opted for this set of changes instead because this reduces the
possibility of context computation divergence between the framework and the
runtime. Additionally it feels more "solid" that the classloader context
is now computed directly when a dex file is loaded, rather than the
context recreated later on in the PackageManager.
Test: atest com.android.server.pm.dex.DexManagerTests
Test: atest com.android.server.pm.PackageManagerServiceTest
Test: Install app depending on shared library & uses secondary dex
files; adb shell pm bg-dexopt-job; launch app and see odex file
successfully loaded (from smaps/no logcat errors)
Bug: 148494302
Change-Id: I00357cfe086ff149f92c1078c6df6daa713c8f7c
* changes:
Add a TunerResourceManagerService as an Android System Serivce.
Add Lnb related APIs into the TunerResourceManager interface
Add Cas related APIs into the Tuner Resource Manager
Adding ITunerResourceManagerService interface into android.media.tv
Per API council guidance, setLoaders, getLoaders, and clearLoaders
are no longer part of the public API. addLoader and removeLoader
are now consume variadic loaders.
Bug: 142716192
Test: atest FrameworksResourceLoaderTests
Change-Id: If29d47b526ae6acd582b14206b2c6372f3c497be