summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/display/WifiDisplayAdapter.java
AgeCommit message (Collapse)Author
2013-12-19Move some system services to separate directoriesAmith Yamasani
Refactored the directory structure so that services can be optionally excluded. This is step 1. Will be followed by another change that makes it possible to remove services from the build. Change-Id: Ideacedfd34b5e213217ad3ff4ebb21c4a8e73f85
2013-11-21Stop wifi display discovery when no longer needed.Jeff Brown
Keep track of how many clients are requesting scans and scan continuously until all of them are gone then explicitly terminate the scan instead of letting it time out as before. Suspend wifi display scans while connecting or connected to a remote display. This is handled by both the display manager and media router since neither has complete information about what is happening. Much of this code will no longer be needed once wifi display support is integrated directly into the media router service. Ensure that we don't attempt to scan or connect to wifi displays while the wifi display feature is off. Infer when a connection attempt fails and unselect the wifi display route automatically so it doesn't appear to be connecting forever. Fix issues around correctly canceling and retrying connection attempts. Often we would cancel but not retry. Improved connection reliability somewhat. It seems that discovery must already be in progress in order for a connection attempt to succeed. Ensure QuickSettings uses exactly the same logic as the MediaRouteButton to determine when the remote display tile should be made visible. Bug: 11717053 Change-Id: I18afc977b0e8c26204b8c96adaa79f05225f7b6e
2013-11-15Disallow applications from initiating cast screen.Jeff Brown
Only allow the system ui and settings to connect to a remote display. To do this, we essentially hide the remote displays from applications by using the ROUTE_TYPE_REMOTE_DISPLAY then add permission checks around the operations that connect to them. As a bonus, this may actually save power on devices since applications that use MediaRouter will not longer be performing discover on remote display routes at all. Bug: 11257292 Change-Id: I9ea8c568df4df5a0f0cf3d0f11b39c87e2110795
2013-11-13Finalize assets for screen casting.Jeff Brown
Extend wifi display connection timeout. Show a notification while connecting to wifi display. Ensure that remote display providers are really trusted before connecting to them. Bug: 11257292 Change-Id: Iad0caaa30d7946df818bc75ade071f2e377f8a53
2013-11-10Changes to support new screen cast settings screen.Jeff Brown
Fixed the Preference ordering code to consider the case where two preferences might have the same order. In that case, it falls back on the title to disambiguate. Previous behavior was undefined (and technically not stable). Expose the wifi display device address. Perform wifi display scans every 10 seconds instead of every 15 to improve reponsiveness. Make sure to define routes for wifi displays that we are connecting to even if they are not yet paired. Simplified the logic for adding and removing these routes to avoid possibly getting out of sync and leaving stale routes behind. Fix wifi display notification icon. Bug: 11257292 Change-Id: I8ac15fb17d83758c0bdce80399e12723c367b83c
2013-08-23wifi-display: add certification optionsChong Zhang
When certification mode is enabled: - Pass wfd session info to wifi display settings - Allow sink to connect to source - Add interface in display manager for pausing/resuming session - Add interface in WifiP2pManager for setting lc, oc and starting autonomous GO Note that we're compliant regardless of certification mode, but some confusing options (eg. allowing incoming connection from sink) we want to hide when not being tested. Bug: 9371882 Change-Id: Icc7dcae4e046453796cfa03f5f197055fabf234b
2013-08-08Use new ISurfaceComposer::destroyDisplay methodJesse Hall
Bug: 10191053 Change-Id: I3ecc6880db4a4c77c6db4e8b50faa9b4021d17c6
2013-08-02Support public virtual displays.Jeff Brown
Refactor the new private virtual display API to also support creating public virtual displays with various characteristics. This feature requires special permissions and is only intended for use by the system. Change-Id: I44dd19f37cf76ea6d6e313afe42f4a412bd96663
2013-06-13MediaRouter: grey out wifi displays that's in useChong Zhang
bug 9229799 Change-Id: I9f5fd2107f60c492d42c74e575e6483838a51267
2013-02-14split Surface in two classes: SurfaceControl and SurfaceMathias Agopian
SurfaceControl is the window manager side; it can control the attributes of a surface but cannot push buffers to it. Surface on the other hand is the application (producer) side and is used to push buffers to the surface. Change-Id: Ib6754c968924e87e8dd02a2073c7a447f729f4dd
2012-11-07Support Wifi display devices that rename themselves.Jeff Brown
Some Wifi display devices like to rename themselves after a connection completes (or at other times). Make sure to update the name of the display when we detect that it changed in our scan results. This problem is somewhat complicated by the fact that we remember the display name persistently, so we need to update our list of remembered displays too. Improve the state machine to avoid redundant attempts to disconnect or cancel connection. Bug: 7478895 Change-Id: I35a9e2c6a8deadbe892dacd5e3b4a5a2b12d6cf0
2012-10-25Add MediaRouter API to get presentation display.Jeff Brown
This new API makes it possible for an application to ask on which Display it should show a Presentation based on the currently selected media route. Also added a new API on DisplayManager to query displays that support a certain category of uses. Improved the documentation of the Presentation class to explain how to choose an appropriate Display for presentation. Bug: 7409073 Change-Id: Iab451215e570ae55f3718fc228303143c800fe51
2012-10-23Secure windows, secure surface views and secure displays.Jeff Brown
Add new API to determine whether a display is secure. Add new API to make a SurfaceView secure. Clarify documentation. Bug: 7368436 Change-Id: I7068c34c910e43b4bc72e43fa0dded59a25f0fe2
2012-10-19Set the secureness when creating displaysJamie Gennis
This change makes use of the new 'secure' argument to the ISurfaceComposer::createDisplay method. In this change both the overlay and wifi displays are hard-coded to be non-secure displays. Bug: 7368436 Change-Id: Ib65312f2adab5104d8deefbfc32af9dc106a9129
2012-10-18Fix deadlock.Jeff Brown
The display manager must never call into the activity manager with its lock held. Make it clear that the adapters are constructed while holding the syncroot lock. Bug: 7377631 Change-Id: I1557313cbb31dcad9b5a46919a88a5a1c1af3e9b
2012-10-17Add a notification icon when connected to wireless display.Jeff Brown
Bug: 7350174 Change-Id: I18481e2a1445b0aa3340e5d9b02511394521e50e
2012-10-15Update wifi display device name when renamed.Jeff Brown
Bug: 7340725 Change-Id: Ia3835a37fa3800371920f863b82f992efe764664
2012-10-11Ensure MediaRouter correctly handles renamed Wifi displays.Jeff Brown
Fix a couple of bugs that cause MediaRouter to disconnect from the current Wifi display whenever it is renamed. Added an extra check in WifiDisplayAdapter for identity renames. The Settings app already handles this case but it's good to have the service check for it as well so we don't store unnecessary aliases. Bug: 7310777 Change-Id: I8fddd32ca59f9b798ee31b467b81457508c345f8
2012-10-02Add new Display API for secure video capabilities.Jeff Brown
Added a new API to determine whether the display supports protected buffers so that an application can choose a different content stream or change how it decodes the content so that it will be viewable on the display. At present, wifi display does not fully support protected buffers although this may be enhanced in the future. Bug: 6986623 Change-Id: If53a53d72b0ec92753cc4b29f99fcb131e00449b
2012-09-26Allow applications to connect to known wifi displays.Jeff Brown
Bug: 7177920 Change-Id: I9d8406e1016988e2cd267dfa52d78a829f1b385e
2012-09-19Add support for remembering Wifi display devices.Jeff Brown
Add a setting to globally disable Wifi display. Fixed a bug where the wifi display broadcast receiver was running on the wrong thread. Removed the wifi-display QuickSettings dialog, all functionality has been moved to Settings. Bug: 7178216 Bug: 7192799 Change-Id: I9796baac8245d664cf28fa147b9ed978d81d8ab9
2012-09-13Add preliminary API for reporting display capabilities.Jeff Brown
Change-Id: Ie18dce5b5d130f9a7cdfca08cddbf9b099312277
2012-09-11Improve reporting of wifi connection state.Jeff Brown
We should only report that the wifi display is connected after the RTSP connection has been fully established. Change-Id: Ifc6bc5d5cebd42d551026885b31cbc74b7ece2b1
2012-09-08Improve Wifi display discovery API.Jeff Brown
Change-Id: I4d46503e5413f52da16f79bbc9c631cc5ae9c178
2012-09-08Make display manager tell input system about viewports.Jeff Brown
The window manager is no longer responsible for telling the input system about the display viewport. Change-Id: I932882bae55decef55f25093bb2a7ebac1620bb1
2012-09-08Add new wifi display discovery API.Jeff Brown
The API is quite simple. There are a few extra functions on DisplayManager to scan, connect and disconnect from wifi displays and get status, and a single protected broadcast sent when the status changes. Change-Id: Ic91dbab5ee818e790b27fa32e1a1e93788793be0
2012-09-07Add support for Wifi display.Jeff Brown
Change-Id: I99693786cf9d07d07d3400046c55eb4933730b80