679 Commits

Author SHA1 Message Date
Jeff Brown
10102e4c0e resolved conflicts for merge of baaa080b to master
Change-Id: I3ee12321e298f7a2ea577a99f30c49f3bb497fae
2014-02-20 18:05:03 -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
RoboErik
3328868544 Merge "Initial round of MediaSession APIs" 2014-02-20 00:25:10 +00:00
RoboErik
01fe661ae5 Initial round of MediaSession APIs
This is far from complete but puts the basic components in place
for an app to interact with media sessions.

Change-Id: Icfe313f90ad76ae56badbe42b0e43fc5f68db36f
2014-02-19 13:41:37 -08:00
Sailesh Nepal
f86a9221a4 Delete Third Party Call APIs
Change-Id: I6121c53362804a228e0316a1666b5032817530ab
2014-02-18 17:04:10 -08:00
Dirk Dougherty
5da502a5b2 am b9378d81: am 321cd18a: am 820bb4bd: am 9c50271d: am 257f6724: am 35cb4e49: Doc change: add new samples TOC groups and landing pages.
* commit 'b9378d8108555c920880d7ec7ec4122b04fb2960':
  Doc change: add new samples TOC groups and landing pages.
2014-02-13 11:27:30 +00:00
Dirk Dougherty
820bb4bdd3 am 9c50271d: am 257f6724: am 35cb4e49: Doc change: add new samples TOC groups and landing pages.
* commit '9c50271dc34e48d527db7da85c3b3474574faee2':
  Doc change: add new samples TOC groups and landing pages.
2014-02-13 03:50:08 +00:00
Dirk Dougherty
9c50271dc3 am 257f6724: am 35cb4e49: Doc change: add new samples TOC groups and landing pages.
* commit '257f67249afb017c9a3d0a79e545da567aa5bd02':
  Doc change: add new samples TOC groups and landing pages.
2014-02-13 03:47:02 +00:00
Dirk Dougherty
257f67249a am 35cb4e49: Doc change: add new samples TOC groups and landing pages.
* commit '35cb4e49365a8a8da0607c2659399aaad9ea5a1c':
  Doc change: add new samples TOC groups and landing pages.
2014-02-13 03:44:38 +00:00
Dirk Dougherty
35cb4e4936 Doc change: add new samples TOC groups and landing pages.
Change-Id: I2f39e82fb79d4f19362d9fe2deafdde5d87873a7
2014-02-12 19:38:51 -08:00
Andreas Huber
cb1b23b5e6 Merge "FINAL ATTEMPT: HTTP services are now provided from JAVA and made available to media code" 2014-02-05 17:13:07 +00:00
Andreas Huber
d2506a5063 FINAL ATTEMPT: HTTP services are now provided from JAVA and made available to media code
Change-Id: I7f6cdcfd2a28846d36d89dd5180ef20a22b03af8
2014-02-04 14:45:28 -08:00
Christopher Tate
d417d625d2 Introduce "IdleService" API to expose idle-time maintenance to apps
When an application wishes to do low-priority background work when the
device is otherwise idle (e.g. in a desk dock overnight), it declares
a service in its manifest that requires this permission:

     android:permission="android.permission.BIND_IDLE_SERVICE

to launch, and which publishes this intent filter:

    <intent-filter>
        <action android:name="android.service.idle.IdleService" />
    </intent-filter>

This string is declared in the API as IdleService.SERVICE_INTERFACE.

The service must be implemented by extending the new "IdleService"
class, which provides the API through which the system will communicate
with the app.

IdleService declares three methods, two of which are lifecycle callbacks
to the service, and the third of which is for the service itself to
invoke when appropriate.  The lifecycle callbacks are

    public abstract boolean onIdleStart();
    public abstract void onIdleStop();

The first of these is a notification to the service that an idle
maintenance interval has begun.  The service can then spin off
whatever non-UI work it wishes.  When the interval is over, or if
the OS determines that idle services should be shut down immediately,
the onIdleStop() method will be invoked.  The service must shut down
any background processing immediately when this method is called.

Both of these methods must return immediately.  However, the OS
holds a wakelock on the application's behalf for the entire period
between the onIdleStart() and onIdleStop() callbacks.  This means
that for system-arbitrated idle-time operation, the application does
not need to do any of its own wakelock management, and does not need
to hold any wakelock permissions.

The third method in IdleService is

    public final void finishIdle();

Calling this method notifies the OS that the application has finished
whatever idle-time operation it needed to perform, and the OS is thus
free to release the wakelock and return to normal operation (or to
allow other apps to run their own idle services).

Currently the idle window granted to each idle service is ten minutes.
The OS is rather conservative about when these services are run; low
battery or any user activity will suppress them, and the OS will not
choose to run them particularly often.

Idle services are granted their execution windows in round-robin
fashion.

Bug 9680213

Change-Id: Idd6f35940c938c31b94aa4269a67870abf7125b6
2014-01-31 15:41:40 -08:00
Svetoslav Ganov
c0877962b3 Adding the print and accessibility pacelables to framework.aidl
1. There are a few parcelable classes related to printing and accessibility
   which are public but not added in the framework.aidl list so third parties
   cannot write aidl interfaces that pass these classes. As these classes
   are public it is resonable for devepers to be able to pass them between
   processes.

Change-Id: I85da1de5198902b74f19d23e3fe16b45b4a11051
2014-01-28 23:00:14 +00:00
Craig Mautner
ff288f7f57 resolved conflicts for merge of b7bba718 to master
Change-Id: Ibbac3f6e3eda0149ae9446d6baed1d1bee5138ac
2013-12-19 10:55:17 -08:00
Craig Mautner
4a1cb22056 Pair ActivityStacks with Displays
- Introduce concept of ActivityStacks residing on Displays and able
to be decoupled and moved around.
- Add a new interface, IActivityContainer for clients to handle
ActivityStacks.
- Abandon ordering of stacks based on mStackState and instead use
ActivityDisplayInfo.stacks<ActivityStack> ordering.

Progress towards closing bug 12078972.

Change-Id: I7785b61c26dc17f432a4803eebee07c7415fcc1f
2013-12-18 15:08:15 -08:00
Andres Morales
38a7ed05f8 Adding INfcUnlockSettings and NfcUnlock interface class.
Change-Id: Ie55a5d4bb58c2944952fc84cce32d3573a3a1a22
2013-12-09 14:41:01 -08:00
Ying Wang
b33fe50a63 am dcbde1b0: Merge "libcore_to_document and junit_to_document are no longer functions."
* commit 'dcbde1b02ad69c18509afd87974c72c3a22f45dd':
  libcore_to_document and junit_to_document are no longer functions.
2013-12-05 09:47:04 -08:00
Ying Wang
50a0fd50f7 libcore_to_document and junit_to_document are no longer functions.
They are evaluated only once in the corresponding export .mk file.
This fixes build log spam reported in:
https://code.google.com/p/android/issues/detail?id=63184

Change-Id: I549eb052272bbdebef8fca697822f5eaa0fe5764
2013-12-04 16:58:59 -08:00
Ying Wang
c79d6a9bd6 libcore_to_document and junit_to_document are no longer functions.
They are evaluated only once in the corresponding export .mk file.
This fixes build log spam reported in:
https://code.google.com/p/android/issues/detail?id=63184

Change-Id: I549eb052272bbdebef8fca697822f5eaa0fe5764
2013-12-04 16:01:06 -08:00
Dirk Dougherty
2fbe13dc63 am 713e3853: am 0b492138: am 6000f1ed: Re-enable samples browser.
* commit '713e3853bf57410f389496c20db1fc3818b3d5d8':
  Re-enable samples browser.
2013-11-23 12:34:06 -08:00
Dirk Dougherty
0b492138c7 am 6000f1ed: Re-enable samples browser.
* commit '6000f1ed3d402e3136df173d987c901cc3cc1ff2':
  Re-enable samples browser.
2013-11-23 20:28:04 +00:00
Dirk Dougherty
6000f1ed3d Re-enable samples browser.
Change-Id: I9d0c5966422ba0cf8bca576895f30679d40a19ab
2013-11-22 14:01:48 -08:00
Dirk Dougherty
59aa4be0ec am a6703462: am a0501105: am 9eaa9443: Disable samples browsing temporarily.
* commit 'a6703462926408fa83f41a2cb319e4f51fa7d4ca':
  Disable samples browsing temporarily.
2013-11-22 11:03:29 -08:00
Dirk Dougherty
a050110572 am 9eaa9443: Disable samples browsing temporarily.
* commit '9eaa94439121f6cb03bff8ecf0acbcbc74442f2d':
  Disable samples browsing temporarily.
2013-11-22 18:55:28 +00:00
Dirk Dougherty
9eaa944391 Disable samples browsing temporarily.
Change-Id: I65fe533f1b43903d6605d17691ec142d062b6b5e
2013-11-22 10:46:22 -08:00
Dirk Dougherty
39fa9b1119 am 3ee2c60e: am 8b5da356: am 1448d3cd: Merge "Pass a new samplesdir param to doclava as the starting point for generating samples browsing files. Removes older project-based configuration." into klp-docs
* commit '3ee2c60e453e19b02b0ab52793045d2dd9a20912':
  Pass a new samplesdir param to doclava as the starting point for generating samples browsing files. Removes older project-based configuration.
2013-11-22 10:45:47 -08:00
Dirk Dougherty
8b5da35670 am 1448d3cd: Merge "Pass a new samplesdir param to doclava as the starting point for generating samples browsing files. Removes older project-based configuration." into klp-docs
* commit '1448d3cd81a685c68b0102e8303c0db4e6e5668f':
  Pass a new samplesdir param to doclava as the starting point for generating samples browsing files. Removes older project-based configuration.
2013-11-22 18:38:20 +00:00
Dirk Dougherty
5c678cedb5 Pass a new samplesdir param to doclava as the starting point for generating samples browsing files. Removes older project-based configuration.
Change-Id: If59372a92f0572d54af0f2ed7f9f9e401fbce067
2013-11-21 18:39:57 -08:00
Dirk Dougherty
7acec30ac7 am 3d763e25: am a9a39d6c: am acca12fa: Merge "Doc change: move localized files into an intl dir. Build output remains the same for online, offline, and ds docs." into klp-docs
* commit '3d763e258b6643d29a495b5dfb1cb376e6b61f87':
  Doc change: move localized files into an intl dir. Build output remains the same for online, offline, and ds docs.
2013-11-19 18:24:20 -08:00
Dirk Dougherty
a9a39d6ca2 am acca12fa: Merge "Doc change: move localized files into an intl dir. Build output remains the same for online, offline, and ds docs." into klp-docs
* commit 'acca12faea5fc1c9de63fdc08ae4d6bc0bad864a':
  Doc change: move localized files into an intl dir. Build output remains the same for online, offline, and ds docs.
2013-11-20 02:16:21 +00:00
Dirk Dougherty
5f0462a4f5 Doc change: move localized files into an intl dir. Build output remains the same for online, offline, and ds docs.
Change-Id: Ia75712323563cf56f0224822cb7977f3421f8527
2013-11-19 17:55:49 -08:00
Sailesh Nepal
697d9f2f30 Add ThirdPartyCall APIs to master
These are APIs for the new ThirdPartyPhone feature.

Note, these APIs can't actually be used yet on master for two reasons:
  - initiating a call from a 3rd party app isn't possible yet because
    the TelephonyManager APIs aren't being added to master.
  - the TeleService implementation of these APIs aren't being added to
    master.

Also, these APIs will be removed and the final ones will be added
once they're ready to be merged into master.

Change-Id: Ie783290451da448a011f813983e55b12047b5d99
2013-11-13 12:27:21 -08:00
Jeff Brown
7da5bbedc7 am c2b652fd: am 5182ea4b: am d40a4d74: Merge "Add media router service and integrate with remote displays." into klp-dev
* commit 'c2b652fd4d386b79dc99af249b6ad3844e53fdf1':
  Add media router service and integrate with remote displays.
2013-11-07 17:47:25 -08:00
Jeff Brown
6c58d890f3 am 84d76025: am eb223425: am 1f7a8a06: Merge "Add a platform library for remote display providers." into klp-dev
* commit '84d760257f46232601e5f47411fb4e59f57f1872':
  Add a platform library for remote display providers.
2013-11-07 17:47:21 -08:00
Jeff Brown
5182ea4bb2 am d40a4d74: Merge "Add media router service and integrate with remote displays." into klp-dev
* commit 'd40a4d74c623175c96a2e9d865a99826e56d1132':
  Add media router service and integrate with remote displays.
2013-11-07 17:41:44 -08:00
Jeff Brown
eb223425e3 am 1f7a8a06: Merge "Add a platform library for remote display providers." into klp-dev
* commit '1f7a8a06256907e03405f89108f081289c23e97a':
  Add a platform library for remote display providers.
2013-11-07 17:41:41 -08:00
Jeff Brown
d40a4d74c6 Merge "Add media router service and integrate with remote displays." into klp-dev 2013-11-08 01:36:55 +00:00
Jeff Brown
1f7a8a0625 Merge "Add a platform library for remote display providers." into klp-dev 2013-11-08 01:36:41 +00:00
Jeff Brown
69b07161be Add media router service and integrate with remote displays.
This change adds a new media router service whose purpose is to track
global state information associated with media routes.  This service
publishes routes to the media router instance in application processes
and handles requested state changes such as selecting or unselecting
global routes.  The service also binds to remote display provider
services which can offer new remote display routes to the system.

Includes a test application for manually verifying certain aspects
of the operation of the media router service.

The remote display provider interface is essentially a stripped down
media route provider interface as defined in the support library
media router implementation.  For now, it is designed to be used only
by first parties to publish remote display routes to the system so
it is not exposed as public API in the SDK.  In the future, the remote
display provider interface will most likely be deprecated and replaced
with a more featureful media route provider interface for third
party integration, similar to what is in the support library today.

Further patch sets integrate these new capabilities into the System UI
and Settings for connecting remote displays.

Bug: 11257292
Change-Id: I31109f23f17b474d17534d0f5f4503e388b081c2
2013-11-07 03:25:37 -08:00
Jeff Brown
f3c99e883f Add a platform library for remote display providers.
This interface allows applications to register services that offer
remote displays to the system.  The system will then provide UI
to allow user to connect to these displays and enable mirroring.

Bug: 11257292
Change-Id: I34da5b9dfdaf71267bd3450c505bc1b7368d1b40
2013-11-07 01:58:15 -08:00
Scott Main
df21eb11bc am 40730533: am f7188557: am 03ec3428: fix build
* commit '40730533d45e310891b4e949eee92eb31a87515f':
  fix build
2013-11-06 21:28:04 -08:00
Scott Main
b9f9f5ce68 am 5cfa3fcb: am d183aae9: am 4cf4f521: add storage provider sample to build
* commit '5cfa3fcbba2916279dd43f8c031d0526581c8098':
  add storage provider sample to build
2013-11-06 21:28:01 -08:00
Scott Main
03ec3428c9 fix build
Change-Id: I9916113fde67afa04789f451355da215f9b015f7
2013-11-01 17:54:38 -07:00
Scott Main
4cf4f5213e add storage provider sample to build
Change-Id: I76f1e64f68b9db7c39ab3ec9bbbe0ecdd7729ae6
2013-11-01 17:53:46 -07:00
Dirk Dougherty
3626569831 Enable samples browsing in builds.
Change-Id: Ic47ef693dd5b2cd4010e68a600cae3b88d426bd2
(cherry picked from commit e8b32feb72bf4347c1bd98e6b21b18a506d2c5e3)
2013-10-31 16:59:42 +00:00
Dirk Dougherty
1b01252af3 am 65fe1908: am b2a905f0: am d51578ee: Merge "Enable samples browsing in builds." into klp-dev
* commit '65fe1908fc0af13c19e02b7a56f9c5697046c4f5':
  Enable samples browsing in builds.
2013-10-31 02:14:51 -07:00
Dirk Dougherty
e8b32feb72 Enable samples browsing in builds.
Change-Id: Ic47ef693dd5b2cd4010e68a600cae3b88d426bd2
2013-10-30 23:04:38 -07:00
Dirk Dougherty
ba545513d6 am ad064dac: am 52de9b52: am fd391d6f: Merge "Doc change: add new list of browseable samples and sample groups." into klp-dev
* commit 'ad064dac70a7ad54b3eefc67fa99e06aa0845a79':
  Doc change: add new list of browseable samples and sample groups.
2013-10-29 21:24:42 -07:00
Dirk Dougherty
c5f168a694 Doc change: add new list of browseable samples and sample groups.
Change-Id: I5f0c6899a34ada9f8dfc492f849c9e03203bc920
2013-10-29 20:59:20 -07:00