History log of /frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
feef9887e8f8eb6f64fc1b4552c02efb5755cdc1 22-Nov-2013 Jeff Brown <jeffbrown@google.com> Stop wifi display discovery when no longer needed.

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
/frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java
af574183c274f51d04487a9c8355e9f34a1150f2 15-Nov-2013 Jeff Brown <jeffbrown@google.com> Disallow applications from initiating cast screen.

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
/frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java
e7ae644522f692c204d0233f91e77c7841bdfe53 13-Nov-2013 Jeff Brown <jeffbrown@google.com> Finalize assets for screen casting.

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
/frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java
75af171006ee80aaf7cfb56ded1378afe0084cca 11-Nov-2013 Jeff Brown <jeffbrown@google.com> Changes to support new screen cast settings screen.

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
/frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java
1f3ecaae6303d5ee6c5ca8499262c9962f036365 04-May-2013 Chong Zhang <chz@google.com> wifi-display: add certification options

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
/frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java
6a6bc216d15293886ad088bb0ca99aadb7df85dc 08-Aug-2013 Jesse Hall <jessehall@google.com> Use new ISurfaceComposer::destroyDisplay method

Bug: 10191053
Change-Id: I3ecc6880db4a4c77c6db4e8b50faa9b4021d17c6
/frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java
7d00affce6e25b22fd8fc135933b3bf6b547a0dc 03-Aug-2013 Jeff Brown <jeffbrown@google.com> Support public virtual displays.

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
/frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java
ab87a63997a7dc771acfd0dcd7efda990dc3d5fe 11-Jun-2013 Chong Zhang <chz@google.com> MediaRouter: grey out wifi displays that's in use

bug 9229799

Change-Id: I9f5fd2107f60c492d42c74e575e6483838a51267
/frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java
3866f0d581ceaa165710feeee9f37fe1b0d7067d 12-Feb-2013 Mathias Agopian <mathias@google.com> split Surface in two classes: SurfaceControl and Surface

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
/frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java
74da109102864f19b3dcdb30cd1d92c46fb12f2f 08-Nov-2012 Jeff Brown <jeffbrown@google.com> Support Wifi display devices that rename themselves.

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
/frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java
92130f6407dc51c58b3b941d28a6daf4e04b8d62 25-Oct-2012 Jeff Brown <jeffbrown@google.com> Add MediaRouter API to get presentation display.

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
/frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java
f0681b34dffc1510cbd9c3da5c3a7e695553fa8d 24-Oct-2012 Jeff Brown <jeffbrown@google.com> Secure windows, secure surface views and secure displays.

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
/frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java
7bbf8163fb83afc54b353a8def52bfb87ecce047 20-Oct-2012 Jamie Gennis <jgennis@google.com> Set the secureness when creating displays

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
/frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java
66692500344cab2f53cdb6ee1545c567fff7cb16 19-Oct-2012 Jeff Brown <jeffbrown@google.com> Fix deadlock.

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
/frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java
a7f9c966bc90e52baaf0cf0c165463e5f44354c5 18-Oct-2012 Jeff Brown <jeffbrown@google.com> Add a notification icon when connected to wireless display.

Bug: 7350174
Change-Id: I18481e2a1445b0aa3340e5d9b02511394521e50e
/frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java
ee4f029ff4905abbdbc1ce47db2cf2c3510949e9 16-Oct-2012 Jeff Brown <jeffbrown@google.com> Update wifi display device name when renamed.

Bug: 7340725
Change-Id: Ia3835a37fa3800371920f863b82f992efe764664
/frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java
2444ae7e2b8658a4a90f996e678423558744b4a2 11-Oct-2012 Jeff Brown <jeffbrown@google.com> Ensure MediaRouter correctly handles renamed Wifi displays.

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
/frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java
77aebfdbae489c3712ae3f9bca29d01fb1f09dc2 02-Oct-2012 Jeff Brown <jeffbrown@google.com> Add new Display API for secure video capabilities.

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
/frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java
bc335457462a12434a9df6955de1dd693cdccac7 27-Sep-2012 Jeff Brown <jeffbrown@google.com> Allow applications to connect to known wifi displays.

Bug: 7177920
Change-Id: I9d8406e1016988e2cd267dfa52d78a829f1b385e
/frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java
89d5546d7fd3a3bb19820c42e8b4527013dd6545 19-Sep-2012 Jeff Brown <jeffbrown@google.com> Add support for remembering Wifi display devices.

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
/frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java
c5df37c285221d0fb113f55b9e78b35632241d3f 13-Sep-2012 Jeff Brown <jeffbrown@google.com> Add preliminary API for reporting display capabilities.

Change-Id: Ie18dce5b5d130f9a7cdfca08cddbf9b099312277
/frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java
f8f0eddd07d22ab815d97dd32ae6ed52dc31a80c 12-Sep-2012 Jeff Brown <jeffbrown@google.com> Improve reporting of wifi connection state.

We should only report that the wifi display is connected
after the RTSP connection has been fully established.

Change-Id: Ifc6bc5d5cebd42d551026885b31cbc74b7ece2b1
/frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java
180bbc71810496e280e9993177bfeddb3ad1f558 09-Sep-2012 Jeff Brown <jeffbrown@google.com> Improve Wifi display discovery API.

Change-Id: I4d46503e5413f52da16f79bbc9c631cc5ae9c178
/frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java
d728bf514f257670fcb9aa22c6eaf97626072c93 09-Sep-2012 Jeff Brown <jeffbrown@google.com> Make display manager tell input system about viewports.

The window manager is no longer responsible for telling the
input system about the display viewport.

Change-Id: I932882bae55decef55f25093bb2a7ebac1620bb1
/frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java
e08ae388d63c4db8f9d9a7ecd634f9a51f6e91b9 08-Sep-2012 Jeff Brown <jeffbrown@google.com> Add new wifi display discovery API.

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
/frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java
cbad976b2a36a0895ca94510d5208a86f66cf596 05-Sep-2012 Jeff Brown <jeffbrown@google.com> Add support for Wifi display.

Change-Id: I99693786cf9d07d07d3400046c55eb4933730b80
/frameworks/base/services/java/com/android/server/display/WifiDisplayAdapter.java