1229 Commits

Author SHA1 Message Date
Svet Ganov
ae0e03a9e0 Cleanup of the PackageInstaller API - Frameworks
The PackageInstaller app manages side-loading apps as well
as permission management. It should be updatable, hence
should rely on system APIs to talk to the platform. This
is the first step of defining an API boundary.

Change-Id: I9814eafd0b22ae03b4b847a7007cdbf14c9e5466
2016-04-22 14:18:32 -07:00
Sujith Ramakrishnan
b5b86c1100 Unbundle RemoteService on TV - part 3
- New service TVRemoteService triggered by SystemServer
- Provider service proxy and watcher for maintaining connections to unbundled
  services which have the BIND_TV_REMOTE_SERVICE permission.
- Shared library to facilitate connections between unbundled service and
  TVRemoteService.
- Unbundled service needs TV_VIRTUAL_REMOTE_CONTROLLER
  permission to be fully functional.

b/23792608

Change-Id: Ief5c6995883d1f7268a73bdd0c920c4c3f42cddb
2016-04-22 12:21:34 -07:00
Vladislav Kaznacheev
729c640cc8 Merge "Rename DropPermissions to DragAndDropPermissions" into nyc-dev 2016-04-21 21:34:26 +00:00
Vladislav Kaznacheev
377c32845b Rename DropPermissions to DragAndDropPermissions
Bug: 28296057
Change-Id: Ic95cb4ae9c351d903df78628e983dec2bacd0ad5
2016-04-20 14:22:23 -07:00
Robin Lee
c6184685d8 Merge "Move UidRange aidl declaration to system/netd" into nyc-dev 2016-04-19 19:19:43 +00:00
Robin Lee
106069412d Move UidRange aidl declaration to system/netd
Which owns the native UidRange.cpp, so it makes more sense for the
declaration to live there since frameworks/base depends on netd but not
vice versa.

Bug: 26694104
Change-Id: I0efda77713ee6f0ec8070fb0e09a694b95f6cd25
2016-04-18 15:26:47 +01:00
TreeHugger Robot
0a97f22e06 Merge "Delete ITelephonyDebug and ITelephonyDebugSubscriber" into nyc-dev 2016-04-14 00:52:36 +00:00
Ruben Brunk
c7be3beced Add VrManager AIDL interface for use by system apps.
Bug: 27884853
Change-Id: I6de0d291deafe5003070d60866c60d6599312e79
2016-04-06 12:29:40 -07:00
Pavel Zhamaitsiak
0fb0731358 Delete ITelephonyDebug and ITelephonyDebugSubscriber
Bug: 28026463
Change-Id: Iee9010dd7352bafcffb5718293f8d71f2fd98ea9
2016-04-05 16:18:03 -07:00
Pavel Zhamaitsiak
ce13079ab3 resolve merge conflicts of 20ebbb3 to nyc-dev
Change-Id: I31d76a02456b3f09a6bdac11c6dbc5e913f5f7df
2016-04-04 17:42:05 -07:00
Pavel Zhamaitsiak
20ebbb3349 Merge "ConnectivityMetricsLogger: Switch to "pull" model" into mm-wireless-dev 2016-04-05 00:13:18 +00:00
Pavel Zhamaitsiak
d1cb256b3e ConnectivityMetricsLogger: Switch to "pull" model
If subscriber is in external app, its process can be killed. This would
lead to loss of events. To avoid that, we will be storing events in the
logger service. Clients can periodically pull data from it.

Another option for client apps is to register PendingIntent which will be
sent when certain number of new events has been received.

If events are logged at unexpectedly high rate from particular component,
then throttling mechanism will activate and new events will be blocked for
some time from that component.

Change-Id: I710409626eb5a42bcd3fe8126eac6b756fa1ab8b
2016-03-31 18:43:14 -07:00
Philip P. Moltmann
9dcb86a48d Add the print service recommendation service
This service connects through the print manager to the print spooler:

PrintSpooler.AddPrintersActivity <-> PrintManager <-> PrintManagerService <-> UserState <-> RemotePrintServiceRecommendationService <-> PrintRecommendationService <-> PrintRecommendationServiceImpl

Hence there is a lot of mindless plumming.

The actual changes are only in the AddPrintersActivity which is extended
to show another list of services: The recommended services.

The PrintServiceRecommendationService is based on the experimenal print
service stubs provider. This provider was contributed the Android by
Mopria. As this services uses Android own network discovery service most
code from the experimental provider goes away. In fact the only logic
left over is the selections of mdns-txt fields to look at and the
printer vendor configuration.

This relies on the Android MDNS to get fixed (Bug: 27696905). This also
does not deal with how to update the recommendation service.

Bug: 24533249
Change-Id: I6edc6e25fc08a50d478b61c71bb8ea158b08624c
2016-03-30 17:21:07 -07:00
Joe Onorato
0caf007b3f Merge "Refactor ProcessStats." into nyc-dev 2016-03-28 20:52:39 +00:00
Jeff Sharkey
bd91e2f3f6 Update PRE_BOOT_COMPLETED for FBE.
Now that CE data isn't available until after a user is unlocked, we
need to delay the PRE_BOOT_COMPLETED broadcasts.  This is done by
adding a new RUNNING_UNLOCKING user state to the UserController
lifecycle.

We now track the last fingerprint a user was logged in under, and we
dispatch PRE_BOOT receivers when that fingerprint changes.  To work
around battery pull issues, we only persist the updated fingerprint
once all PRE_BOOT receivers have finished.  This is less granular
than the original solution, but it's still correct.  We only consider
a user as "logged in" once it transitions into the RUNNING_UNLOCKED
state.

When starting a process, track if the user was "unlocked" when
started, so that we only spin up unaware providers in processes
started before user unlock.

Add generic IProgressListener to communicate PRE_BOOT progress and
strings up to lock screen.  For now, LockSettingsService just blocks
until finished, but it could display these strings in the future.

Bug: 27220885
Change-Id: I349439776b885acd32f6a578d8951ffd95640be2
2016-03-27 10:56:48 -06:00
Joe Onorato
4eb64fdbcf Refactor ProcessStats.
- Pull most of the inner classes out into their own files.
- Move everything to a new android.app.procstats package.
- Move all of the code that was manipulating the big list
  of longs to use the new SparseMappingTable class rather
  than doing everything by hand. The logic is unchanged.
- Add a sequence number check to SparseMappingTable so
  when the big list of longs and the individual tables are
  reset, which happens somewhat independently, we can
  assert when one of them doesn't get reset.
2016-03-24 15:55:31 -07:00
Scott Main
1dd114e5ab Merge "switch offline docs back to standard templates that now have a condition for 'referenceonly' bug: 27667787" into nyc-dev 2016-03-22 23:05:39 +00:00
smain@google.com
f7b6dad015 switch offline docs back to standard templates that now have a condition for 'referenceonly'
bug: 27667787

Change-Id: Iaedba58c72634dac33ef09b9a50322af664ef581
2016-03-22 14:20:25 -07:00
Dheeraj Shetty
7ed3044ed1 ims:rcs: Add UCE interface files for RCS. [DO NOT MERGE]
Change-Id: I2ce9e60240740acfe70c4a239163fbdbedbd96e0
2016-03-19 00:22:59 +00:00
Pavel Zhamaitsiak
cfedd20d54 ims:rcs: Add UCE interface files for RCS.
Bug: 23222011
Change-Id: I2ce9e60240740acfe70c4a239163fbdbedbd96e0
2016-03-18 16:09:50 -07:00
Michal Karpinski
6235a94ffa Unifying method names and comments to security logging, not device logging
Also move SecurityLog to android.app.admin package.

Bug: 27531824
Bug: 27532560
Bug: 27532564
Bug: 27532425
Change-Id: I2677afdb5685bc5d21e52c41b381b57a41e364b6
2016-03-16 14:32:09 +00:00
Joseph Pirozzo
d91859d246 Merge "Add BluetoothProfile for PBAP PCE role." into nyc-dev 2016-03-15 23:21:12 +00:00
Joseph Pirozzo
cfa8a64694 Add BluetoothProfile for PBAP PCE role.
Create a new Bluetooth profile for Pbap Client.

Bug: 27490041
Change-Id: I77d2c7eeeb8e955ea61386d784b02b14f415b318
2016-03-14 17:02:16 -07:00
Tyler Gunn
f8de70c7b7 Merge "IMS: Changes for MultiEndpoint" into nyc-dev 2016-03-14 17:48:11 +00:00
Anju Mathapati
f604fc33c6 IMS: Changes for MultiEndpoint
- Interface changes for MultiEndpoint

- Extra for CallPull in -
  - TelephonyProperties
  - ImsProfile
- Error codes in ImsReasonInfo

Change-Id: I9a497cf04a412dc9d2f80b489e3455d289c3dfb7
2016-03-11 16:08:06 -08:00
Joe Fernandez
093889409b Merge "docs: Fix reference docs build to indicate N changes" into nyc-dev 2016-03-11 04:50:19 +00:00
smain@google.com
269aa4ebc4 fix the docs preview version number
Change-Id: I8c8a8fb6bd431eade40e62a6b135b628811c0558
2016-03-10 15:37:58 -08:00
smain@google.com
9334f5ed12 update preview version number to 2 for offline docs
Change-Id: I56cab8d21f9521fab17ec79a441c518cf9da536c
2016-03-10 15:13:28 -08:00
smain@google.com
7aca8beaa8 make new 'referenceonly' docs build the default for offline docs.
add preview codename and version number HDF variables for generated docs.

Change-Id: I165526f4e575ec8885bab906e66d17666ea8b4ba
2016-03-10 15:01:36 -08:00
smain@google.com
278fb0deb2 udpate refonly doc build to include new landing page for dev preview.
Change-Id: I088425ed1549dd3bae6a5a755884eb4c3cb0af4f
(cherry picked from commit aa6aa2929c546289c873b3d019de4616c2ddc620)
2016-03-10 18:07:38 +00:00
smain@google.com
00de8c5d7a cherrypick I4e1ca9fddc6374fd80108e4f9a3b9745f8598507
add new make target for offline docs with only the API reference.
Also update the default index.html landing page to redirect to the reference.

Change-Id: I2a123e49e2d6bb365bd81383ca3a9fc8e03de034
2016-03-09 16:57:56 -08:00
Joe Fernandez
89f385d537 docs: Fix reference docs build to indicate N changes
Change-Id: I4cd64a0452e97aa87a86fffd1c9f9ba3d99eb5c3
(cherry picked from commit f6c304579d673135e0df23f887aa068fb91db0f3)
2016-03-09 15:28:34 +00:00
Makoto Onuki
ed58f5f0aa Merge "Introducing ShortcutManager" into nyc-dev 2016-03-08 18:01:05 +00:00
Ruben Brunk
875825d0c1 Merge "Add a VR listener service." into nyc-dev 2016-03-08 00:14:57 +00:00
Ruben Brunk
e24b9a6cfa Add a VR listener service.
Bug: 22855417
Bug: 26724891
Bug: 27364145

- Add an API for VrListenerService, which is bound/unbound
  from the framework when the system VR mode changes.
- Allow only a single bound VrListenerService at a time.
- Monitor allowed VrListenerService implementations from
  VrManagerService and evict services as needed when packages,
  users, or settings change.
- Remove previous VR functionality in NotificationListenerService.
- Add component target to Activity#setVrMode to allow
  explicit selection of the running VrListenerService from
  the current VR activity.

Change-Id: I776335f4441be0e793d3126f2d16faf86a8c621a
2016-03-07 15:54:12 -08:00
Philip P. Moltmann
66c96591e2 Add "app printer activity" and always keep the print service state
updated. Also fiddle with the UI to use more standard values.

To be sure the print service state alwasy updated I changed
PrintManager.getPrintServices to return a loader which just wraps a
registerListener/getList/removeListener combo.

I also added a new function to enabled/disable a print service to be
keep all updating logic inside the PrintManagerService->UserState.

Then I changed all code to use this new interface.

Detailed comments:

PrintServiceInfo:
- I had to add the enabled state to the PrintServiceInfo as some users
  of PrintManager.getPrintServices want all services but then display
  different data depending on the enabled state. Of course I could have
  created two PrintManager.getPrintServices-loaders to load the two
  separate list of services. I think it is much easier to add this
  property though. It is updated every time new data is returned to the
  PrintManager.getPrintServices-loader.

AddPrinterActivity:
- This is shown as a dialog-style overlay to indicate that the user will
  return to the select-printers activity. It contains of three list that
  are updated via separate loaders.
- The recommended services will be added later to keep this path set
  small.

PrintActivity:
- There are two small places where we have to update the data when we
  get a new list of print services.
  - In very, very rare conditions it can happen that the print service
    of the current printer gains or looses the "advancedOptions"
    activity
  - If we have no enabled print services we want to show "Add printer"
    instead of "All printers...".
- Also the print registry is not the only loader anymore, hence we have
  to assign loader ids to it to not conflict with the other loaders in
  this activity.
- Small bug in onPrintersChanged: If a printer is selected and the print
  service of this printer gets disabled the holder goes into "removed"
  state which disables the printer. When the print service is then
  enabled again, we forgot to re-enable the holder.

PrinterRegistry:
- The registry assumed that the FusedPrinterProvider was the only loader
  in the activity. This is not true anymore, hence it has to assign the
  appropriate loader ids.
- The FusedPrinterProvider has an internal loader, hence we have to
  forward a loader Id into it.
- The PrintRegistry is only called backed for a single loader, hence no
  need to check the loader-id.

SelectPrinterActivity:
- The AddPrinterDialog was removed as we now have the
  AddPrinterActivity.
- Added a loader for the enabled services to update the empty state.
- Added dedicated loader Id for the PrinterRegistry again.
- If we have no enabled services, the SelectPrinterActivity chainloads
  the AddPrinterActivity as this is the only thing the user can do
  anyway. "Save a click". This should only happen when the activity is
  create the first time.
- Moved the "add printer" from the menu item to the list of printers as
  suggested by UX and Zach.

PrintManagerService, UserState and IPrintManagerParamtersTest:
- As the only place where the print service state is updated is now the
  userstate, we have no more sychronization problems. Whohoo.
- The users can now register for changes to the print services similar
  as they can register for changes to the print jobs.
- UserState.getPrintServices is the only function can exposes any
  knowledge of the print services to the outside world.

Change-Id: I9be2c7300431e06aaff9bdf7eb36120d869b56ac
2016-03-07 09:58:08 -08:00
Makoto Onuki
6f7362d925 Introducing ShortcutManager
What's supported:
- Most APIs are implemented, except for SM.updateShortcuts(),
the icon APIs in LA, and LA.startShortcut().
- Persisting information, except for icons
- Throttling

In addition, now PersistableBundle has a public copy
constructor from a Bundle. (Do we want to @hide it?)

TODOs:
- Add icon support
- Implement missing APIs
- Listen to PACKAGE_* broadcasts and do clean-up
- Support multi-launcher apps (pinned shortcuts per launcher)
- Dev option to reset throttling
- Load throttling config from Settings
- Backup & restore
- Figure out LauncherApps permissions (BIND_APPWIDGETS??)
- Other minor TODOs in the code
- Better javadoc

Note: This requires Idf2f9ae816e1f3d822a6286a4cf738c14e29a45e

Bug 27325877

Change-Id: Ia5aa555a4759df5f79a859338f1dc5e624cd0e35
2016-03-04 15:24:49 -08:00
Eino-Ville Talvala
5d2d7788f1 Camera2: Switch to auto-gen C++ binder interfaces
- Move camera AIDL files to frameworks/av
 - Update makefiles to point to new AIDL locations
 - Adjust camera2 implementation to match modifications to AIDL needed
   for native AIDL auto-generation
 - Move Surface.aidl to frameworks/native to allow use in
   native AIDL. Use android::view::Surface in Surface JNI to
   serialize Surface objects to ensure parceling compatibility.
 - Adjust service binder tests to new interface

Bug: 25091611
Change-Id: I85b817374b34a4540fa145328dbe4bbf7f746baf
2016-03-01 17:15:17 -08:00
Muyuan Li
94ce94e960 Allows components to register shortcut key.
The registered shortcut will be called from PhoneWindowManager,
before dispatching

Change-Id: If26128939b45a639c8895719a7a23ca433f39fd9
(cherry picked from commit 4da863c5a8872dcabb179a978a2b2157d9081679)
2016-02-26 22:30:34 +00:00
Lorenzo Colitti
1142b2654a resolve merge conflicts of 51e4acb29d to nyc-dev
Also add the appropriate changes to api/test-current.txt, which
is not present on mm-wireless-dev from which this change came.

Change-Id: Ic4df6d0f89add73b7e5252ef662de07a4e8fce31
2016-02-24 15:19:15 +09:00
Pierre Imai
51e4acb29d Merge "Add Connectivity Metrics Logger service" into mm-wireless-dev 2016-02-24 04:49:24 +00:00
Pavel Zhamaitsiak
02b3e6bfc5 Add Connectivity Metrics Logger service
This service can be used to pass events to metrics collection service

Change-Id: I213874300693cd121f2c8676f70893315de4c4c0
2016-02-23 17:32:53 +09:00
Tao Bao
9de7952aa9 Merge "Add support for update-on-boot feature." into nyc-dev 2016-02-22 19:24:25 +00:00
Neil Fuller
fa272e5c92 Merge "Add stubs needed to enable javac to compile lambdas" into nyc-dev 2016-02-22 11:55:30 +00:00
Tao Bao
e8a403d57c Add support for update-on-boot feature.
Add a separate system service RecoverySystemService to handle recovery
related requests (calling uncrypt to de-encrypt the OTA package on the
/data partition, setting up bootloader control block (aka BCB) and etc).

We used to trigger uncrypt in ShutdownThread before rebooting into
recovery. Now we expose new SystemApi (RecoverySystem.processPackage())
to allow the caller (e.g. GmsCore) to call that upfront before
initiating a reboot. This will reduce the reboot time and get rid of the
progress bar ("processing update package"). However, we need to reserve
the functionality in ShutdownThread to optionally call uncrypt if
finding that's still needed.

In order to support the update-on-boot feature, we also add new
SystemApis scheduleUpdateOnBoot() and cancelScheduledUpdate() into
android.os.RecoverySystem. They allow the caller (e.g. GmsCore) to
schedule / cancel an update by setting up the BCB, which will be read by
the bootloader and the recovery image. With the new SystemApis, an
update package can be processed (uncrypt'd) in the background and
scheduled to be installed at the next boot.

Bug: 26830925
Change-Id: Ic606fcf5b31c54ce54f0ab12c1768fef0fa64560
2016-02-19 11:31:45 -08:00
Polina Bondarenko
f8754ac212 Added hardwareproperties SystemService
Add HardwarePropertiesManagerService which call native methods to
get CPU, GPU, battery temperatures, CPU usage info, fan speeds.
Restrict hardware properties retrieval only for device and profile
owners.

Bug: 26945055
Change-Id: I4d6b30b78e575532d5e9cfa59ef6cd81355439d4
2016-02-19 18:24:29 +01:00
Etan Cohen
0d0f0c7faf [NAN] Renamed listeners to callback per API guidelines [DO NOT MERGE]
The interfaces had multiple functions and are hence callback
and not a listener.

Note: purely a rename operation.

Bug: 27122760
Change-Id: Ib12711f56a64052455843859125d72268c465fc0
2016-02-18 23:48:59 +00:00
Etan Cohen
e4c50de752 [NAN]: API update - consolidate Puslish|Subscribe Data+Subscribe -> Config [DO NOT MERGE]
Simplify configuration and consolidate structures whose difference
wasn't very clear.

Bug: 27122760
Change-Id: I0651cade71eb146d9ea9219baf6d2253588db3de
2016-02-18 23:46:01 +00:00
Neil Fuller
801f90e61b Add stubs needed to enable javac to compile lambdas
This enables framework.jar code to include lambdas.
framework.jar is still built with javac (as well as
jack) for things like doclava.

Bug: 26753820
Change-Id: I25030b3fa3abdec5b325182bd0a665ba964176c0
2016-02-18 13:59:36 +00:00
Jorim Jaggi
09102359ed Merge "Incremental local builds for frameworks" 2016-02-04 03:46:08 +00:00