1377 Commits

Author SHA1 Message Date
Neil Fuller
d6a2135262 Remove FloatMath methods from the API
Also removing FloatMathTest. The tests are being
moved into a legacy CTS suite.

Bug: https://code.google.com/p/android/issues/detail?id=36199
Change-Id: I397fd6bcc4d988db6301245f9d47460bd6c28821
2015-05-07 13:16:18 +00:00
Matthew Williams
303650c9cd Add full backup criteria to android manifest
BUG: 20010079
Api change: ApplicationInfo now has a fullBackupContent int
where -1 is (off) 0 is (on) and >0 indicates an xml
resource that should be parsed in order for a developer
to indicate exactly which files they want to include/exclude
from the backup set.
dd: https://docs.google.com/document/d/1dnNctwhWOI-_qtZ7I3iNRtrbShmERj2GFTzwV4xXtOk/edit#heading=h.wcfw1q2pbmae

Change-Id: I90273dc0aef5e9a3230c6b074a45e8f5409ed5ce
2015-05-03 16:19:27 -07:00
Joshua Schwarz
6bb65f0d83 am a4edc82e: am 4547dac0: Fix one-off error in reporting.
* commit 'a4edc82e9b50189b187996e8c4f4e851bdf83893':
  Fix one-off error in reporting.
2015-04-28 21:09:13 +00:00
Joshua Schwarz
a4edc82e9b am 4547dac0: Fix one-off error in reporting.
* commit '4547dac01f3136393cc708bb49ff546413a45d6c':
  Fix one-off error in reporting.
2015-04-28 18:28:18 +00:00
Joshua Schwarz
4547dac01f Fix one-off error in reporting.
Change-Id: I5315e3d13b42285169e6c92cfcf9cf2ae9667018
2015-04-27 18:37:34 -07:00
Jeff Sharkey
620b32b316 Package and storage movement callbacks.
Since package and primary storage movement can take quite awhile,
we want to have SystemUI surface progress and allow the Settings
app to be torn down while the movement proceeds in the background.

Movement requests now return a unique ID that identifies an ongoing
operation, and interested parties can observe ongoing progress and
final status.  Internally, progress and status are overloaded so
the values 0-100 are progress, and any values outside that range
are terminal status.

Add explicit constants for special-cased volume UUIDs, and change
the APIs to accept VolumeInfo to reduce confusion.  Internally the
UUID value "null" means internal storage, and "primary_physical"
means the current primary physical volume.  These values are used
for both package and primary storage movement destinations.

Persist the current primary storage location in MountService
metadata, since it can be moved over time.

Surface disk scanned events with separate volume count so we can
determine when it's partitioned successfully.  Also send broadcast
to support TvSettings launching into adoption flow.

Bug: 19993667
Change-Id: Ic8a4034033c3cb3262023dba4a642efc6795af10
2015-04-23 20:32:17 -07:00
Ben Kwa
62539a220c Move extension checking code into FileUtils.
Move code for checking file extensions and MIME types from
ExternalStorageProvider into android.os.FileUtils, so it can be used by
other clients (e.g. DownloadsProvider).

BUG=20157955

Change-Id: Ib16a16af723c21fb8d2912c8917dfd68653ea6fa
2015-04-23 16:14:20 -07:00
Jeff Sharkey
529f91fc8e Always send volume UUID with installd commands.
Since packages can be moved to other volumes, all relevant commands
to installd now require an explicit volume UUID parameter.

Bug: 20275577
Change-Id: Ie84f5bc43c7aada5800b8d71692c7928b42b965e
2015-04-18 21:11:58 -07:00
Dmitriy Ivanov
5e4b823aa0 am 34f0fd23: am a04b4302: am b0557ace: Merge "Remove LOCAL_JNI_SHARED_LIBRARIES_ZIP_OPTIONS"
* commit '34f0fd239c456e4e064e4c14b768962292023800':
  Remove LOCAL_JNI_SHARED_LIBRARIES_ZIP_OPTIONS
2015-04-17 19:47:51 +00:00
Dmitriy Ivanov
811b7266fd Remove LOCAL_JNI_SHARED_LIBRARIES_ZIP_OPTIONS
It is no longer needed.

Change-Id: I1b5a58528507df35cc0792a18be5583e3605cbe0
2015-04-17 11:50:29 -07:00
Erik Kline
172cf02435 am 73e056d3: am 402f2501: am 3312c6b9: Merge "Add android.net.IpPrefix#contains()"
* commit '73e056d3931b419c2653eb7365fb72b50a9a36c3':
  Add android.net.IpPrefix#contains()
2015-04-14 09:58:38 +00:00
Erik Kline
acc8c09d3a Add android.net.IpPrefix#contains()
This was originally to avoid RuntimeException in RouteInfo#matches():
    When an IPv6 prefix with a length greater than the max permitted
    for IPv4 is matched against an Inet4Address, the call to
    NetworkUtils throws RuntimeException.

Change-Id: I92e2bd19a4e7d656cf682fd27678da07e211850d
2015-04-14 16:19:11 +09:00
Jeff Sharkey
b9f3674c11 Support moving apps to expanded storage.
Start deriving the data path for apps based on the volume UUID where
the app lives.  This path is used for all higher-level APIs, giving
us a clean place to switch app storage.

When parsing a package, keep track of the volume UUID where it lives
and update PackageSetting once installed.  For now continue treating
moves as installs, but we'll eventually clean this up to avoid the
additional dexopt pass.  Wire up move to use the new installd command
to move private data between devices.

Cache LoadedApk only for the current user, since otherwise the data
dir points at the wrong path.

Bug: 19993667
Change-Id: I53336e3b147d5fd3130e6800869af172b628da37
2015-04-10 00:24:03 -07:00
Dmitriy Ivanov
dec4688f40 Load libraries directly from apk
Introduced new 'extractNativeLibs' attribute to manifest/application.
 Setting it to false prevents installer from extracting library from apk.

 The default value for extractNativeLibs is true.

Bug: 8076853
(cherry picked from commit ff193d642eea7128faad837d19e347cd25212c27)
Change-Id: I1aa2c039bb2a590ae72f256acc9ba5401c2c59b1
2015-04-07 17:25:23 +00:00
Alex Klyubin
305ebe207a resolved conflicts for merge of 261e7a37 to master
Change-Id: If0a3389764965fe27bf567090a6e24069b61c544
2015-04-01 18:23:27 -07:00
Alex Klyubin
3f24a1d94a Cleanse HTTP, HTTPS, and FTP URLs in Uri.toSafeString.
This makes the hidden API android.net.Uri.toSafeString omit most parts
of HTTP, HTTPS, and FTP URLs to avoid leaking anything unsafe. Only
the host and port are retained for these URLs.

Bug: 19215516
Change-Id: I2e9e33d9afaa9de5dd07a40532d56f0a2179f62a
2015-04-01 13:09:22 -07:00
Fyodor Kupolov
262f9952e6 Support for nested bundles in setApplicationRestrictions
Added new restriction types - bundle and bundle-array.

Modified RestrictionsManager.getManifestRestrictions to support new
hierarchical restrictions.
Added RestrictionsManager.convertRestrictionsToBundle, which enables
programmatic conversion from a list of RestrictionEntries to a Bundle.

Modified read/write methods for application restrictions in UserManagerService.
Added unit tests.

Bug: 19540606
Change-Id: I32b264e04d5d177ea5b4c39a8ace5ee0ce907970
2015-03-30 17:59:07 -07:00
Wenchao Tong
98170b0db1 Keep debug information in NetworkStats files
Create two special SETs.

SET_DBG_VPN_IN is used by individual applications to know
how much traffic of the NetworkIdentity was actually moved
from a VPN app.
SET_DBG_VPN_OUT is used by the VPN app to know how much
traffic of the NetworkIdentity was deducted.

A debug application can restore the raw stats by these
entries.
  raw_traffic = recorded_entry (TAG_NONE, SET_ALL)
              + recorded_entry (TAG_NONE, SET_DBF_VPN_OUT)
              - recorded_entry (TAG_NONE, SET_DBF_VPN_IN)

The two debug SETs are not returned by
NetworkStatsService.openSession(). These debug entries are
retrieved by NetworkStatsCollection.dump().

Bug: 19536273
Change-Id: I03ef9f7667f5f2f48cbe3f6b11447fe7ead8ad3b
2015-03-27 13:49:13 -07:00
Wenchao Tong
041ca26d02 Merge "Create a Benchmark test for NetworkStats." 2015-03-27 20:43:34 +00:00
Wenchao Tong
7ae35a0242 Create a Benchmark test for NetworkStats.
Bug: 19536273
Change-Id: I438ed3affa799612566b04e324e43bc5ea74079f
2015-03-23 16:34:03 -07:00
Dmitriy Ivanov
ff193d642e Load libraries directly from apk
Introduced new 'extractNativeLibs' attribute to manifest/application.
 Setting it to false prevents installer from extracting library from apk.

 The default value for extractNativeLibs is true.

Bug: 8076853
Change-Id: I1aa2c039bb2a590ae72f256acc9ba5401c2c59b1
2015-03-21 11:46:11 -07:00
Lorenzo Colitti
e5ef28f509 Add two utility methods for IPv4 netmasks.
1. Add a validating method to convert a netmask to a prefix length.
2. Add a function to get the implicit netmask of an IPv4 address.
3. Add a unit test.

Bug: 19704592
Change-Id: Icb9f58d3903ea01df9e3720383c9bd5db6dd8f26
2015-03-20 16:32:34 +09:00
Wenchao Tong
8726e9a73e Merge "NetworkStats to support VPN accounting." 2015-03-12 22:10:56 +00:00
Wenchao Tong
21377c3af8 NetworkStats to support VPN accounting.
Create a new method to migrate underlying network traffic
from VPN app to other apps.

Bug: 19536273
Change-Id: I3434cad361592e26b01225edf8012f7b16afc98f
2015-03-09 11:38:10 -07:00
Yohann Roussel
bf5ad8d994 Fix handling of LOCAL_JACK_ENABLED
Change-Id: I5180aa6b685859b7855d0037f38178e906e21bd3
2015-02-23 17:38:58 +01:00
Yohei Yukawa
f487e0e395 Normalize deprecated 2-letter language code when necessary.
This is a follow up CL for I7d932e60311b80c05be8f02c9e803f18da0e0054,
which revealed that we could not use deprecated 2-letter code like "in"
to query subtype which has new language codes like "id".

This CL addresses the above issue by normalizing the language code
with Locale#Locale(String, String) before comparing one to another.

Change-Id: I26e3aa0333aa3c76c80a3c1c9090cc2b368c8e10
2015-02-21 02:26:40 +09:00
Yohei Yukawa
e72d1c8274 Add tests for Ibb9eb9f65323795d139 and I6571d464a46453934f0
This CL adds several unit tests for following CLs, both of which enabled
InputMethodUtils (and dependent IMF logic) to handle 3 letter language codes
and conversion from deprecated two-letter codes to new ones correctly.
- Ibb9eb9f65323795d139b16d76b7e7e36a4e0568c
- I6571d464a46453934f0a8f5e79018a67a9a3c845

As described in tests, the input method framework has already been able to
recognize 3 letter language codes.  However, there remain inconsistencies
when we use deprecated 2-letter code to query subtype like "in" but the
subtype has new language codes like "id".  Subsequent CLs are supposed to
address remaining issues.

bug: 10090157
Change-Id: I7d932e60311b80c05be8f02c9e803f18da0e0054
2015-02-20 23:41:36 +09:00
Fyodor Kupolov
bc26d2eafd Merge "RegisteredServicesCache now saves files to a user-specific dir" 2015-02-13 17:05:11 +00:00
Narayan Kamath
f129af204c Merge "Move apache specific portions of android.net.http to external/apache-http." 2015-02-13 09:51:44 +00:00
Fyodor Kupolov
259e761532 RegisteredServicesCache now saves files to a user-specific dir
Previously, its state was saved in a single xml file inside
/data/system/registered_services.

Services are now stored in separate files stored in a user-specific dir. A
one-off migration step was added, which runs, when the system discovers a
file in the old format.

Bug:19321135
Change-Id: Ie92be01047f4855d01352b6a304820b37344ae2c
2015-02-12 17:34:03 -08:00
Narayan Kamath
3bdd327f85 Move apache specific portions of android.net.http to external/apache-http.
We continue to compile external/apache-http into ext.jar. This contains
a few changes apart fom the classes moving around :

- Makefile changes to build docs and api-stubs for now. A future change
  will revert these changes and remove these classes from stubs and
  docs.
- Hardcode event IDs in legacyerrorstrings to avoid a dependency between
  the frameworks and apache. These strings are on their way out and will
  never change anyway.
- Remove imports due to {@link} tags and use {@code} instead.
- Remove an accidental(?) dependency on apache commons code that's a
  part of apache-http.

bug: 18027885

Change-Id: I51cd038d846ec7d02c283a4541b10a6a9cf62ecf
2015-02-12 11:15:49 +00:00
Alex Klyubin
05ecfd308d am 33d3c53d: resolved conflicts for merge of 517e0274 to lmp-mr1-dev-plus-aosp
* commit '33d3c53da021f0d044028860ace0f4ad817273f5':
  Move hidden ApplicationInfo flags into a separate field.
2015-02-11 20:47:31 +00:00
Alex Klyubin
33d3c53da0 resolved conflicts for merge of 517e0274 to lmp-mr1-dev-plus-aosp
Change-Id: Ic20b6c8851458483dd73a144bd5ae6e8d141e62a
2015-02-11 12:37:12 -08:00
Alex Klyubin
b9f8a5204a Move hidden ApplicationInfo flags into a separate field.
The public API field android.content.pm.ApplicationInfo.flags can
support only 32 flags. This limit has been reached. As a short term
workaround to enable new public flags to be added, this CL moves flags
which are not public API into a separate new field privateFlags and
renames the affected flags constants accordingly (e.g., FLAG_PRIVILEGED
is now PRIVATE_FLAG_PRIVILEGED).

The new privateFlags field is not public API and should not be used
for flags that are public API.

The flags that are moved out of ApplicationInfo.flags are:
* FLAG_HIDDEN,
* FLAG_CANT_SAVE_STATE,
* FLAG_FORWARD_LOCK, and
* FLAG_PRIVILEGED.

NOTE: This changes the format of packages.xml. Prior to this CL flags
were stored in the "flags" attribute. With this CL, the public flags
are stored in a new "publicFlags" attribute and private flags are
stored in a new "privateFlags" attribute. The old "flags" attribute
is interpreted by using the old values of hidden/private flags.

Change-Id: Ie23eb8ddd5129de3c6e008c5261b639e22182ee5
2015-02-11 11:06:40 -08:00
Fyodor Kupolov
9e0d81e843 Added unit test for RegisteredServicesCache
Minor refactoring of RegisteredServicesCache for testability. Added
RegisteredServicesCacheTest which uses a mock version of
RegisteredServicesCache.

Bug:19321135
Change-Id: If18b794b28f03b4bf4bbdfbba9e9a57e808aaebf
2015-02-10 14:05:12 -08:00
Yohann Roussel
de873a64c8 Merge "Adapt to change of LOCAL_USE_JACK values" 2015-02-05 11:01:36 +00:00
Yohann Roussel
f50a51fb4c Adapt to change of LOCAL_USE_JACK values
Also remove depency to the dx main dex list when building with
Jack.

Change-Id: I13e45dc8406a6a71309d151bf1542b1296c17792
2015-02-05 10:11:34 +01:00
Lorenzo Colitti
0aa7a1ca8e am b43e74bb: am 12b26c12: am 21702263: Merge "Add a unit test for StaticIpConfiguration."
* commit 'b43e74bbce46f2f328e2031a7ae3447f415ef9ca':
  Add a unit test for StaticIpConfiguration.
2015-02-05 02:41:31 +00:00
Lorenzo Colitti
b43e74bbce am 12b26c12: am 21702263: Merge "Add a unit test for StaticIpConfiguration."
* commit '12b26c12483633f7a75d1f1c9ead73eaf6056811':
  Add a unit test for StaticIpConfiguration.
2015-02-05 02:31:40 +00:00
Lorenzo Colitti
83faf72f84 Add a unit test for StaticIpConfiguration.
Change-Id: I68c735def8a242da0c8f95b7c5ea680ed902dab7
2015-02-04 17:28:35 +09:00
Jon Larimer
0f2d0dbac6 am 3a6d8f54: am 90d5bd8d: am feb362a5: am a0d3bfbe: am 5c9d0de1: am 545dd853: am 9a425aa7: am 159aa735: am d4031809: am 48c95c43: Fix build breakage in older branches by avoiding <> notation
automerge: ff526fa

* commit 'ff526fa7106fd45bfc4f1606fe051000c5201920':
  Fix build breakage in older branches by avoiding <> notation
2015-01-30 22:41:30 +00:00
Jon Larimer
ff526fa710 am 3a6d8f54: am 90d5bd8d: am feb362a5: am a0d3bfbe: am 5c9d0de1: am 545dd853: am 9a425aa7: am 159aa735: am d4031809: am 48c95c43: Fix build breakage in older branches by avoiding <> notation
* commit '3a6d8f5473f2451a0bdf13d4cc1d31e419d23f0c':
  Fix build breakage in older branches by avoiding <> notation
2015-01-30 22:40:17 +00:00
Jon Larimer
90d5bd8daa am feb362a5: am a0d3bfbe: am 5c9d0de1: am 545dd853: am 9a425aa7: am 159aa735: am d4031809: am 48c95c43: Fix build breakage in older branches by avoiding <> notation
* commit 'feb362a5d194b30226caf2efbaae77991007c65c':
  Fix build breakage in older branches by avoiding <> notation
2015-01-30 22:24:43 +00:00
Jon Larimer
a0d3bfbe87 am 5c9d0de1: am 545dd853: am 9a425aa7: am 159aa735: am d4031809: am 48c95c43: Fix build breakage in older branches by avoiding <> notation
* commit '5c9d0de174caf151937f19aa6898f60bce3fb4f4':
  Fix build breakage in older branches by avoiding <> notation
2015-01-30 22:11:56 +00:00
Jon Larimer
5c9d0de174 am 545dd853: am 9a425aa7: am 159aa735: am d4031809: am 48c95c43: Fix build breakage in older branches by avoiding <> notation
* commit '545dd853bffbf778a0a44816ac6ed381b13f2158':
  Fix build breakage in older branches by avoiding <> notation
2015-01-30 22:01:50 +00:00
Jon Larimer
9a425aa71c am 159aa735: am d4031809: am 48c95c43: Fix build breakage in older branches by avoiding <> notation
* commit '159aa73574804967aded45d06b70df5a8dd64a58':
  Fix build breakage in older branches by avoiding <> notation
2015-01-30 21:44:17 +00:00
Jon Larimer
159aa73574 am d4031809: am 48c95c43: Fix build breakage in older branches by avoiding <> notation
* commit 'd403180997898c98f0be15b810c4c9dd9002f92c':
  Fix build breakage in older branches by avoiding <> notation
2015-01-30 21:28:59 +00:00
Jon Larimer
48c95c4370 Fix build breakage in older branches by avoiding <> notation
Change-Id: I5e3d523dac1f364f52f0d2cab479c1705d667e5a
2015-01-29 15:54:43 -05:00
Jon Larimer
9570e144fe am ea63fd7f: am 88add689: am a5ccca24: am 2982d648: am de9a76ed: am fc731e6e: Merge "Fix ParceledListSlice to enforce the same concrete types among its elements." into jb-mr2-dev
* commit 'ea63fd7f9b4bb2701c9d12ab8775867dbdeefcf1':
  Fix ParceledListSlice to enforce the same concrete types among its elements.
2015-01-29 18:43:47 +00:00
Jon Larimer
ea63fd7f9b am 88add689: am a5ccca24: am 2982d648: am de9a76ed: am fc731e6e: Merge "Fix ParceledListSlice to enforce the same concrete types among its elements." into jb-mr2-dev
* commit '88add68942694fc643518bcf5c26f6c3df7e9aa0':
  Fix ParceledListSlice to enforce the same concrete types among its elements.
2015-01-29 18:36:59 +00:00