Don't force resize activity whose manifest attribute has
resizeableActivity set to false at the application tag level.
Fixes: 36704475
Test: Launch an app that disables resizeableActivity at the app level
in multi-window mode.
Change-Id: I73137175290355266a4d3ecc469e7a39d73dbc62
Rather than require an a-priori Notification be supplied in order to
start a service directly into the foreground state, we adopt a two-stage
compound operation for undertaking ongoing service work even from a
background execution state. Context#startForegroundService() is not
subject to background restrictions, with the requirement that the
service formally enter the foreground state via startForeground() within
5 seconds. If the service does not do so, it is stopped by the OS and
the app is blamed with a service ANR.
We also introduce a new flavor of PendingIntent that starts a service
into this two-stage "promises to call startForeground()" sequence, so
that deferred and second-party launches can take advantage of it.
Bug 36130212
Test: CTS
Change-Id: I96d6b23fcfc27d8fa606827b7d48a093611b2345
(cherry picked from commit 79047c62b5)
This fixes two issues:
1) Isolated processes spawned by Instant Apps do not get full access to
package lists as those spawned by normal apps do
2) Package manager considers the isolated process the same app as the
Instant App that created it when determining what packages are exposed.
Bug: 34087569
Test: Webview works
Test: Isolated apps cannot access package info of other apps via start
an isolated service.
Change-Id: Ib26280b87fb46dc66f1f25ee6209427a095342b0
The instant app installer is not designed to be launched directly
by 3p apps. Instead, intercept the launch and make it look like
a "normal" instant app launch.
cherry-picked from I89c9b8c56865e260a2b92f8c2312a305a74f9cf5
Bug: 33073524
Test: Built and notice poorly behaving apps [*cough* keep *cough*] now launch instant apps
Change-Id: I5401aa8423042f54f1478409065b0d6b25cebe89
cherry-picked from I9e2046b62cb20c5b6651e91f833aff04d45d9800
Bug: 35946061
Test: None; just added an annotation
Change-Id: I604f962b9826700c335eeda9682d3354f6260c40
MATCH_DISABLED_COMPONENTS should be part of ApplicationInfoFlags.
cherry-picked from If6a925c156192ee4663f0cb66d82fc03a86940d6
Change-Id: I048635ff0938f2772d5702de7eb4bc4812ece605
Fixes: 34969805
Test: None; updating annotation
This Intent will be used in Settings to show the settings UI for the
Ephemeral resolver. Settings can get the correct component to send the
Intent to by calling
PackageManager.getInstantAppResolverSettingsComponent
Bug: 35918998
Test: Boots
Change-Id: I0edcf85704f2c19e0ee27f91b6ef057d52e32778
(cherry picked from commit aa49cb86e6)
When SyncManager's scheduling races with an app with a sync
adapter being uninstalled, it can get an IAE from PackageManager.
Catch this exception and skip over the job.
Bug: 36658118
Test: Manual
Change-Id: I0a63a3e0aa19cb5685aa18c7c6c9d6dd6ccfd60a
Ignore maxAspectRatio values less than 1.0 and set it to 0 which
means use device aspect ratio.
Change-Id: Ib2c76f6232e3f7521a1a4565d7c0c9e1de9c9eac
Fixes: 36606641
Test: cts/.../run-test CtsAppTestCases android.app.cts.AspectRatioTests
- Allows an app to specify the maximum aspect ratio it supports.
- Support for overriding configuration and bounds at the activity
record and app window token level.
Test: cts/.../run-test CtsAppTestCases android.app.cts.AspectRatioTests
Test: bit FrameworksServicesTests:com.android.server.wm.WindowContainerTests
Test: bit FrameworksServicesTests:com.android.server.wm.WindowFrameTests
Bug: 36505427
Bug: 33205955
Bug: 35810513
Change-Id: Ib2d46ed0c546dd903d09d6bb7162a98bd390ba81
Added deletePreloadsFileCache that can be called from settings app.
Modified freeStorageAndNotify to call deletePreloadsFileCache if the
cache has expired, or aggressive flag is set.
Bug: 34690396
Test: Manual
Change-Id: Ia097cd2f62ad501644be1c2cc573c249d8cfbf55
Until now we were reusing the font tags, but it is not needed,
we can declare the list of fonts to preload with a simple
resources array.
Test: manual
Bug: 36119246
Change-Id: I39819018012c322aff62e13aa69ab35467be57ac
The certs needed to identify non preinstalled providers
can now be declared in XML, using a resources array.
Test: runtest --path frameworks/base/core/tests/coretests/src/android/provider/FontsContractTest.java
runtest --path frameworks/base/core/tests/coretests/src/android/content/res/FontResourcesParserTest.java
Bug: 35025705
Change-Id: Ibf12ad409aa5a873ddb32b1383c147728e664c23
ClipData is much more flexible, and it should be used instead of
EXTRA_STREAM moving forward. To ensure that legacy apps continue
working, the OS will offer to promote/demote the ClipData value
from/to EXTRA_STREAM. (We already had the promotion logic, but we
were missing the demotion logic.)
Test: builds, boots
Bug: 35293781
Change-Id: I82cd0b95cf021292282649290ab046cc310fe160
Help guide developers towards ACTION_OPEN_DOCUMENT and related
APIs when a Uri is backed by a DocumentProvider.
Also help developer understand that we expected a valid
ContentProvider for Uri notifications.
Test: builds, boots
Bug: 32642790, 36075317
Change-Id: I8e0e3cb25b183c4a9a094a53018822a4212bdaf9
Change-Id: I3d5f7f086c4da8d383f18f45e9510eea1db88c03
Fixes: 36479185
Test: Locally modify ephemeral cts tests to use <meta-data> and run 'cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest'
When an instant app is installed, control passes from the platform
to the instant app installer. However, when the instant app is
launched, the original launch token needs to be associated with that
launch. Do this by sending the launch token along with the original
launch intent
Change-Id: I5741be343862d4e5c8bfb6b4a81d0bac8e53ea9c
Fixes: 35445667
Test: Build and manully inspect the event logs to ensure the launch token is sent on instant app launch
Added descriptions of features that have been added or have changed
within the ShortcutManager class.
Bug: 34685739
Change-Id: I45ef30010f696604c06ce2cd7e2eca1db012e68b
Symptom: preloaded drawables few
Root Cause: all Java-side usages of config flags Must use Java flags
Solution: all Java-side usages of config flags Must use Java flags
Project: N70
Note:
Test: No
Fixes: 36448068
Change-Id: Iba4ac0067405bf1605cb1a98aa4dfc6263bbe5f8
The system is often willing to clear cached data to make room for
incoming installs, so use StorageManager.getAllocatableBytes() when
making "does it fit?" style decisions.
Add new INSTALL_ALLOCATE_AGGRESSIVE flag, which will flow through
to use StorageManager.FLAG_ALLOCATE_AGGRESSIVE when making allocation
related requests. (This can be used by installers to indicate
packages that are critical to system health or security.
Test: runtest -x frameworks/base/core/tests/coretests/src/android/content/pm/PackageHelperTests.java
Bug: 36131437
Change-Id: If8118762fd1ca1f497d2cdd1787bdb3c9759dcc0