It was being given the argument and just... ignoring it.
But the bulk of this change is to make replacePreferredActivity
better about replacing -- it now detects if the request will not
make a change and, in that case, just do nothing.
The reason for this?
It turns out that each time you install an app, the telephony
system is calling this function over 20 times to set the default
SMS app. This is almost always doing nothing, but before this
change it means we would re-write packages.xml over 20 times...!
There are definitely more improvements that can be made here (delaying
write of packages.xml to allow them to batch together, reducing
the amount of calls being made), but until then this is a big
improvement.
Change-Id: I02c4235b8ecd5c13ef53e65d13c7dc2223719cec
Teams are constantly confused over which version of aapt
they are running. Include the build number from the
Android build system in the binary. Can be retrieved by executing
'aapt version'.
Change-Id: I9165c7d01f977344e143c2cb4dd963310ab28b72
If EMS is not supported, framework breaks down EMS into single segment
SMS and adds page info " x/y".
In the case of UCS2 encoding type, we need 8 bytes for this, but we
only have 6 bytes from UDH, so truncate the limit for each segment by
2 bytes (1 char).
Change-Id: Ieadb8d27d1cdf2f1e5322ec16c5a62d55e26bdfd
Move location selection logic into shared PackageHelper location,
and share it between DCS and PackageInstaller. Fix bugs related to
installed footprint calculation; always count unpacked native libs.
Have PMS do its own threshold checking, since it's fine to stat
devices. PMS only ever deleted staging ASECs, so move that logic
into installer and nuke unclaimed staging ASECs. Allocate legacy
ASEC names using PackageInstaller to make sure they don't conflict
with sessions.
Start wiring up session to allocate ASEC and pass through staged
container for installation.
Fix bug to actually delete invalid cluster-style installs.
Bug: 16514385
Change-Id: I325e0c4422fc128398c921ba45fd73ecf05fc2a9
Teams are constantly confused over which version of aapt
they are running. Include the build number from the
Android build system in the binary. Can be retrieved by executing
'aapt version'.
Change-Id: Ie4692fb160c7cbe720a8e76b73e435170214fe0e
Changing from UserHandle.getCallingUserId() to UserHandle.myUserId().
This makes the DocumentProvider work across users.
BUG: 16126891
Change-Id: I8ede64f2087894bb85eff5286803cdebd57e7137
1. We were missing a 'break' in the session-timeout case of
message dispatch, so were falling through into a different
case. Oops. Fortunately it was benign; the other case's
logic was merely logging "hey it doesn't look like there's
anything to do here" and cleanly exiting.
2. After a restore operation finishes we were previously
always leaving the session timeout clock running. However,
this was not appropriate in the case of restore-at-install,
when the restore was a one-shot kicked off by the package
manager rather than an operation on an ongoing RestoreSession.
That logic now properly tidies up the session timeout when
winding up the restore in either situation.
Bug 17080648
Change-Id: I51d4a50db4feefc4c355230a3bfb926ea2fb5944
...with grantUriPermissions (no user interaction required)
Add a new path in to the activity manager to start an activity as
if it was directy started by the original calling activity. This
is specifically for the resolver activity and chooser activity to
be able to safely launch its data after serving as an intermediary.
Access to the new method is highly restricted -- it can only be
called by an activity that is declared in the framework apk itself,
and the execute-as-the-caller behavior will only happen if the
code is running under the system uid. (This means we could still
have these run in the client's process in some cases and still work
correctly.)
Note there is some commented out code here half-done about trying
to propagate security exceptions back to the original calling
activity. This would be really nice, especially now with the
chooser activity running in a system process so any errors made
by the app (bad permission grants, bad intents, etc) no longer
actually appear in the app so are essentially invisible. I'd
really like to figure out a way to propagate these exceptions back
to the app, but this is hard since the app's process may no
longer even be running at this point.
Also tweak activity manager dump output to split the recents
dump out from activities, since recents can now be super large.
Change-Id: I50410c4783faf9302c69290589a068a846e0973a