Commit Graph

35924 Commits

Author SHA1 Message Date
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
Justin Koh
744d3473f8 Merge "Add hardware feature describing a watch." into klp-modular-dev 2014-02-20 17:38:03 +00:00
Adam Lesinski
4b07b26e86 Merge "Make UsbService optional" into klp-modular-dev 2014-02-19 19:38:34 +00:00
John Spurlock
469301f7ed am 9dd87081: am 99873565: am ba231fca: Fix bad @links in PendingIntent.java
* commit '9dd87081e4bea9cd48db35fa82b3adeda37a34b5':
  Fix bad @links in PendingIntent.java
2014-02-19 13:51:00 +00:00
John Spurlock
9dd87081e4 am 99873565: am ba231fca: Fix bad @links in PendingIntent.java
* commit '998735652d2449e3ccbac7686b71bf40dca06e94':
  Fix bad @links in PendingIntent.java
2014-02-19 13:47:52 +00:00
John Spurlock
998735652d am ba231fca: Fix bad @links in PendingIntent.java
* commit 'ba231fcabfdf8f8bd72dbb428b8d35ae14a1a14d':
  Fix bad @links in PendingIntent.java
2014-02-19 13:44:14 +00:00
Justin Koh
b5731f091c Add hardware feature describing a watch.
Add hardware feature describing a watch so that hardware can specify that
it is a device that is worn on the body (perhaps the wrist).

Change-Id: I9d4cb7e86067f6ad41b39bcc545222b3b0fbf890
2014-02-18 18:12:24 -08:00
Craig Mautner
db0f3e825f Merge "Allow "opaque" flag to be updated. DO NOT MERGE" into klp-modular-dev 2014-02-18 23:56:53 +00:00
Andy McFadden
4f0a80d0b8 Allow "opaque" flag to be updated. DO NOT MERGE
Added a setOpaque() call and a bunch of comments.

Bug 12387406

Change-Id: Ic066cba926223f22f9bc56a7013987001d9cc795
2014-02-18 15:54:24 -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
Hui Lu
a24bec32bd Reconnect/teardown proxy network connectivity.
Change-Id: I9bf6f96883a2151fceef788e65d9a767d0f52c69
2014-02-18 16:52:36 -05:00
John Spurlock
ba231fcabf Fix bad @links in PendingIntent.java
Change-Id: I0a0014e17907f5cf16c3536a99e41efa9dafc963
2014-02-18 13:19:57 -05:00
Jeff Brown
3048191b4c Remove onCreate() method that should not be there.
Change-Id: I8355dd78f910afa9895d2fa00cb627a0885d9eec
2014-02-13 23:26:59 -08:00
Jeff Brown
567f7ca424 Refactor dream manager to new pattern.
Change-Id: I99ab4bd98d56a290368dc4b24e5bb24e0656b522
2014-02-13 23:26:59 -08:00
John Spurlock
c4aee98a62 Improve error handling in listener services.
Check explicitly for null listeners in NMS, throwing
IllegalArgumentException (on the small list of exceptions
that survive RPC boundaries) with a message.

Normally this situation is caused by listeners that attempt to
perform NM-related actions before they are bound.  Check for
this case in the base NLS class and avoid the call to NM if we
know it will fail.

Although it's tempting to throw an IllegalStateException on the
client side, preserve the existing semantics for backwards-compatibility
purposes.  That is, silently fail (or return null) - and provide a
log warning.

Bug:12805707
Change-Id: I0d92fd0d460a8592e8a23fd8fd718ae2ba3bd4c7
2014-02-12 14:31:36 -05:00
Jeff Brown
38f96e5020 Add support for injecting events into ActivityContainers. (DO NOT MERGE)
Modified ActivityView to inject touch events it receives back into
its activity container.  The container then injects the event into
the input system along with the display id of the underlying virtual
display.

Enhanced the input system to support concurrent dispatch of touch
events on multiple displays which is required for this to work.

Change-Id: I9cf1870db3be6f99a52ed9a1e3ceafe42c940093
2014-02-11 14:43:04 -08:00
Griff Hazen
dfcb0803bf Add local-only option to Notification (using flag)
Change-Id: Ic6d2f3b0cf06b58c0afa2af0fa6b245124424223
2014-02-11 12:00:00 -08:00
Jeff Brown
b880d880c6 Make SystemService constructor take a Context.
This change simplifies the process of initializing a SystemService
by folding the onCreate() step back into the constructor.  It removes
some ambuiguity about what work should happen in the constructor and
should make it possible for services to retain most of their final
fields after refactoring into the new pattern.

Change-Id: I25f41af0321bc01898658ab44b369f9c5d16800b
2014-02-10 20:01:43 -08:00
Griff Hazen
af745f6df7 Fix ActivityView layout bug.
Child TextureView should be positioned at origin of ActivityView,
with matching width and height. Previously, a container's padding
would be applied twice for example.

Change-Id: Ie0be10614a45aede4207abf986721385d04d8c76
2014-02-10 08:58:32 -08:00
Craig Mautner
4e5b67e695 Queue startActivity params if not yet ready.
If the ActivityView is not ready when the startActivity method is
called we now save the Intent until the ActivityView is ready.

Fixes bug 12821638.

Change-Id: I30ebb2699963f174cc2d5a3fb77a99ed33a4252b
2014-02-07 15:30:03 -08:00
Craig Mautner
df88d73092 Add IIntentSender to ActivityContainer.startActivity
PendingIntents and IntentSenders can now be launched. Still does not
work once the host activity has been paused and resumed.

Window manager TaskStacks now exist independently of Displays and app
windows persist after Displays are removed below them. Attaching the
stack to a new Display does not yet restore the windows to it.

Fixes bug 12747909.

Change-Id: I509007ee23fda400b353f483cf6ecce08177763b
2014-02-04 15:10:13 -08:00
John Spurlock
b6a4926c67 am 647db9fa: am 76ecd66a: am 0196e561: Fix typo in ImageView.java
* commit '647db9fae37b36d99ce290acfae7b453f00ae5af':
  Fix typo in ImageView.java
2014-02-03 17:24:05 +00:00
John Spurlock
647db9fae3 am 76ecd66a: am 0196e561: Fix typo in ImageView.java
* commit '76ecd66a6d5f8ceaebbe9cd109948f01aff4cd27':
  Fix typo in ImageView.java
2014-02-03 17:21:25 +00:00
John Spurlock
76ecd66a6d am 0196e561: Fix typo in ImageView.java
* commit '0196e561f280e6cc361442036da277a630e68558':
  Fix typo in ImageView.java
2014-02-03 17:18:37 +00:00
John Spurlock
0196e561f2 Fix typo in ImageView.java
Change-Id: Iaa7b020f09c893a5fe006a8523686dd8b9a8f872
2014-02-03 09:00:35 -05:00
Craig Mautner
56bf2f670c Merge "Clarify FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET usage" into klp-modular-dev 2014-01-31 19:23:36 +00:00
Craig Mautner
e1f3fa2482 Clarify FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET usage
Fixes bug 12592453.

Change-Id: Ib64559727d59b3433c3753f9fda88329effc7e26
2014-01-31 11:20:40 -08:00
Hui Lu
3cab7fc1b8 Merge "Add proxy as another network." into klp-modular-dev 2014-01-30 22:58:48 +00:00
Hui Lu
1c5624a012 Add proxy as another network.
Change-Id: I70cb6ac5604c4f0d6a752a291c40de2445ae98bb
2014-01-30 17:26:18 -05:00
Narayan Kamath
4a58714606 am 09d07d0d: am e3e4b405: am 9846fb69: am 50afaefd: Merge "AArch64: Make Binder and Parcel 64-bit compatible"
* commit '09d07d0d33d44fc87c02a8f607ecb7b96dbb4145':
  AArch64: Make Binder and Parcel 64-bit compatible
2014-01-29 10:54:26 +00:00
Narayan Kamath
09d07d0d33 am e3e4b405: am 9846fb69: am 50afaefd: Merge "AArch64: Make Binder and Parcel 64-bit compatible"
* commit 'e3e4b40577032f6fad38bfbeb9c2b40df89f0ef9':
  AArch64: Make Binder and Parcel 64-bit compatible
2014-01-29 10:51:51 +00:00
Narayan Kamath
e3e4b40577 am 9846fb69: am 50afaefd: Merge "AArch64: Make Binder and Parcel 64-bit compatible"
* commit '9846fb695a3c41aabde4ca0061d583b35f9621d1':
  AArch64: Make Binder and Parcel 64-bit compatible
2014-01-29 10:48:52 +00:00
Narayan Kamath
50afaefdc0 Merge "AArch64: Make Binder and Parcel 64-bit compatible" 2014-01-29 10:43:23 +00:00
Mike J. Chen
1ece04f37f Merge "BluetoothInputJava: Add broadcast action REPORT" into klp-modular-dev 2014-01-28 20:41:22 +00:00
Narayan Kamath
583b7b1671 am 39a789bf: am 7ae1726d: am aa9ba887: am 6e09eb4c: Merge "AArch64: Make graphics classes 64-bit compatible"
* commit '39a789bf6efd5c3478a442e60e896cae371fd04c':
  AArch64: Make graphics classes 64-bit compatible
2014-01-28 19:26:29 +00:00
Narayan Kamath
39a789bf6e am 7ae1726d: am aa9ba887: am 6e09eb4c: Merge "AArch64: Make graphics classes 64-bit compatible"
* commit '7ae1726d0b962878cce4c1fe6c814a315f253293':
  AArch64: Make graphics classes 64-bit compatible
2014-01-28 19:22:07 +00:00
Narayan Kamath
7ae1726d0b am aa9ba887: am 6e09eb4c: Merge "AArch64: Make graphics classes 64-bit compatible"
* commit 'aa9ba887371e875ffbde49f43fa12bb5f123425b':
  AArch64: Make graphics classes 64-bit compatible
2014-01-28 19:18:40 +00:00
Ashok Bhat
a0398430fc AArch64: Make graphics classes 64-bit compatible
Changes in this patch include

[x] Long is used to store native pointers 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)

[x] AssetAtlasManager is not completely 64-bit compatible
    yet. Specifically mAtlasMap member has to be converted
    to hold native pointer using long. Added a TODO to
    AssetAtlasManager.java to indicate the change required.

Change-Id: I940433f601c6db998c1a8ffff338f5361200d5ed
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
2014-01-28 17:40:38 +00:00
Mike J. Chen
d96d5cfffc BluetoothInputJava: Add broadcast action REPORT
It's returned by getReport() when callback data is ready.

Change-Id: I751c9e31de3d82a454a62cb8485a230e722b740d
Signed-off-by: Mike J. Chen <mjchen@google.com>
2014-01-27 17:55:40 -08:00
Mike J. Chen
bfa3f4fd5c Merge "BluetoothInputDevice: make REPORT_TYPE values match hal" into klp-modular-dev 2014-01-28 01:28:36 +00:00
Mike J. Chen
1b47f7cc1a BluetoothInputDevice: make REPORT_TYPE values match hal
So we don't have to do conversion when using getReport/setReport
and can pass the value to the BT HAL directly.

Change-Id: I8d4af72d2e040d43cc9ff8a8cddfbe6cc8cfdb9a
Signed-off-by: Mike J. Chen <mjchen@google.com>
2014-01-27 16:27:04 -08:00
Jeff Brown
df8b604e9b Merge "Fix NPE in deleteDatabase()." into klp-modular-dev 2014-01-28 00:09:42 +00:00
Jeff Brown
065d998a4c Merge "Hide an old debug function." into klp-modular-dev 2014-01-28 00:09:07 +00:00
Christopher Tate
86824cf0a9 am 3a3def13: am 0e8f02d6: am 76dcacad: am 1ff4293e: Merge "Fixed race condition in Spinner.DialogPopup on null reference."
* commit '3a3def1304b0fa9ed72003882716ad43e85b13d3':
  Fixed race condition in Spinner.DialogPopup on null reference.
2014-01-27 19:54:30 +00:00
Christopher Tate
3a3def1304 am 0e8f02d6: am 76dcacad: am 1ff4293e: Merge "Fixed race condition in Spinner.DialogPopup on null reference."
* commit '0e8f02d68f8cfe14e14800520a8133bc7efd13b7':
  Fixed race condition in Spinner.DialogPopup on null reference.
2014-01-27 19:48:03 +00:00
Christopher Tate
0e8f02d68f am 76dcacad: am 1ff4293e: Merge "Fixed race condition in Spinner.DialogPopup on null reference."
* commit '76dcacada75f192d74ea83cf6b5ce1747c9437ad':
  Fixed race condition in Spinner.DialogPopup on null reference.
2014-01-27 11:43:23 -08:00
Christopher Tate
1ff4293e33 Merge "Fixed race condition in Spinner.DialogPopup on null reference." 2014-01-27 19:29:56 +00:00
Jeff Brown
fce5890a11 Fix NPE in deleteDatabase().
If the directory containing the database does not exist then
listFiles() will return null.  Tolerate this situation instead
of crashing.

Bug: 12600784
Change-Id: I5d83a867a5e8478f50887e5798b42c5f6859b77c
2014-01-24 13:20:57 -08:00
Jeff Brown
8aca9e335f Hide an old debug function.
Change-Id: If12b967955847d257dac0431dabe0dca41865b58
2014-01-24 13:10:19 -08:00