It's too easy for code to accidentally use loadLabel() when building
strings for security sensitive contexts, so add ability for a process
to always force loading of safe strings.
Test: builds, boots
Bug: 73657770
Change-Id: I1c7645bd7bebed0cfb6bc3e5bfd36c8cb11d4838
Now include Gl extensions (thanks to whoever wrote the code
I copied!).
Tweak the protos a bit to include missing info and correct
some things.
Add some new test APIs that are needed for CTS.
Bug: 73301635
Test: atest CtsActivityManagerDeviceTestCases:ActivityManagerGetConfigTests
Change-Id: Ie3f8173d217468246e8b6c7f45b7cbfcb352d60f
When multiple activities match the same Intent, allow app developers
to reorder matched results within their own application. This is not
a replacement for priority which reorders matched results between
applications.
Change-Id: I12ee987622e12e40d6b5b48f616cc362d01381de
Fixes: 64582537
Test: atest -it CtsAppSecurityHostTestCases:PackageResolutionHostTest
- Update the minimized state when docking an app from home to ensure that
the animation of the docked task goes to the right bounds
- Temporarily block the invocation of the old recents activity when showing
recents as a part of setting the windowing mode of another task (this is
fine right now because quickstep only allows docking via the UI and not
from the nav bar while another task is open).
- Add proto field so we can determine whether to check the recents activity
from the split screen CTS tests
- Also fix issue with invisible docked task due to wrong bounds calculated
due to launcher not notifying the divider of the first docked frame
Bug: 73118672
Test: go/wm-smoke
Test: atest CtsActivityManagerDeviceTestCases:ActivityManagerSplitScreenTests
Test: atest CtsActivityManagerDeviceTestCases:ActivityManagerTransitionSelectionTests
Change-Id: Ib1208501c311de009a9e706103134865c521cb63
Instead of parcel and unparceling locales in LocaleList in
Configuration use LocaleList.read/writeParcel.
Bug: 73891437
Test: atest android.content.res.cts.ConfigurationTest
Test: atest android.content.res.ConfigurationTest
Change-Id: Id65a7e36487375f0e3a2c2da44ad8d7c5ea49734
Fix several bugs along the way:
-- Clipboard permissions weren't being revoked for related users
when a new primary clip was set.
-- checkGrantUriPermissionLocked() wasn't checking to see if an
otherwise-open provider requires permissions on specific paths.
-- When granting Uri permissions for clipboard data, we need to
include the real source UID for the grant; we no longer allow the
system UID to source grants, to avoid confused deputy problems.
-- Use the Handler passed into ClipboardManager constructor so
it lives on the right thread.
Test: cts-tradefed run commandAndExit cts-dev -m CtsContentTestCases -t android.content.cts.ClipboardManagerTest
Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.AppSecurityTests
Bug: 71711122, 73797203
Change-Id: I99315035efc0c6a90471c279311294dc86766c8d
Bug: 65271215
Test: Manual test. Start vr activity-alias when vr mode is on,
it doesn't quit vr mode in the middle.
Change-Id: Ifcac2a07765fcac848f42553be46209dc67361fd
Restoring of apps that rotated key wouldn't be possible due to
explicit signature matching.
Amend signature matching strategies to take into account
apps that have rotated key.
Test: atest frameworks/base/services/tests/servicestests/src/com/android/server/backup/utils/AppBackupUtilsTest.java
Test: atest frameworks/base/services/tests/servicestests/src/com/android/server/pm/backup/BackupUtilsTest.java
Test: m -j RunFrameworksServicesRoboTests
Test: runtest -p com.android.server.backup frameworks-services
Bug: 64686581
Bug: 34345052
Change-Id: I91b5ae0afb6f2714ceae02b4d4dc202d6cd4fe4e
am get-config can now return its information as a protobuf,
so that we have a nice machine readable representation of the
configuration available. This is available through the new
"--proto" option.
Also add a new "--device" option which will include additional
device configuration information in the output.
Defined the protos to contain all of this information. Updated
Configuration to generate everything it should in the proto.
The output has been changed so that configuration history
will not be returned unless you specify the --days option.
Bug: 73301635
Test: Booted, ran, output
Change-Id: I074b92b45d6b1da1c1a499080db9e006d12b9fea
This reverts commit 203a9ab766.
Reason for revert: Fix the original issue. There was a race with the
cleanup method which was resetting the app record to null.
Test: manual, adb logcat -b events | grep sysui_multi_action
repeat steps from bugreport reporting the crash
Bug: 73102540
Change-Id: I6d9c6110a9d5dadeb9d4361592711d63563c958a
Some packages in the system image are not built against the SDK, so
enforcing hiddenapi checks for these will break them. Add a whitelist
for such packages.
For now, just add the contacts provider to the whitelist. The list will be
further populated later.
Test: Added test app package name to whitelist to verify.
Bug: 73244707
Merged-In: I94746b7f12dd9371d5068bb235eb853f63ee4d97
Change-Id: I1cbbd220c61b1b4b767c301f97096607ee902a7b
Some packages in the system image are not built against the SDK, so
enforcing hiddenapi checks for these will break them. Add a whitelist
for such packages.
For now, just add the contacts provider to the whitelist. The list will be
further populated later.
Test: Added test app package name to whitelist to verify.
Bug: 73244707
Change-Id: I94746b7f12dd9371d5068bb235eb853f63ee4d97
- Add two shortcut related permissions as SystemAPI for the default
text classifier.
- The default text classifier package name still comes from the
system resource.
Bug: 73083596
Bug: 71555985
Test: atest CtsPermission2TestCases
Test: Manual test with a test package, with the following in config.xml
<string name="config_defaultTextClassifierPackage" translatable="false">com.example.android.pm.shortcutlauncherdemo</string>
Change-Id: I19081d9d6ba0b33eb25d19aa55b4fe2f26a75897
This reverts commit 0a8bea818c.
E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: ActivityManager
E AndroidRuntime: java.lang.NullPointerException: Attempt to read from field 'java.lang.String com.android.server.am.ProcessRecord.requiredAbi' on a null object reference
E AndroidRuntime: at com.android.server.am.ActivityMetricsLogger.logAppTransition(ActivityMetricsLogger.java:504)
E AndroidRuntime: at com.android.server.am.ActivityMetricsLogger.access$100(ActivityMetricsLogger.java:62)
Bug: 73626352
Change-Id: Idd50e0d2cf34e5393b4ae76ef8bc48b0067532eb
Log the apk optimization state for app transition events. This will allow
precise measurement of the events based on the level of optimizations
performed.
Test: manual, adb logcat -b events | grep sysui_multi_action
Bug: 73102540
Change-Id: Ia8ccddff4ebe4120e05bb5d1dfb1cd458fa61e8a
The boot image profile is available only on userdebug and eng builds and
combines the boot classpath and system server classpath.
Also, update ArtManager API to use Executors instead of Handlers.
(cherry picked from commit fcbb74a429)
Test: gts GtsAndroidRuntimeManagerHostTestCases
Bug: 30934496
Merged-In: Ie501947a659d644acbde04fb46157dd0c7944e81
Change-Id: Ie501947a659d644acbde04fb46157dd0c7944e81
Extend the installd profile interface to take the profile name as
argument. This shifts the responsibility for choosing the names of
profiles for primary apks completely to PackageManager. Each of the
application code paths will get an unique profile name based on their
split name.
All the profile operations will now work on a specific profile name rather
than assuming a default global name.
Also, move dumpProfiles and clearProfiles functionality to the
ArtManagerService so that we can re-use profileName computations easier.
(cherry picked from commit 6ae39fc2e5)
Test: manual (dexopt apps, merge profiles, clear profiles)
gts GtsAndroidRuntimeManagerHostTestCases
Bug: 30934496
Merged-In: Ie65d45eed7de0844edf4b7af918d7eaa74ec1f2c
Change-Id: Ie65d45eed7de0844edf4b7af918d7eaa74ec1f2c
This CL is an intermediate step to enable the use of profiles shipped in
the dex metadata files.
The preparation consist of:
- creating the current profile
- merging the profile from the dex metadata file (if present) into the
reference profile
and happens:
- after the application data directory is created, to capture system
apps.
- post-install (right before we dexopt), to capture any new code paths
(cherry picked from commit 3621be71d0)
Test: manual (install apps and splits, take OTA)
Bug: 30934496
Merged-In: Id36474ab629ad3ffafd24381d30e3d88ac02d576
Change-Id: Id36474ab629ad3ffafd24381d30e3d88ac02d576
'adb shell pm install' creates the PackageLite structure without
validating or renaming the input files to '.apk'.
Be more permissive in DexMetadataHeler when computing the size of the
package to allow for this scenario.
(cherry picked from commit 10b27eb2cc)
Test: atest
core/tests/coretests/src/android/content/pm/dex/DexMetadataHelperTest.java
Bug: 72267410
Merged-In: Ica446b0822be71826d02d01ada015a43d8133c68
Change-Id: Ica446b0822be71826d02d01ada015a43d8133c68