Commit Graph

3306 Commits

Author SHA1 Message Date
Torne (Richard Coles)
08cfaf6726 Use the WebView's loader library to load the real library.
Load libwebviewchromiumloader and use it to load the real WebView
library, to enable sharing of the relro segment between different
application processes without requiring that the library be preloaded in
the zygote. A system service is added to track whether the relro segment
file has been prepared, and block loading of the library until it has
been.

Bug: 13005501
Change-Id: I846b37c7b8e2a4eb8a39e4fd455bccbb2048c173
2014-07-17 09:18:43 -07:00
Dianne Hackborn
fee756ff91 Implement issue #16330060: Inform ActivityManager about WebView...
...state changes.

Add a new API to tell the activity manager about a new dependency
one process has on another package.  Start using it already for
when apps is Context.createPackageContext() to load code from another
app.

Also do some work on getting the monitoring of proc/uid states
in shape so it can be used by unundled code, along with an
AppImportanceMonitor class for doing so.

Some small fixes and additions to VoiceInteractionService.

Improve handling of unaccounted/overcounted battery use so that
they aren't shown to the user unless they are significant.

Change-Id: I22dd79a73f4e70103d3f8964494aebc8a31f971c
2014-07-16 22:50:31 -07:00
Lorenzo Colitti
20ceb90373 Disable logging in NetlinkTracker.
This logging can get quite spammy in GoogleGuest, and there's
currently no reason to think it's necessary. Much of the same
information is available via "adb shell ndc monitor".

Bug: 16328180
Change-Id: I15a8348e261d6b69a4ef8bdaf8a2a431b1c2bc0d
2014-07-17 01:43:39 +00:00
Brian Colonna
a0ee004abf Bug 16152902: Disabling FUL in keyguard and screen lock settings
This is the framework change needed to switch from Face Unlock as
a standard unlock mechanism to Face Unlock as a trustlet.  This
forces isBiometricWeakInstalled() to return false such that neither
keyguard nor Screen Lock Settings thinks it exists.  This means FUL
is no longer a screen lock option.

If Face Unlock was already enabled and someone updates to this build,
the screen lock automatically switches to the backup lock.  That
functionality was already built-in so everything would continue to
work if Face Unlock decided to disappear from someone's device.

Change-Id: I407f6e1d75bfe40c7142c2508c2d68867e02d858
2014-07-16 23:53:21 +00:00
Fabrice Di Meglio
4c23cb1aca Fix LocalePicker background
- use the background defined by the Theme

See bug: #13140648 Settings needs to support the new Quantum Paper theme

Change-Id: I30f1146fbcb57088a62c999dce349d1f85510427
2014-07-16 23:44:15 +00:00
Jeff Sharkey
da96e137bc Parse more split APK manifest details.
Allow split APKs to define activities, services, receivers,
providers, and metadata.  However, support for many manifest items
are explicitly omitted.

Only dexopt split APKs that include code.

Bug: 14975160
Change-Id: I2fbf99e2a62328aa2185e5924755af33060282fc
2014-07-15 18:50:00 -07:00
Dianne Hackborn
fdb1956ff7 Fix issue #15681802: Missing RESET:TIME in complete battery histories
But wait, there's more!

- Keep track of sync durations in the aggregated stats.
- Add events for users that are running and in the foreground.
- Rework the activity manager's tracking of stuff using
  battery in the background to be based on proc stats, which
  allows it to be better about determing when it should reset
  its tracking of background work.
- Also add tracking of scheduled job execution, like we are
  doing for syncs.
- And once I started hooking battery stats in to
  JobSchedulerService, I found a few things I couldn't stop myself
  from changing: (1) make it very explicit that it doesn't start
  scheduling jobs until we have reached the point in system boot
  where third party apps are allowed to run, and (2) adjust
  the various for loops to not use iterators.

Change-Id: I69d812e27bcfee9e58a614f0f6b1c7545d7530b1
2014-07-15 14:48:48 -07:00
Fabrice Di Meglio
bd9152f6ee Update DatePicker widget and its related dialog
- the old DatePicker widget is still there for obvious layout compatibility reasons
- add a new delegate implementation for having a new UI
- use the new delegate only for the DatePickerDialog (which does not need to be
the same)
- added support for Theming and light/dark Themes
- added support for RTL
- added support for Accessibility
- verified support for Keyboard
- verified that CTS tests for DatePicker are passing (for both the legacy and the
new widgets)

Also added a new HapticFeedbackConstants.CALENDAR_DATE and its related code for
enabling day selection vibration

Change-Id: I256bd7c21edd8f3b910413ca15ce26d3a5ef7d9c
2014-07-15 20:26:21 +00:00
Ed Heyl
a50cd8d426 reconcile aosp (f908b61abf) after branching. Please do not merge.
Change-Id: Icd3f2c31aca8c9888c81da27eaeaffed07ec9820
2014-07-14 23:42:04 -07:00
Adam Powell
278902c982 Updated "with-default" layout added for ResolverActivity
Add a layout that promotes the last chosen activity to the top for
ResolverActivity. Alter ResolverActivity behavior as appropriate: Only
the last selected activity can be set as default. Different activity
selections take effect immediately. You can only set a default if it
was the last-used target of the intent.

Also add some default strings for invoking common intents to make the
no-title invocations a bit more user-friendly than just, "complete
action using."

Bug 15694906

Change-Id: I8c75d2f812926805c949cc76bab48aa4094e002f
2014-07-12 18:48:13 -07:00
Tadashi G. Takaoka
77cbcb6637 Make InputMethodUtils.getLanguageFromLocaleString public
Change-Id: I3e26eded21e59106a3b0edcf9ad05afbe9a30670
2014-07-12 16:08:20 +09:00
Adam Powell
b40484bb30 Correctly set the window callback for ToolbarActionBar
Bug 16134781

Change-Id: I88ec0c2b5dc23767ab0f198ab26601fd46b95628
2014-07-11 17:17:33 -07:00
Barnaby James
d3fdb8bed8 Add VoiceInteraction request type for successful actions.
Add CompleteVoiceRequest to VoiceInteractor to allow apps to indicate when a voice interaction was successfully completed.

Change-Id: I1481cfe96e9e2495d88a7a4fb62263bdd1e03c54
2014-07-11 10:34:50 -07:00
Narayan Kamath
4d8c132609 Allow 3 letter language codes in InputMethodUtils.
Replace locale.substring(0, 2) with a function that always
returns the first component of the locale (assumed to be the
language).

bug: 10090157
Change-Id: Ibb9eb9f65323795d139b16d76b7e7e36a4e0568c
2014-07-11 15:37:08 +00:00
Yohei Yukawa
7c940e94c9 Merge "Polish new IME API for L part 2: CursorAnchorInfo" 2014-07-10 21:43:01 +00:00
Zoltan Szatmary-Ban
c3b07a0c9c BatteryStatsHelper.refreshStats for multiple users
Battery usage list is now populated for apps belonging to a list of users or profiles.

Change-Id: Ie899af74a4b3a0f3cd6ae3c93394f01f4f54a5c7
2014-07-11 14:04:01 +01:00
Yohei Yukawa
0023d0e0c4 Polish new IME API for L part 2: CursorAnchorInfo
This CL addresses feedbacks from internal customers for new
input method APIs that are mainly used for physical keyboard
support in L.

For performance reasons, #onUpdateCursorAnchorInfo is not called
back by default and each input method has to enable this
event notification explicitly whenever fine-grained character
locations are needed.

In L-preview, InputMethodSession#setCursorAnchorMonitorMode was
introduced for this purpose.  However, we got several feedbacks
to be addressed.
- The effect of #setCursorAnchorMonitorMode is not preserved
  during focus change.  IMEs need to call
  #setCursorAnchorMonitorMode every time when #onStartInput is
  called.  This is tricky and hard to understand.
- As #onUpdateCursorAnchorInfo is a new API, not all
  applications/text editors have supported it. Therefore IMEs
  can't always rely on it. However, there is no way to query
  if the attached target is supporting this new API or not.
  It would helpful for IME authors if we can provide a
  reliable way to query if the attached input target is
  supporting the new API or not.

In order to address these issues, the triggering method has
moved from InputMethodSession to InputConnection in this CL,
as an analogy of existing InputConnection#getExtractedText API,
which has provided similar functionality including optional
reactive event callbacks from the application to the IME.

BUG: 15812658
BUG: 16118603
Change-Id: I3c6b69bd9d79b199afe68d838f25effa6048e5cc
2014-07-11 21:13:17 +09:00
Sandeep
d701820031 Always on hotword changes
Add model management API skeleton to VoiceInteractionManagerService
Add an "interactor" for all always-on APIs

- The VoiceInteractionService will get an interactor for the given
  keyphrase and locale.
- It can then check the availability and call methods to start and
  stop recognition on this interactor.

- Add a common class to deal with SoundTrigger APIs

- Cleanup the keyphrase representation:
  We now have separate representations for the keyphrase metadata and
  a keyphrase being used for recognition.
  This'll also help us to handle custom keyphrases in the
  future easily.
  This also ensures that for use within the framework,
  we rely on the ID of the KeyphraseInfo rather than comparing the
  text everytime.

Add a callback for the AlwaysOnHotwordDetector

This callback should be passed in by the VoiceInteractionService and is used to notify it
of recognition events.

Change-Id: I26252298773024f53a10cdd2af4404a4e6d74aae
2014-07-10 18:32:37 -07:00
Adam Powell
8e77c47d7c Merge "Elevation for action bars" 2014-07-10 20:54:59 +00:00
Adam Powell
14d1fa4ba7 Elevation for action bars
Expose theme attributes and API for ActionBar to adjust elevation of
the bar.

Remove the windowContentOverlay fake shadow from material themes and
use elevation instead.

Mmm, realtime shadows.

Bug 16207490

Change-Id: I254567a13422b6d2f657b9991608398885f45204
2014-07-10 16:23:39 -07:00
Alan Viverette
3d0f21dab8 API for inflating action bar menus against a different theme
BUG: 16162344
Change-Id: I5bf9f133de56a1830028bca6326cc2c50888a052
2014-07-10 16:15:35 -07:00
Narayan Kamath
ff110bd61a Multi-arch application installs.
Each application now has two ABIs, the primary
and the secondary. The app is always launched with
the primary, but the secondary might be used by other apps
that load the given applications code. This implies we
must:

- dex2oat the app both ways.
- extract shared libraries for both abis.

The former is relatively straightforward but the latter
requires us to change the layout for shared libs that we
unpack from applications. The bulk of this change deals
with the latter.

This change continues to fill in nativeLibraryPath during
scans for backwards compatibility. This will be removed in
a future patch.

Change-Id: Ia943dd11ef815c5cbfc60f17929eaa2a652a385a
2014-07-10 17:16:14 +01:00
Adam Powell
4f6c2050a8 ResolverDrawerLayout for ResolverActivity
Internal widget to allow nested scrolling of the grid of intent filter
targets. Initial logic complete.

Bug 15694906

Change-Id: Ib19723146bf1722db6bdd68f95cc6e623462d0f0
2014-07-09 23:16:15 -07:00
Dianne Hackborn
61659e5daa Add tracking of uid process states in battery stats.
We now keep track of how long each uid had processes in
various states: foreground, active, running.  This is based
on a collapse of the various activity manager process states
into these three bins.

You'll see these in a checkin like this:

8,10013,l,st,61504,61504,83109

Also fix issue #16021555: App showing up as on "top" even
when the screen is off.  This is "fixed" by just saying we
always report the current app at the top of the activity stack,
regardless of the state of the screen.

Change-Id: I1204904225101243eb00b43425d9806bffdd2ab9
2014-07-09 20:04:03 -07:00
Jim Miller
85516d028b Add new "pin complex" type to supported keyguard PINs
This adds a feature to allow DevicePolicyAdmins to prevent using
simple PINs, which are defined as those containing more than 3
repeated values. Examples include '1234', '2468', '1111', '9876', etc.

Bug 12081139

Change-Id: I4ebe1c76a48087dcd7c878e9bd79a4e3ee2a27fe
2014-07-10 01:54:49 +00:00
Jeff Sharkey
ec55ef0934 Extend pm to support sessions and split APKs.
Separate commands to create an install session, stream files into the
staging area, and then commit the install.  Streaming can accept data
from stdin across adb, avoiding extra copy from push.

Extend FileBridge to support blocking close().  Always destroy
session regardless of result.

Bug: 14975160
Change-Id: Ic3f462e7d1901079b785e210228950cdfa676466
2014-07-09 16:55:56 -07:00
Santos Cordon
0bae09fdde Move showCallScreen & isInAPhoneCall to PhoneManager.
Change-Id: I852da78ae80eba120932fb7acb1e5c3db2a8f18a
2014-07-09 18:53:41 +00:00
Jeff Sharkey
4ec2023349 Merge "Derive library path for upgraded system apps." 2014-07-07 17:47:39 +00:00
Jeff Sharkey
8d479b0c2d Derive library path for upgraded system apps.
Bug: 16156270
Change-Id: I368433063ff33d15129c8076ddc6f1e2a0963e54
2014-07-08 14:57:40 -07:00
Jeff Sharkey
8ffc231d8c Gracefully handle apps without native libraries.
Bug: 16148014
Change-Id: Ida23545046387b567744ee520baa4713e8403f30
2014-07-08 09:00:45 -07:00
Paul Lawrence
ba45bcb364 Fix DeviceManagerAdmin with empty password
Checked for null, but need to check for "" as well

Bug: 15832986
Change-Id: I3dc5d61717180180229f2395eef1dbe54d812d54
2014-07-08 19:23:09 +00:00
Jeff Sharkey
df972232c7 Merge "Teach DCS about cluster packages." 2014-07-03 01:26:58 +00:00
Jeff Sharkey
be520fba1e Teach DCS about cluster packages.
For the time being, DCS is going to still be doing heavy lifting for
some install tasks, so it need to know how to handle both monolithic
and cluster packages.  This change is mostly plumbing work to
eventually handle any various splits APKs that we may encounter.

Bug: 14975160
Change-Id: I39848d5666f9083cb4eca493e5cdaa868f3f99fb
2014-07-05 19:16:53 -07:00
Jeff Sharkey
0c54798aac Start removing ContainerEncryptionParams.
The new PackageInstallerSession APIs will allow installers to deliver
bits directly into system protected storage, so we no longer need
encrypted containers.

Change-Id: I8b598cb149b7dfd1d41e6626c1359610a573edf1
2014-07-05 15:49:07 -07:00
Jeff Sharkey
73767b9d60 Extract native code from split APKs.
In the new split APK world, multiple APKs work together to define a
single package.  This means that native code may be split among those
APKs.  To handle this, extend NativeLibraryHelper to examine all
APKs in a package ordered by splitName.

A package has valid native code as long as one matching ABI is found
inside.  The "best" ABI found across all APKs is picked for the
entire package.  No attempt is made to ensure that every native
library defined is available for the picked ABI; that's the
responsibility of the installer.

Re-introduce PackageLite to represent a lightweight parsing of an
entire package, which may be a single monolithic APK or a cluster
of one or more APKs.

Remove native code extraction from InstallerSession, since it'll be
handled inside PMS for this release.

Bug: 14975160
Change-Id: I4f4db0f82e88a46101c7777499ebc0a11fd911f9
2014-07-04 21:00:33 -07:00
Adam Powell
3f2cfb2d67 Merge "ResolverActivity revisions, phase 1" 2014-07-05 02:59:43 +00:00
Adam Powell
e9414d922d ResolverActivity revisions, phase 1
* Switch to grid formatting for items to choose from.

* Format the grid at the bottom of the screen instead of in a formal
  dialog.

* Move to newer theming.

Change-Id: Ie1b23800b3a521570f9f62e4cdef620d3fb491d8
2014-07-05 18:28:24 -07:00
Narayan Kamath
1359908de6 am 0cf2e65d: am 5ae312fb: am 759e0d6a: Merge "Fix LocalePicker locale filtering."
* commit '0cf2e65dc00e12c5a5e0d01fe9fd93b6712f366f':
  Fix LocalePicker locale filtering.
2014-07-04 10:34:18 +00:00
Narayan Kamath
0cf2e65dc0 am 5ae312fb: am 759e0d6a: Merge "Fix LocalePicker locale filtering."
* commit '5ae312fb5b601d2c60e197f94c6a292700776140':
  Fix LocalePicker locale filtering.
2014-07-04 09:22:57 +00:00
Narayan Kamath
759e0d6a7a Merge "Fix LocalePicker locale filtering." 2014-07-04 08:02:36 +00:00
Narayan Kamath
80b574199c Fix LocalePicker locale filtering.
This was broken by commit b27c137087 which
removed a badly phrased check. Prior to that commit,
there was a check that excluded locales whose toString()
length was not 5.

This change reinstates that check in a less roundabout
way, by excluding BCP-47 tags that don't have a country
subtag.

bug: 16038949

Change-Id: Ic24b1df87b2e2ce47d9ae04c7759088721f27b4f
2014-07-03 13:31:42 +01:00
Jeff Sharkey
57dcf5b177 Slow progress towards APK clusters.
Differentiate between "split APKs" and "cluster packages".  A cluster
package is a directory containing zero or more APKs (base+splits),
and a monolithic package is a single APK (base).

PackageSetting will use the directory name as its codePath, so track
the baseCodePath separately.  Clarify documentation in several
places.

Require that all installers provide file:// URIs through existing
hidden APIs; PackageInstaller hasn't been able to read content://
URIs for a long time.

Bug: 14975160
Change-Id: I1c6fed1b55205c2474b09871161a98a26669d22e
2014-07-02 19:03:54 -07:00
Narayan Kamath
dbbc070670 am e2840977: am 6e84f8c1: Merge "Fix native crashes when APKs can\'t be opened."
* commit 'e2840977d37e4d19425d448b54895536e43a2989':
  Fix native crashes when APKs can't be opened.
2014-07-02 12:18:45 +00:00
Narayan Kamath
4161316f25 am 94171212: am 104da1e4: Merge "Fix broken assumptions in LocalePicker."
* commit '94171212431a45346e40fd97bbe72422e71f04be':
  Fix broken assumptions in LocalePicker.
2014-07-02 09:54:22 +00:00
Narayan Kamath
6e84f8c1b9 Merge "Fix native crashes when APKs can't be opened." 2014-07-01 17:48:27 +00:00
Adrian Roos
fa10423fa0 Add stable insets for stable system windows
Adds a new kind of inset that only accounts for stable system
windows like the system or navigation bar.

Bug: 15457292
Change-Id: I681b711f6f40a94c25b7acd3a44eb3539486afab
2014-07-02 12:34:05 +00:00
Narayan Kamath
f29131f701 Merge "Fix native crashes when APKs can't be opened." 2014-07-01 19:11:01 +00:00
Narayan Kamath
cef0b39b92 Fix native crashes when APKs can't be opened.
There was lax / incomplete error checking around the
construction of Apk handles. This change changes the ApkHandle
API and makes it throw IOException if the zipfile couldn't
be opened.

Additionally :
- Fix a resource leak in DefaultContainerService
- Report errors correctly during package moves.

bug: 15563874
(cherry picked from commit ec4516470d)

Change-Id: Ia35b464355467d0d36faf34fae85acbbab3f2896
2014-07-02 12:43:52 +01:00
Narayan Kamath
4fe15b23dc am 4161316f: am 94171212: am 104da1e4: Merge "Fix broken assumptions in LocalePicker."
* commit '4161316f256c9cc047405a902bcfc17b3738b659':
  Fix broken assumptions in LocalePicker.
2014-07-02 10:11:12 +00:00
Brian Attwell
b6efe90b38 Allow ToolbarWidgetWrapper insetStart = 0
Change-Id: I8564cfe07b082e6edb3dc1569b3020f88d286d61
2014-07-01 23:20:30 +00:00