Commit Graph

13097 Commits

Author SHA1 Message Date
Robert Greenwalt
534054bc1b am e8af5e10: am 6d9ed0c3: Merge "DO NOT MERGE Debounce wifi country code Info" into klp-dev
* commit 'e8af5e10e04697acb26b47e5d60b99e5c61a020c':
  DO NOT MERGE Debounce wifi country code Info
2014-03-10 20:09:48 +00:00
Robert Greenwalt
6d9ed0c353 Merge "DO NOT MERGE Debounce wifi country code Info" into klp-dev 2014-03-10 20:04:10 +00:00
Greg Hackmann
5468a5c117 am 9e413bf4: am bbfc08b3: Merge changes I6d4fdada,Ia34899a4
* commit '9e413bf4e562d98b6efeb157369f152edd5f0261':
  open("/dev/rtc0") failure in AlarmManagerService.setTime() should be non-fatal
  Move time setting code from SystemClock to AlarmManagerService
2014-03-10 18:04:47 +00:00
Vinit Deshapnde
1a05cb2bcd am 5f683ca8: am 5243a760: Merge "DO NOT MERGE - Fix Airplane Mode + reboot interaction for Wifi" into klp-dev
* commit '5f683ca80611c3e98c91f631ee05dccf3e7e0227':
  DO NOT MERGE - Fix Airplane Mode + reboot interaction for Wifi
2014-03-10 17:57:13 +00:00
Vinit Deshapnde
5243a76045 Merge "DO NOT MERGE - Fix Airplane Mode + reboot interaction for Wifi" into klp-dev 2014-03-10 17:51:19 +00:00
Robert Greenwalt
fcbced38a6 DO NOT MERGE Debounce wifi country code Info
We're getting signals from the radio and it sometimes drops out for
a while.  This change will delay applying an empty country code
for 15sec but apply non-empty country codes immediately.  It uses a
sequence number so we only apply the most recent change, even if
it's delayed.

Also secures the wifi call to set the country code as we can't
allow apps to set it willy-nilly.

bug:11062898
Change-Id: I610039a833e26d4c5c8b7b9ac1b7546f3c83446a
2014-03-07 16:54:58 -08:00
Narayan Kamath
cde7868356 am b152473f: am 9fce8535: Merge "AArch64: Make AssetAtlasService 64-bit compatible"
* commit 'b152473f46d8176e7eb2c55b54342a7a29c525cf':
  AArch64: Make AssetAtlasService 64-bit compatible
2014-03-07 19:41:24 +00:00
Craig Mautner
81f6bccae1 am 23ef1b5e: am 16ea3e6a: Merge "A background started service is removed from mStartingBackground when timeout. Fix is to make sure mStartingBackground is updated to remove one."
* commit '23ef1b5e0b84e3bb726454b97846f91f2efad212':
  A background started service is removed from mStartingBackground when timeout. Fix is to make sure mStartingBackground is updated to remove one.
2014-03-07 19:40:33 +00:00
Jeff Sharkey
6101c3c8f3 am df47ecaa: am 02a64dae: Merge "Tethering: Skip link local addresses when enabling NAT"
* commit 'df47ecaa0973b80c9b97ef9ed3ad7abcfef361c7':
  Tethering: Skip link local addresses when enabling NAT
2014-03-07 19:39:49 +00:00
Jeff Sharkey
3f81ee6f54 am e6d256c5: am 234b0b03: Merge "Fix, MountService now only sends one onShutDownComplete"
* commit 'e6d256c50b0709378a5bfff0ae27eb7cf6cc3894':
  Fix, MountService now only sends one onShutDownComplete
2014-03-07 19:39:45 +00:00
Ben Gruver
24ad70598e am da379447: am 509a243c: Merge "Check the return value of listFiles on the ifw directory"
* commit 'da37944785c47b2b92c1a0f79c5d602256859fe6':
  Check the return value of listFiles on the ifw directory
2014-03-07 19:38:42 +00:00
Dianne Hackborn
cd8a7dee2e am 278fa87c: am 430652c1: Merge "Fix issue #13199860: PRE_BOOT_COMPLETED intent is..." into klp-dev
* commit '278fa87cc9a5e08d410c5b1e6c75afcffc22a988':
  Fix issue #13199860: PRE_BOOT_COMPLETED intent is...
2014-03-07 18:31:10 +00:00
Wink Saville
4ee594e305 am 16c0b295: am bba3a694: Merge "Telephony API extension v2"
* commit '16c0b295ef069e128a4e01fd2f72da06784950a1':
  Telephony API extension v2
2014-03-07 02:30:08 +00:00
Dianne Hackborn
c1349a9601 am 4ad93639: am 67754d93: Merge "Runtime resource overlay, iteration 2"
* commit '4ad93639d210297764db3ffcd870ff38464943de':
  Runtime resource overlay, iteration 2
2014-03-07 02:27:10 +00:00
Narayan Kamath
a3e2b70274 am 5c770dfb: am b823bd45: Merge "Use long to store pointers in ConsumerIrService"
* commit '5c770dfba2846ee173d147fd974f8e9f073c1534':
  Use long to store pointers in ConsumerIrService
2014-03-07 02:26:50 +00:00
Christopher Tate
8d6c33b426 am 379bb6ed: am ff27e6bc: Merge "Use canonical path for /vendor/app"
* commit '379bb6ed4ea4de035569b04018f84d7ce95a8036':
  Use canonical path for /vendor/app
2014-03-07 02:25:26 +00:00
Dan Sandler
3a7f24b349 am 6b1f3acd: am 6ea720ba: Merge "Make sure to turn off led after pulse()"
* commit '6b1f3acdf0f0806c0b3826d1c4ea43bd6cc6f021':
  Make sure to turn off led after pulse()
2014-03-07 02:25:00 +00:00
Brian Carlstrom
ac3b177cc1 am 2cd0563c: am 3038046b: Merge "frameworks/base: Rename persist.sys.dalvik.vm.lib to allow new default"
* commit '2cd0563cb8345747d3705d4f339a0800998767fe':
  frameworks/base: Rename persist.sys.dalvik.vm.lib to allow new default
2014-03-07 00:37:27 +00:00
Dianne Hackborn
529ae9e127 am 12caef78: am 71ab245a: Merge "Fix issue #11536426 DO NOT MERGE" into klp-dev
* commit '12caef7836a21fa20d052e4868df92e23b930cf6':
  Fix issue #11536426 DO NOT MERGE
2014-03-06 20:05:29 +00:00
Dianne Hackborn
52f610d248 Fix issue #13199860: PRE_BOOT_COMPLETED intent is...
...broadcasted repeatedly at every boot time

Remember the last done pre-boot receivers, so that if we have
a new pre boot receiver appearing (without the platform version
changing), when we re-write the file of done receivers it will
contain all of them, not just the new one.

Change-Id: I4ed3478edc549d4b023ec4b3719111bc4d970ae4
2014-03-06 10:52:05 -08:00
Dianne Hackborn
76c59a89e9 Fix issue #11536426 DO NOT MERGE
Permission denied when trying to launch an activity from a notification

We don't remove pending intents when updating an app, which is necessary
to keep app widgets and other things working.  However, when uninstalling
an app, we should clear out all of its pending intents.

Change-Id: I95067b31098115b5a7b127766fd093750063bbb8
2014-03-06 10:12:57 -08:00
Vinit Deshapnde
31727f8456 DO NOT MERGE - Fix Airplane Mode + reboot interaction for Wifi
This change fixes two problems - first, if you rebooted phone after
turning on Airplane mode, Wifi controller goes to ScanOnly mode which
may end up in Wifi radio transmissions. Secondly, because of this
incorrect state, the state machine doesn't turn on Wifi once Airplane
mode is turned off.

bug: 11409692
Change-Id: I55b4a5352a72a9c783e1b9891dd5363434585fb0
2014-03-05 17:14:49 -08:00
Dianne Hackborn
ea391750fb am 5e578e17: am 40a26004: Issue #13308712: Add --checkin to package manager dump.
* commit '5e578e17f4392d1baf41772ab45347bc8bcccc38':
  Issue #13308712: Add --checkin to package manager dump.
2014-03-05 23:11:07 +00:00
Dianne Hackborn
40a2600481 Issue #13308712: Add --checkin to package manager dump.
Change-Id: I50a559ea4bded47a792e1b5b319a5bbed41b4233
2014-03-05 11:00:54 -08:00
Robert Greenwalt
1c8ba7e551 am bad3a9e6: am 2d1e8c49: Merge "Only apply tcp buffer sizes for default net" into klp-dev
* commit 'bad3a9e66fb103ec96ea89ce9eff7270333d5926':
  Only apply tcp buffer sizes for default net
2014-03-05 18:31:18 +00:00
Robert Greenwalt
2d1e8c4958 Merge "Only apply tcp buffer sizes for default net" into klp-dev 2014-03-05 18:23:56 +00:00
Christopher Tate
c45ff35f21 am 1efc6e52: am 1d13f13d: Merge "Adapt to underlying changes in the PBKDF2 implementation" into klp-dev
* commit '1efc6e52d65389463ad52c32df02d68493df0f48':
  Adapt to underlying changes in the PBKDF2 implementation
2014-03-05 00:57:22 +00:00
Christopher Tate
a6c5915876 am f63ae644: am 1e995c76: Merge "Update PackageMonitor to recognize new \'replacing\' semantics" into klp-dev
* commit 'f63ae644a80ef2d0bd7bfb448eebb19691e4b6ec':
  Update PackageMonitor to recognize new 'replacing' semantics
2014-03-05 00:57:18 +00:00
Christopher Tate
1d13f13dea Merge "Adapt to underlying changes in the PBKDF2 implementation" into klp-dev 2014-03-05 00:51:33 +00:00
Robert Greenwalt
30a2bc87d4 Only apply tcp buffer sizes for default net
This may mean that secondary networks have bad network settings,
but currently default settings are overriden by secondary nets
which seems worse.

bug:13211589
Change-Id: I08d56e618208781bf6b21a88663c2b8503a4f226
2014-03-04 09:56:05 -08:00
Christopher Tate
28c8cfd762 Adapt to underlying changes in the PBKDF2 implementation
We need to specify "PBKDF2WithHmacSHA1And8bit" now in order to get precisely
the same output as was previously generated with "PBKDF2WithHmacSHA1".  We
also now try both when it's ambiguous which was used to generate the archive
checksums.

Bug 12494407

Cherry-pick from master.

Change-Id: I2d6081dd62f50f7d493045150b327ed120de7abd
2014-03-03 17:49:30 -08:00
Christopher Tate
88c908323a Update PackageMonitor to recognize new 'replacing' semantics
The ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE broadcast now uses the
EXTRA_REPLACING intent extra when it is sent as part of an upgrade operation
on a forward-locked application.  Update PackageMonitor to recognize this
new information and express it appropriately to the observer.

Bug 11988313

Cherry-pick from master.

Change-Id: Iecea1876ffc918f23f9fa5845f1f89ed8d740dd5
2014-03-03 17:40:41 -08:00
Mike Lockwood
da2bbaf219 am 2c7b913e: am 5daec5b5: Merge "UsbDeviceManager: Fix race condition entering USB accessory mode" into klp-dev
* commit '2c7b913e367670dde337893efd59029c054019fc':
  UsbDeviceManager: Fix race condition entering USB accessory mode
2014-02-25 15:41:11 +00:00
Greg Hackmann
38bf514668 Move time setting code from SystemClock to AlarmManagerService
On devices using /dev/rtc instead of /dev/alarm, updating the
time-of-day clock and RTC are separate syscalls.  Hence the clock and
RTC could be left in inconsistent states if two threads called
SystemClock.setCurrentTimeMillis() simultaneously.

By moving this code into AlarmManagerService, we can put a global lock
around AlarmManagerService.setTime() and prevent the race condition.

Note that access to SystemClock.setCurrentTimeMillis() is now gated by
android.permission.SET_TIME, where before it was gated by filesystem
permissions (i.e., could the process write to /dev/alarm or /dev/rtc).

Change-Id: Ia34899a4cde983656305fd2ef466dfe908ed23c8
Signed-off-by: Greg Hackmann <ghackmann@google.com>
2014-02-21 09:53:19 -08:00
Ashok Bhat
4de3f481bc AArch64: Make AssetAtlasService 64-bit compatible
Changes in this patch include

[x] Long(64-bit) is used to store native pointers in
    AssetAtlasService and related classes as they can be 64-bit.

[x] Some minor changes have been done to conform with
    standard JNI practice (e.g. use of jint instead of int
    in JNI function prototypes)

Change-Id: Ib4c77c134e3ad5b21732e20cde9a54a0b16bdab1
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2014-02-20 12:10:24 +00:00
Mike Lockwood
c62f918e0e UsbDeviceManager: Fix race condition entering USB accessory mode
When switching USB modes there are often spurious connect and disconnect events
that occur before reenumeration is complete.  There is currently a 1000ms timer
to "debounce" the disconnect events. But with some USB accessories, this timeout
is not long enough, which results in an endless cycle of attempts to enter
USB accessory mode when the phone is connected.

To fix this, we now wait up to 10 seconds for the host to successfully configure
the device when entering USB accessory mode before giving up.
This is separate from the existing debounce timer, so the behavior of the
USB state change broadcasts are not affected.

Bug: 12877769
Change-Id: I7aa61f8a618546d749a7ddfc97bf103029a73d03
2014-02-19 11:23:19 -08:00
Junu Kim
fcb87369b1 A background started service is removed from mStartingBackground when timeout.
Fix is to make sure mStartingBackground is updated to remove one.

Change-Id: I0e42beb550d33e6e400349b85bbb89848e18d520
2014-02-19 16:25:21 +09:00
Jeff Sharkey
02a64daefe Merge "Tethering: Skip link local addresses when enabling NAT" 2014-02-18 17:11:10 +00:00
Jeff Sharkey
234b0b037e Merge "Fix, MountService now only sends one onShutDownComplete" 2014-02-18 17:10:02 +00:00
Ben Gruver
509a243c2c Merge "Check the return value of listFiles on the ifw directory" 2014-02-14 21:15:50 +00:00
Ben Gruver
26c6b783d2 Check the return value of listFiles on the ifw directory
listFiles can return null if the directory doesn't exist

Bug: 10497143
Change-Id: Ie4cbdf18a259a9641669a4e6b9bf49b4879acc67
2014-02-14 13:07:11 -08:00
Wink Saville
bba3a694b8 Merge "Telephony API extension v2" 2014-02-13 04:26:33 +00:00
Dianne Hackborn
67754d93c4 Merge "Runtime resource overlay, iteration 2" 2014-02-11 21:29:58 +00:00
Narayan Kamath
b823bd4560 Merge "Use long to store pointers in ConsumerIrService" 2014-02-11 14:29:09 +00:00
Rickard Helldin
5fb5df0013 Fix, MountService now only sends one onShutDownComplete
The event onShutDownComplete are sent only when all
volumes are shutdown. (Not one for every volume.)

Change-Id: I6af521ee8285ca581efac7d3c5f013dfbff3ee30
2014-02-10 23:21:25 +09:00
Christopher Tate
ff27e6bc44 Merge "Use canonical path for /vendor/app" 2014-02-07 23:30:24 +00:00
Ashok Bhat
0d552f7d8b Use long to store pointers in ConsumerIrService
Change-Id: I4e6562b7dc09f87ad80b1e862b614a370d37feb5
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2014-02-07 18:12:23 +00:00
Dan Sandler
6ea720bacb Merge "Make sure to turn off led after pulse()" 2014-02-07 15:59:08 +00:00
Mårten Kongstad
48d22323ce Runtime resource overlay, iteration 2
Support any number of overlay packages. Support any target package.

UPDATED PACKAGE MATCHING
------------------------
In Runtime resource overlay, iteration 1, only a single overlay package
was considered. Package matching was based on file paths:
/vendor/overlay/system/framework-res.apk corresponded to
/system/framework-res.apk. Introduce a more flexible matching scheme
where any package is an overlay package if its manifest includes

    <overlay targetPackage="com.target.package"/>

For security reasons, an overlay package must fulfill certain criteria
to take effect: see below.

THE IDMAP TOOL AND IDMAP FILES
------------------------------
Idmap files are created by the 'idmap' binary; idmap files must be
present when loading packages. For the Android system, Zygote calls
'idmap' as part of the resource pre-loading. For application packages,
'idmap' is invoked via 'installd' during package installation (similar
to 'dexopt').

UPDATED FLOW
------------
The following is an outline of the start-up sequences for the Android
system and Android apps. Steps marked with '+' are introduced by this
commit.

Zygote initialization
   Initial AssetManager object created
+    idmap --scan creates idmaps for overlays targeting 'android', \
           stores list of overlays in /data/resource-cache/overlays.list
   AssetManager caches framework-res.apk
+  AssetManager caches overlay packages listed in overlays.list

Android boot
   New AssetManager's ResTable acquired
     AssetManager re-uses cached framework-res.apk
+    AssetManager re-uses cached 'android' overlays (if any)

App boot
   ActivityThread prepares AssetManager to load app.apk
+  ActivityThread prepares AssetManager to load app overlays (if any)
   New AssetManager's ResTable acquired as per Android boot

SECURITY
--------
Overlay packages are required to be pre-loaded (in /vendor/overlay).
These packages are trusted by definition. A future iteration of runtime
resource overlay may add support for downloaded overlays, which would
likely require target and overlay signatures match for the overlay to
be trusted.

LOOKUP PRIORITY
---------------
During resource lookup, packages are sequentially queried to provide a
best match, given the constraints of the current configuration. If any
package provide a better match than what has been found so far, it
replaces the previous match. The target package is always queried last.

When loading a package with more than one overlay, the order in which
the overlays are added become significant if several packages overlay
the same resource.

Had downloaded overlays been supported, the install time could have been
used to determine the load order. Regardless, for pre-installed
overlays, the install time is randomly determined by the order in which
the Package Manager locates the packages during initial boot. To support
a well-defined order, pre-installed overlay packages are expected to
define an additional 'priority' attribute in their <overlay> tags:

    <overlay targetPackage="com.target.package" priority="1234"/>

Pre-installed overlays are loaded in order of their priority attributes,
sorted in ascending order.

Assigning the same priority to several overlays targeting the same base
package leads to undefined behaviour. It is the responsibility of the
vendor to avoid this.

The following example shows the ResTable and PackageGroups after loading
an application and two overlays. The resource lookup framework will
query the packages in the order C, B, A.

        +------+------+-     -+------+------+
        | 0x01 |      |  ...  |      | 0x7f |
        +------+------+-     -+------+------+
            |                           |
        "android"                Target package A
                                        |
                       Pre-installed overlay B (priority 1)
                                        |
                       Pre-installed overlay C (priority 2)

Change-Id: If49c963149369b1957f7d2303b3dd27f669ed24e
2014-02-03 11:20:30 +01:00
Brian Carlstrom
c6c633608a frameworks/base: Rename persist.sys.dalvik.vm.lib to allow new default
Bug: 12798969
Change-Id: Ibb7ed86867e4dca53ad7fe33326b08e6f5e664c4
2014-01-30 13:16:48 -08:00