958 Commits

Author SHA1 Message Date
Colin Cross
6418a7d30c am 8a60ded0: Merge "resolved conflicts for merge of a67e34c8 to master"
* commit '8a60ded02614bc8358f89aa9b7cf3f8e7b1383a2':
  Add HDMI-CEC service
2014-03-21 13:23:05 -07:00
Colin Cross
a42cb8b0e2 resolved conflicts for merge of a67e34c8 to master
Change-Id: I597525886260884c9b2dfc7945e01eb8138a58c2
2014-03-21 13:11:02 -07:00
Svetoslav
f76b62f19e am 8e3feb15: Added accessibility APIs for introspecting interactive windows.
* commit '8e3feb15c5aec2c72b0ef120a1da325e1e8f0dda':
  Added accessibility APIs for introspecting interactive windows.
2014-03-20 09:56:59 -07:00
Svetoslav
8e3feb15c5 Added accessibility APIs for introspecting interactive windows.
1. The old introspection model was allowing querying only the active window
   which is the one the user is touching or the focused one if no window is
   touched. This was limiting as auto completion drop downs were not inspectable,
   there was not way to know when the IME toggles, non-focusable windows were
   not inspectable if the user taps them as until a screen-reader starts
   introspecting the users finger is up, accessibility focus was limited to
   only one window and the user couldn't use gestures to visit the whole UI,
   and other things I can't remember right now.

   The new APIs allow getting all interactive windows, i.e. ones that a
   sighted user can interact with. This prevents an accessibility service
   from interacting with content a sighter user cannot. The list of windows
   can be obtained from an accessibility service or the host window from an
   accessibility node info. Introspecting windows obey the same rules for
   introspecting node, i.e. the service has to declare this capability
   in its manifest.

   When some windows change accessibility services receive a new type
   of event. Initially the types of windows is very limited. We provide
   the bounds in screen, layer, and some other properties which are
   enough for a client to determined the spacial and hierarchical
   relationship of the windows.

2. Update the documentation in AccessibilityService for newer event types.

3. LongArray was not removing elements properly.

4. Composite accessibility node ids were not properly constructed as they
   are composed of two ints, each taking 32 bits. However, the values for
   undefined were -1 so composing a 64 long from -1, -1 prevents from getting
   back these values when unpacking.

5. Some apps were generating inconsistent AccessibilityNodeInfo tree. Added
   a check that enforces such trees to be well formed on dev builds.

6. Removed an necessary code for piping the touch exploration state to
   the policy as it should just use the AccessibilityManager from context.

7. When view's visibility changed it was not firing an event to notify
   clients it disappeared/appeared. Also ViewGroup was sending accessibility
   events for changes if the view is included for accessibility but this is
   wrong as there may be a service that want all nodes, hence events from them.
   The accessibility manager service takes care of delivering events from
   not important for accessibility nodes only to services that want such.

8. Several places were asking for prefetching of sibling but not predecessor
   nodes which resulted in prefetching of unconnected subtrees.

9. The local AccessibilityManager implementation was relying on the backing
   service being ready when it is created but it can be fetched from a context
   before that. If that happens the local manager was in a broken state forever.
   Now it is more robust and starts working properly once the backing service
   is up. Several places were lacking locking.

bug:13331285

Change-Id: Ie51166d4875d5f3def8d29d77973da4b9251f5c8
2014-03-20 16:52:59 +00:00
Jinsuk Kim
4f512fb451 Add HDMI-CEC service
This CL adds a system service handling HDMI-CEC protocol. The service
is equipped with the capability sending/receiving HDMI-CEC messages

Not all the messages are in place. Currently it has messages to support
a few features only, as follows:

- One touch play
- System information
- Routing control (partially - active source status maintenance only)
- Device OSD transfer
- Power status

It will be extended to cover the wider usages in the follow up CLs.

The CEC standard version referenced in the implementation is 1.3a.

Change-Id: Ifed0b02f52ebf098eddb3bd0987efbf353b7e8fe
2014-03-20 16:40:22 +09:00
Hui Shu
cdf01b1325 am 57ad97fb: Merge "Add removeApi commandline option for doclava and an empty removed.txt"
* commit '57ad97fb701876ecb87b76f29592a41731aeb487':
  Add removeApi commandline option for doclava and an empty removed.txt
2014-03-13 15:16:28 -07:00
Hui Shu
57ad97fb70 Merge "Add removeApi commandline option for doclava and an empty removed.txt" 2014-03-13 22:11:41 +00:00
Sailesh Nepal
ab5d282dd6 Add wrappers around telecomm interfaces
This CL adds wrappers for:
  CallServiceLookupResponse
  CallServiceAdapter
  IInCallAdapter
  IInCallService

This CL also moves all the aidl files into
com.android.internal.telecomm.

Change-Id: I840f023bc545643e8bb719825e7bc78344ee46ee
2014-03-11 16:38:50 -07:00
Dianne Hackborn
e76f7f7824 am 77b987f1: Hold a wake lock while dispatching network activity events.
* commit '77b987f1a1bb6028a871de01065b94c4cfff0b5c':
  Hold a wake lock while dispatching network activity events.
2014-02-28 17:13:31 -08:00
Dianne Hackborn
77b987f1a1 Hold a wake lock while dispatching network activity events.
Also add new API for determining whether the current data network
is active, and thus better scheduling network operations.  This
API is designed to not be tied to a mobile network -- regardless
of the network, apps can use it to determine whether they should
initiate activity or wait.  On non-mobile networks, it simply always
reports as the network being active.

This changed involved reworking how the idle timers are done so
that we only register an idle timer with the current default
network.  This way, we can know whether we currently expect to
get callbacks about the network being active, or should just always
report that it is active.  (Ultimately we need to be getting this
radio active data from the radio itself.)

Change-Id: Iaf6cc91a960d7542a70b72f87a7db26d12c4ea8e
2014-02-28 15:19:39 -08:00
RoboErik
e4f0fe586f resolved conflicts for merge of 8fb4cf1e to master-nova
Change-Id: I61a6fc192b0c2099af9bebdf8e9d8bbfaa4243a3
2014-02-26 10:37:45 -08:00
RoboErik
2f5b057da7 Move Session apis to android.media.session
This is to make it easier to distinguish the new apis from the old
ones.

Change-Id: Ic5eaf65e8bd054a844f87b9118c4bb18f30ac8a7
2014-02-25 16:01:55 -08:00
Hui Shu
06d37f716f Add removeApi commandline option for doclava and an empty removed.txt
BUG: b/11293324
Change-Id: Ief41ae23f3d6364260ce34ee9f3211130a6a83d7
2014-02-21 17:24:03 -08:00
Jeff Brown
dda12a9746 am ac8bdfe4: Merge "resolved conflicts for merge of baaa080b to master"
* commit 'ac8bdfe4f06367e06e43d8759b6009b483a5e668':
  Add a new "doze mode" based on Dream components.
2014-02-20 20:59:08 -08:00
Jeff Brown
10102e4c0e resolved conflicts for merge of baaa080b to master
Change-Id: I3ee12321e298f7a2ea577a99f30c49f3bb497fae
2014-02-20 18:05:03 -08:00
Santos Cordon
8f3fd30a60 Add interfaces between Telecomm and InCall.
Change-Id: Ie0e8c5e6626e1db33eb1142b302bf415785cfe47
2014-02-20 15:12:53 -08:00
Ben Gilad
f042a3f067 Following up on our discussion offline to introduce response objects for isSwitchable.
Change-Id: Ic1385d9b67ed0a859128845574d48ad90d6152a2
2014-02-20 15:12:51 -08:00
Ben Gilad
0f7dac1741 Adding the CallServiceSelector skeleton (AIDL) files.
Change-Id: I55ca3bed6e1b964602a9291bd388a10c99729da7
2014-02-20 15:12:50 -08:00
Santos Cordon
4939ccf786 Remove CallServiceProviderAdapter and replace with CallServiceLookupResponse.
Change-Id: I55a574784162e3cc4a88b2889f1d14a07116f937
2014-02-20 15:12:49 -08:00
Santos Cordon
6fee2ea8f8 Revert "Remove CallServiceProviderAdapter and replace with CallServiceLookupResponse."
This reverts commit 753fc58932e976086069bacb3e5252332960644b.

Change-Id: Ie17b4918fa404eb768c0f3ce5109d6cc8b2d1da8
2014-02-20 15:12:49 -08:00
Santos Cordon
6fbb1b73f8 Remove CallServiceProviderAdapter and replace with CallServiceLookupResponse.
Change-Id: I4d1c007bd46b804ecbb80163fc26de199cdbb2eb
2014-02-20 15:12:48 -08:00
Santos Cordon
3784133b95 Additional fixes to aidl files.
Change-Id: I24e5ae0ff65c3049d735cd4c6e1d79a0c406d92b
2014-02-20 15:12:47 -08:00
Santos Cordon
b3e51b7918 Fixing typos and a build break.
Change-Id: I74ac6da8a9943b3b2cc76a4fc75027b7717b1bb3
2014-02-20 15:12:46 -08:00
Ben Gilad
e57944dd55 Add the CallService base class and the necessary call-service-provider
AIDL interfaces.

Change-Id: Ic0aab1245d259f1148d403033647d795e07ab015
2014-02-20 15:12:45 -08:00
Ben Gilad
bb69b0c2d8 Adding the frameworks/base code from https://googleplex-android-review.git.corp.google.com/#/c/391028
Change-Id: I6fe7aae52a7ff52da1a1e009e8361810fcaddd1e
2014-02-20 15:12:44 -08:00
Ben Gilad
d13e1d2bab Remove the telecomm entries now that we have https://googleplex-android-review.git.corp.google.com/#/c/398927
DO NOT SUBMIT until the above CL is uploaded.

Change-Id: I4e4f19175b502ba81c882d1379d1d225b0e6ba67
2014-02-20 15:12:43 -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
3df1380d14 am 33288685: Merge "Initial round of MediaSession APIs"
* commit '332886854438809e956fb232b69879e33b5dc2bb':
  Initial round of MediaSession APIs
2014-02-19 16:27:14 -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
78d659870f am 5da502a5: am b9378d81: am 321cd18a: am 820bb4bd: am 9c50271d: am 257f6724: am 35cb4e49: Doc change: add new samples TOC groups and landing pages.
* commit '5da502a5b2a6eed6cf667c5d609818442a838c8a':
  Doc change: add new samples TOC groups and landing pages.
2014-02-13 03:34:06 -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
Sailesh Nepal
eaeb071a17 Add interface definitions for CallService/PhoneService
Interfaces are meant to replace ThirdParty*.aidl/java files in same
directory long term.  The differences in methods are on purpose and
reflect more recent design directions.

Change-Id: Ia98603a1d0b6d07a3393c5f7c5aa040f9e3916e4
2014-02-11 22:36:26 -08:00
Sailesh Nepal
512b28309d DO NOT MERGE ThirdPartyCallSendDtmfCallBack API
This API is needed to implement post dial.

Change-Id: Iefdeae81d0eae6be86e7ee1e8ab0251ae43ed079
2014-02-11 22:22:42 -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