15457 Commits

Author SHA1 Message Date
Dianne Hackborn
c71c901ad4 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 01:31:17 +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
Dianne Hackborn
7537487993 am ea391750: am 5e578e17: am 40a26004: Issue #13308712: Add --checkin to package manager dump.
* commit 'ea391750fbf78b395b414147dba6426ad907431d':
  Issue #13308712: Add --checkin to package manager dump.
2014-03-05 23:14:04 +00: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
Robert Greenwalt
bf9eec4c3b am 1c8ba7e5: am bad3a9e6: am 2d1e8c49: Merge "Only apply tcp buffer sizes for default net" into klp-dev
* commit '1c8ba7e551274782f3f61b90807711a056cc9730':
  Only apply tcp buffer sizes for default net
2014-03-05 22:14:46 +00:00
Christopher Tate
422b265674 resolved conflicts for merge of c45ff35f to klp-modular-dev
Change-Id: Id1799e49891dc72e2e9c55fd9f418ceee94a7875
2014-03-05 12:28:04 -08: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
8106dce705 am a6c59158: am f63ae644: am 1e995c76: Merge "Update PackageMonitor to recognize new \'replacing\' semantics" into klp-dev
* commit 'a6c59158761423551941f6ed338a117658e581ad':
  Update PackageMonitor to recognize new 'replacing' semantics
2014-03-05 01:00:50 +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
Will Haldean Brown
41044e5e8e Merge "Maintain binding to crashed listeners from NotificationManagerService." into klp-modular-dev 2014-02-28 22:26:17 +00:00
Will Haldean Brown
866b25425e Maintain binding to crashed listeners from NotificationManagerService.
This fixes the logic on the death handlers for notification listeners,
and doesn't unbind from the listener services so that the system will
bring them back up again.

Bug: 12587702
Change-Id: I44ce250e0e1c2583836dc823d9a333dabec51df9
2014-02-28 11:26:47 -08:00
Jeff Brown
4c7e6900c8 Make meaning of PowerManager.isScreenOn() more consistent.
The power manager sends SCREEN_ON and SCREEN_OFF broadcasts
purely based on the current wakefulness state.  In particular,
when the system is awake, we consider the screen to be on even
if the screen may actually be off due to the proximity sensor
or some other condition.  Likewise when the system is dozing
or asleep, we consider the screen to be off although technically
it may still be on and dozing.

This behavior is maintained for compatibility with applications
that interpret screen on / off as an indicator of user presence.

As it happened, the value of PowerManager.isScreenOn() did not
always match the state indicated by the broadcasts under certain
situations.  Instead, it was based on the desired screen state.
These states used to be closely correlated but the addition
of doze mode causes them to diverge in meaning.

One consequence is that wake events from input devices might not
always wake the device from sleep unless the display's power
state was actually DOZING or OFF even if the power manager's
wakefulness was already DOZING or ASLEEP.  This is now fixed.

Change-Id: Ie819c6d2c5a9ffaaf3101c5dee93ff72e9bc9f30
2014-02-27 21:17:34 -08:00
Craig Mautner
dd9ce6287e Merge "Clean up activities and displays when done" into klp-modular-dev 2014-02-25 18:46:01 +00:00
Craig Mautner
95da1087ed Clean up activities and displays when done
More maintenance fixes.

Fix bug 13157352.

Change-Id: Ic86d39a84452a1cf1dc1762cec517b419ad0a852
2014-02-25 10:40:18 -08:00
Mike Lockwood
0fc59cd958 am da2bbaf2: am 2c7b913e: am 5daec5b5: Merge "UsbDeviceManager: Fix race condition entering USB accessory mode" into klp-dev
* commit 'da2bbaf219117f7507c5c0015c41347a9cc27507':
  UsbDeviceManager: Fix race condition entering USB accessory mode
2014-02-25 15:44:24 +00: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
Jeff Brown
2326acb591 Merge "Fix typo that causes dreaming on battery." into klp-modular-dev 2014-02-25 00:27:41 +00:00
Jeff Brown
966604f159 Fix typo that causes dreaming on battery.
Bug: 13173012
Change-Id: I611970a5b4c4b0072ce52e3fc6a57dd3a0c075b3
2014-02-24 16:19:51 -08:00
Jeff Brown
f7f80d7b54 Merge "Start the dream manager even if dreams are not supported." into klp-modular-dev 2014-02-24 22:16:00 +00:00
Jeff Brown
e0dd3ca81d Start the dream manager even if dreams are not supported.
The dreams manager also manages dozing.  It has a minimal footprint
so there is no real reason to disable the component (it just makes
debugging more difficult).

Improved the documentation of the config_dreamsSupported resource
to clarify exactly what it controls.

Bug: 12494706
Change-Id: I78244846f7c1ddfd11bc1605af59b0db91337971
2014-02-24 14:07:27 -08:00
Craig Mautner
ffda464851 Merge "Fixes for ActivityView on home activity" into klp-modular-dev 2014-02-22 05:11:22 +00:00
Craig Mautner
12ff7391a1 Fixes for ActivityView on home activity
When the ActivityView is part of the home activity special checks
must be made. Things like don't move the home stack to the back
when the ActivityView activity is resumed.

Fixes bug 13119389.

Change-Id: I3a6040c9824dfd4b8ee97d58d131b14a519b470a
2014-02-21 21:08:00 -08:00
Craig Mautner
f0f454522a Merge "Reset deferred task removal when app token added." into klp-modular-dev 2014-02-22 00:50:55 +00:00
Craig Mautner
42bf39edbd Reset deferred task removal when app token added.
A task is scheduled for deletion after the final activity has
been removed and has animated away. But if another activity is then
added to the task the deletion flag must be reset.

Also added improved debugging.

Fixes bug 12987986.

Change-Id: I207ea6e9592a9e036d67aa5d1465b4acc5bdd120
2014-02-21 16:46:22 -08:00
Adam Lesinski
83930aa09a Merge "Fix broken IME when decrypting storage" into klp-modular-dev 2014-02-21 22:13:44 +00:00
Adam Lesinski
8793dd873d Fix broken IME when decrypting storage
Bug:13113499
Change-Id: Icf767864c8ff694fd569b9237ae1004cc20204a2
2014-02-21 14:06:47 -08:00
Craig Mautner
c2c0a61cf5 Add copyright notice to files missing them.
Fixes bug 13121968.

Change-Id: Ifd86581178e7e98bd72b832020e7c8379d40b2de
2014-02-20 20:25:41 -08:00
Craig Mautner
fd8a8ccbb7 Merge "Set the new SurfaceControl opaque flag." into klp-modular-dev 2014-02-20 22:36:52 +00:00
Craig Mautner
267b37ceff Merge "Resize DimLayer explicitly on rotation." into klp-modular-dev 2014-02-20 22:34:38 +00:00
Craig Mautner
902945d151 Resize DimLayer explicitly on rotation.
Using the alpha value to trigger a resizing of the DimLayer was a
Bad Idea. The alpha value should reflect the true alpha value and
not be used to trick the code. Actually changing the size and
position is a Better Idea.

Fixes bug 13101776.

Change-Id: I11c16b8276919ea85960fe87bb17c0956ce8a3b1
2014-02-20 14:31:32 -08:00
Jeff Brown
2687550272 Add a new "doze mode" based on Dream components.
When a doze component has been specified in a config.xml resource
overlay, the power manager will try to start a preconfigured dream
whenever it would have otherwise gone to sleep and turned the
screen off.  The dream should render whatever it intends to show
then call startDozing() to tell the power manager to put the display
into a low power "doze" state and allow the application processor
to be suspended.  The dream may wake up periodically using the
alarm manager or other features to update the contents of the display.

Added several new config.xml resources related to dreams and dozing.
In particular for dozing there are two new resources that pertain to
decoupling auto-suspend mode and interactive mode from the display
state.  This is a requirement to enable the application processor
and other components to be suspended while dozing.  Most devices
do not support these features today.

Consolidated the power manager's NAPPING and DREAMING states into one
to simplify the logic.  The NAPPING state was mostly superfluous
and simply indicated that the power manager should attempt to start
a new dream.  This state is now tracked in the mSandmanSummoned field.

Added a new DOZING state which is analoguous to DREAMING.  The normal
state transition is now: AWAKE -> DREAMING -> DOZING -> ASLEEP.
The PowerManager.goToSleep() method now enters the DOZING state instead
of immediately going to sleep.

While in the doze state, the screen remains on.  However, we actually
tell the rest of the system that the screen is off.  This is somewhat
unfortunate but much of the system makes inappropriate assumptions
about what it means for the screen to be on or off.  In particular,
screen on is usually taken to indicate an interactive state where
the user is present but that's not at all true for dozing (and is
only sometimes true while dreaming).  We will probably need to add
some more precise externally visible states at some point.

The DozeHardware interface encapsulates a generic microcontroller
interface to allow a doze dream for off-loading rendering or other
functions while dozing.  If the device possesses an MCU HAL for dozing
then it is exposed to the DreamService here.

Removed a number of catch blocks in DreamService that caught Throwable
and attempted to cause the dream to finish itself.  We actually just
want to let the process crash.  Cleanup will happen automatically if
needed.  Catching these exceptions results in mysterious undefined
behavior and broken dreams.

Bug: 12494706
Change-Id: Ie78336b37dde7250d1ce65b3d367879e3bfb2b8b
2014-02-20 13:39:13 -08:00
Adam Lesinski
4b07b26e86 Merge "Make UsbService optional" into klp-modular-dev 2014-02-19 19:38:34 +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
Craig Mautner
71dd1b6343 Set the new SurfaceControl opaque flag.
Converts surfaces from transparent to opaque and opaque to transparent
without creating a new surface. Uses the new SurfaceControl.setOpaque
method.

Fixes bug 12387406.

Change-Id: I669c064e622e211b00b1585183a488d5b3f4b778
2014-02-18 15:59:23 -08:00
Adam Lesinski
f5b3a01e54 Add fastpath for single signature comparison
PackageManager does not need to create a hash set
when comparing two sets of signatures, where each set
contains one signature. This is the common case for
most applications.

Bug:13029313
Change-Id: I61883d85960db7b376e234d7abae6149c4d20245
2014-02-18 15:31:41 -08:00
Adam Lesinski
2cb6c60c0d Make UsbService optional
Tweaked the services Android.mk to build dependencies
when building with mm[m].

Change-Id: I6dad511c652bcacc085f27ede5f8f22a6982c6bd
2014-02-18 14:57:09 -08:00
Adam Lesinski
3d9bcb90ee Create FEATURE_ constants for print and backup
Bug:13079822

Change-Id: I6f4b759951d45989e8aad4011fae431ee2ecae0c
2014-02-18 14:33:00 -08:00
Jeff Brown
567f7ca424 Refactor dream manager to new pattern.
Change-Id: I99ab4bd98d56a290368dc4b24e5bb24e0656b522
2014-02-13 23:26:59 -08:00
Craig Mautner
474f1fbe8d Merge "Don't null class member before using it." into klp-modular-dev 2014-02-13 19:14:17 +00:00
Craig Mautner
991146f8ef Don't null class member before using it.
Changing the order of detachStack() and usage of mDisplayContent
fixes NPE.

Fixes bug 12823709.

Change-Id: I04760b1d6fd5d3ffc49b99ca4acb47bf7e61cb46
2014-02-13 11:12:42 -08:00
Craig Mautner
0af894d251 Merge "Update DimLayer sizes on rotation." into klp-modular-dev 2014-02-13 19:02:02 +00:00
Craig Mautner
b660b9d8cf Update DimLayer sizes on rotation.
Required replumbing and updating the TaskStack bounds calculations
to match the new separation of TaskStack from DisplayContent.

Fixes bug 12780687.

Change-Id: I061c92831c06f4eb3e673ad6296e721b0c0f3202
2014-02-13 10:59:16 -08:00