When iterating a list backwards, one must decrement the index
rather than increment it.
Bug: 123562063
Test: test procedure given in bug
Test: tests/ActivityTests
Change-Id: I09d7bd045ff00291befe9d4e829d153f41a01a15
Rather than implicitly reusing the PackageInstaller status codes.
Bug: 112431924
Test: atest RollbackTest
Change-Id: I86929c0c1a5153c7f58e255e104b30fe96ddeca8
By passing a new causePackages list of VersionedPackage to
commitRollback and adding a RollbackInfo.getCausePackages() method to
retrieve the cause packages for committed rollbacks.
Bug: 112431924
Test: atest RollbackTest
Change-Id: I3b52511fd7e31b6304e7a7c34180dbb4d20f6dbf
When an app takes a long time to handle broadcasts, we start deferring
further broadcasts to it to make sure that other broadcast traffic in
the system can continue to make progress. Global delivery order is
technically rearranged, but delivery order from the point of view of any
given app remains consistent with issuance order.
When alarm broadcasts are issued, we prioritize delivery of deferred
alarms to the alarm recipients (i.e. we suspend the deferral policy and
catch up as promptly as possible) in order to minimize wake time spent
waiting for the alarm broadcast to be delivered. Once an app with a
deferred broadcast backlog is no longer the target of an in-flight
alarm, we re-impose deferral policy on it.
This policy intentionally trades off increased broadcast delivery
latency to apps that take a "long" time to handle broadcasts, in
exchange for lowering delivery latency to all other apps in the system
that would previously have had to wait behind the slow app.
In addition, broadcast dispatch policy parameters can now be overlaid
via the usual global Settings mechanism. In particular, configuring the
"bcast_slow_time" parameter to a value in milliseconds higher than the
queue's broadcast timeout period will disable the new slow-receiver
policies.
Bug: 111404343
Test: device boots & runs
Test: tests/ActivityTests
Change-Id: I76ac79bdf41ca3cfcc48515bca779ea0f5744c0b
To make it clear that the system only pays attention to the provided
rollback ID when committing a rollback.
Also, rename executeRollback to commitRollback in IRollbackManager.aidl,
now that we are touching the code anyway.
Bug: 112431924
Test: atest RollbackTest
Change-Id: I315e75c39019536fb2f090a0c84ed4cf7c03ce8c
When a package fails health check, observers will report the impact of their
action on the user. Only the observer with the least user impact will be
allowed to take action.
Bug: 120598832
Test: atest PackageWatchdogTest
Change-Id: I15f358cd599431e1d7ea211aea5b1391f4aa33ab
Depending on usage move into NetworkStackUtils or shared
Inet4AddressUtils.
Test: atest FrameworksNetTests NetworkStackTests
Bug: 112869080
(Cherry-pick of aosp/881952)
Change-Id: Ie20dcee375b377236004a7689890729493aca857
* changes:
Use "commit" instead of "execute" for rollbacks.
Rename PACKAGE_ROLLBACK_EXECUTED to ROLLBACK_COMMITTED.
Remove unused RollbackManager APIs.
Use RollbackManager.getAvailableRollbacks in RollbackTest
Use new RollbackManager API in RollbackPackageHealthObserver.
Add RollbackManager.getAvailableRollbacks API.
Include all relevant packages in RollbackInfo.
Which makes more sense for rollback of staged installs, where the caller
will have to reboot the device before the rollback takes effect.
Internal references to "execute" in IRollbackManager.aidl and the
rollback manager service implementation will be renamed in a follow up
CL.
Bug: 112431924
Test: atest RollbackTest
Change-Id: Ic2bb479873b309fc145e4eda3b347849ac219ac9
Because there's no need to distinguish between package and other kinds
of rollbacks, and for rollback of staged installs, committed is a more
appropriate name than executed.
Bug: 112431924
Test: atest RollbackTest
Change-Id: I2a409de29ba82a7a3df2fd0b17f939795caa61d5
Instead of getAvailableRollback and getPackagesWithAvailableRollbacks,
which are soon to be removed.
Bug: 112431924
Test: atest RollbackTest
Change-Id: Ia69342a41bebb91a9fa8044ef8d8b495aba7187f
Build the test .so for all ABIs and then pick the right one to load at
runtime. (The executable doesn't need this, since it runs in its own
process.)
Bug: 123281572
Test: atest DexLoggerIntegrationTests
Test: atest DexLoggerIntegrationTests -- --abi armeabi-v7a
Change-Id: I0696ef75e42834b13524abde619dc0f8e79c8363
Instead of a single target package. Needed for rollback of multiPackage
installs.
Additionally, expose this information by a public method rather than a
public field.
Bug: 112431924
Test: atest RollbackTest
Change-Id: I6e3ce87385abd37c48047db27bc443d3719ee023