671 Commits

Author SHA1 Message Date
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
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
Svetoslav Ganov
e9ffeac138 am 8a51e2f4: am a53e1f81: am 23757527: Merge "Hide the print dialog if the printing activity is destroyed." into klp-dev
* commit '8a51e2f48cb24113e8463eb251a097080eb46a7f':
  Hide the print dialog if the printing activity is destroyed.
2013-10-18 17:35:31 -07:00
Svetoslav Ganov
858a1850e2 Hide the print dialog if the printing activity is destroyed.
1. For an app to print it creates a PrintDocumentAdapter implementation
   which is passed to the print dialog activity. If the activity that
   created the adapter is destroyed then the adapter, which may rely on
   the activity state, may be in an invalid state. For example, an app
   creates an adapter and calls print resuting in the app activity and
   the print dialog activity being stacked. Now the user rotates the
   device which triggers the recreating of the activity stack (assume the
   app does not handle rotation). The recreated print dialog activity
   receives the intent that originally created it with containing the
   adapter that was constructed in the context of the old, now destroyed,
   app activity instance.

   To handle this we are limiting an app to be able to print only from
   and activity and when this activity is destroyed we mark the adapter
   as invalid which will result in hiding the print dialog activity. Note
   that if the app process is killed we already handle this in the print
   dialog activiy by registering a death recipient on the adapter binder.

2. In the PrintManager.PrintDocumentAdapterDelegate some of the state is
   accessed only on the main thread and some from miltiple threads. The
   code was trying to avoid locking for state that is not accessed by
   multiple threads but this is error prone and the benefit does not
   justify the complexity and added fragility. Now grabbing a lock all
   the time.

3. The PrintJobConfigActivity waits for it to bind to the print spooler
   service before instantiating its print controller and editor. However,
   these can be accessed by invoking some of the activity cycle callbacks.
   This change is adding null checks for the case where the activity
   callbacks are called before the binding to the spooler is completed.

bug:11242661

Change-Id: Id906b3170e4f0a0553772dfa62686f06fdca0eaf
2013-10-18 13:12:06 -07:00
Svetoslav
a1f9936c6b am 5c880d0d: am 6f688e87: am 8f34715b: Merge "Refactor how the print dialog activity is started." into klp-dev
* commit '5c880d0d1551603dcc4366406ec9ee3b812a8fc4':
  Refactor how the print dialog activity is started.
2013-10-11 10:11:05 -07:00
Svetoslav
7bfbbcb04b Refactor how the print dialog activity is started.
1. Before the print job activity was started asyncronously with
   respect to the print call on to the print manager. This was
   creating a situation where the starting activity may finish
   before the print dialog appears which may lead to an orphaned
   print document adapter with no data to print (as the UI is
   is gone), or strange behaviors where the print dialog starts
   on as a separate task.

   To address this the pending intent for starting the print
   dialog is not started by the print spooler since we cannot
   call into it synchronously as we have to start its process
   and bind to the spooler service which leads to jankyness in
   the client app. Now the pending intent is created by the
   print manager service in the synchronous print call so
   from an app's perspective calling print starts the activity.

   The side effect of this design is that the print dialog
   activity may start before the system is bound to the spooler
   service. In such a case the print activity cannot start
   poking the print spooler state as the system registers
   callback to observe the spooler state. To address this
   the print spooler activity disables the UI and also binds
   to the spooler service which happenes immediately after it
   is started. As soon as the print dialog binds to the
   service it starts the UI.

2. Fixed an bug in the printer adapter of the print dialog that
   was leading to a crash if the only item in the adater is the
   all pritners option and it is selected.

3. Piping the package name that started the printing so we can
   pass it to the storage UI as a hint to open the last location
   the app used.

bug:11127269

Change-Id: Ia93820bdae0b0e7600a0930b1f10d9708bd86b68
2013-10-11 09:11:24 -07:00
Scott Main
f99ec85e4f am 856441e7: am 920de6c6: am 332408f8: update version number for doc stamp
* commit '856441e72fa6a79a5421e9538e5af17df281eaab':
  update version number for doc stamp
2013-10-04 17:37:02 -07:00
Scott Main
332408f862 update version number for doc stamp
Change-Id: I881510209a56204a464df082840d2dde56312303
2013-10-04 16:17:50 -07:00
Scott Main
f16e56c834 am 2cf2948d: am 3f90705a: am 795b6e42: Merge "add -since flag for api level 19 to filter javadocs" into klp-dev
* commit '2cf2948dbf15e8c0645154957f511379d8ef53bf':
  add -since flag for api level 19 to filter javadocs
2013-10-04 13:51:51 -07:00
Scott Main
49551ad60b add -since flag for api level 19 to filter javadocs
Change-Id: I96e7e31f93b1e3c3877a342b84fb069bda5d92e3
2013-10-03 16:46:53 -07:00