Defines a new PackageInstaller class that will be used for installing
and upgrading packages. An application desiring to install an
application creates a session, stages one or more package files in
that session, and then kicks off the install.
Previously, PackageManager would always make its own copy of a package
before inspecting it, to ensure the data could be trusted. This new
session concept allows the installer to write package data directly to
its final resting place on disk, reducing disk I/O and footprint
requirements. Writes are directed through an intermediate pipe
to ensure we can prevent mutations once an install has been initiated.
Also uses fallocate() internally to support optimal ext4 block
allocation using extents to reduce fragmentation.
Sessions are also the way we support installing multiple "split" APKs
in a single atomic operation. For a set of packages to form a valid
application, they must have exactly the same package name, version
code, and certificates. A session can also be used to add a small
handful of splits to an application by inheriting existing packages
when not performing a full install.
Add PackageParser support for extracting split names and certificates.
Bug: 14975160
Change-Id: I23d1bf4fbeb9f99a8c83be0c458900a0f0d1bccc
At present the network evaluation / captive portal detection
is disabled pending addition of API to bind socket to network.
Change-Id: I5d1f5dc86d4dd9481d52dd45d6da0732054c8315
NetworkFactory and NetworkAgent. First trying with wifi and
getting rid of WifiStateTracker.
Conflicts:
api/current.txt
services/core/java/com/android/server/ConnectivityService.java
Change-Id: I7f0ec13d7d8988b32f3c6dc71f72012f3349fe02
This is a protocol allowing transports to dynamically register with CS for
Handler to Handler communications.
bug:13885501
Change-Id: Ic7275e3724a15efc7e5f80981560c4cb3106007b
Leanback themes override AlertDialog styles from other themes.
Makes system alert dialogs, and alert dialogs from games running on ATV,
have a style more appropriate to television.
Final visuals pending.
Side button layout fixes DatePickerDialog and TimePickerDialog with
dpad navigation.
TODO: consider using side button layout for other AlertDialog cases
(long messages and lists).
Change-Id: I74e4e04d16d6854377580be95a87684a0385b04b
When an intent is sent to another profile:
For content uris contained in this intent:
The userId of the source user is added to the userInfo part.
The ActivityManagerService has been modified to resolve resources in the user specified by the uri.
The user id to which the uri belongs to is stored in the UriPermission.
Change-Id: I43dc76895aba692bf148d276253aeaf9c75fce34
- Generate currently active events when a partial
history is requested.
- Tag wake lock release with the wake lock name if it is
different than the one that was acquired.
- New RESET mark for the start of the history.
Change-Id: Ic105656649c46f52855946ed0ad7f98f1d24dedc
Added an ordered list of notifications (n.b. a complete ordering).
Added a mechanism for ranking to be updated asynchronously
Added onNotificationRankingUpdate to NotificationListeners
Added an opaque order update object and a convenience comparator that
uses it to sort notifications for listeners
Repurpose scorers to be ranking preprocessors. The preprocessors will
perform heavy-weight validation of the notification object and memoize
the results to improve efficiency of the ranking comparator.
Current internal comparator implements status quo ordering, except
that notes with a valid contact sort to the top of their priority
bucket.
Change-Id: I7244c65944a9657df41fb313b3cb5a52e149709d
This CL introduces a new API IMM#updateCursorAnchorInfo for
floating window support.
BUG: 14579622
Change-Id: I61dec2f8fa671ba891da1d4af08975750e3acb04
Start reworking the usage stats service to be able
to have an API we can publish.
The basic information it keeps is still the same, though
that will be changing in the future. The one big addition
here is that we are also now collecting configuration usage
stats.
Also introduce the start of an access model for usage stats,
using app ops. There is an new app op that gives an application
access to usage stats even if it normally wouldn't have it,
disabled by default.
Change-Id: I6ead28e18a7f08eafd057d6ff37dd9cb216358f4
Activities launched from the chooser activity will now appear in
their own tasks which will be automatically removed from recents
when they are finished.
Also qualified application of new flags with null check and
Action check. Must be either ACTION_SEND or ACTION_SEND_MULTIPLE.
Fixes bug 14463859.
Fixes bug 14633773.
Change-Id: I8832462163958f6a43bc4c6a020f78948ce70ac3
New API introduced here: Notification.color (and
Builder.setColor()), allowing apps to specify an accent
color to be used by the template. The Quantum templates
(which are now the only kind we support) use this when
creating a circular background to draw behind the smallIcon
in the expanded form.
Additionally, the quantum and legacy templates are no longer
in superposition; all apps using Builder will get quantum.
Change-Id: Iac5e2645cc5c2346ed458763f2280ae9c6368b62
This change implements basic functionality of WifiScanner. Following
functionality is enabled
1. Scanning - specify a list of channels to scan
2. Significant change detection
3. AP hotlist
Change-Id: Ieef75b96bdbbd3c7d9b9e698bd16e64d3b465254
verify the user's gesture took up at least 40% of the screen
before dismissing
Part of b/14319825 Cliff guard against accidental card dismissals
Works in conjunction with GridViewPager change:
https://googleplex-android-review.git.corp.google.com/#/c/461036/
Change-Id: Id8ff02d0a2d727b54c9950ad14ddef7a110f4eef
Add a flag to indicate that the IME should be shown. This follows
the continuous ime notification boolean, and if there are multiple
input methods to choose from enabled. This way the notification
and navigation button show up under the same circumstances (but
not on the same devices).
Change-Id: Ia6a2253061f1876f4bcc511de48c1078e9d96be5
Fixes an issue where dozing was treated the same as the screen
being fully on. Now dozing is treated the same as the screen
being fully off which is slightly better. The decision of how
to represent this state is now internal to the battery stats
so it can be improved later.
Removed noteInputEvent() since it is unused.
Bug: 14480844
Change-Id: Iee8cf8dce1a1f91c62678bb6d3d9fe567ad6db42
Fixes an issue where dozing was treated the same as the screen
being fully on. Now dozing is treated the same as the screen
being fully off which is slightly better. The decision of how
to represent this state is now internal to the battery stats
so it can be improved later.
Removed noteInputEvent() since it is unused.
Bug: 14480844
Change-Id: Iee8cf8dce1a1f91c62678bb6d3d9fe567ad6db42
This makes VoiceInteractionSession a more first-class
concept. Now the flow is that a VoiceInteractionService
calls startSession() when it wants to begin a session.
This will result in a new VoiceInteractionSession via the
VoiceInteractionSessionService containing it, and the
session at that point an decide what to do. It can now
show UI, and it is what has access to the startVoiceActivity
API.
Change-Id: Ie2b85b3020ef1206d3f44b335b128d064e8f9935
Adds new types to public API:
* ColorSpaceTransform
* Range<T>
* SizeF (android.util)
* MeteringRectangle
Minor changes to:
* Size (docs and move to android.util)
* Preconditions (@hide)
Adds helper class:
* HashCodeHelpers
Change-Id: Ied6749a19234f3af9da838f365f8d68d90251aaf