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
Print jobs in a created state should not be persisted. However,
if a print service sets the tag to a print job that is queued,
we were persisting even print jobs in a created state. This
change adds a simple check while persisting to avoid storing
created print jobs.
bug:11696785
Change-Id: Idf28f3634b91fd5bf345f376114af4ed478ed3c6
The previous code was looking for just the display to turn off.
It should wait until keyguard is actually shown before enabling
the external presentations.
Fix for bug 11694904
Change-Id: Iebf3aa04fc094cd4e5c8f56bc771aca1e5921d04
It looks like we could add services to the restart list because
they end up left in the process's list of running services after
they have been removed from the main activity list, and we can
trip up on them there when the app is being force stopped.
Change-Id: I79805b67fcf5b593430dc5c856c97927e1a54a57
User removal or eviction inherently races with broadcast delivery. This
patch introduces a latest-possible recheck of the availbility of the
target application before attempting to send it a broadcast.
Once the process has actually been spun up the system is essentially
committed to presenting it as a running application, and there is no
later check of the availability of the app: the failure mode for
continuing to attempt delivery is a crash *in the app process*,
and is user-visible.
We now check the app+userid existence of the intended recipient
just prior to committing to launch its process for receipt, and
if it is no longer available we simply skip that receiver and
continue normally.
Bug 11652784
Bug 11272019
Bug 8263020
Change-Id: Ib19ba2af493250890db7371c1a9f853772db1af0
A regression was introduced when trying to limit the number of
internal synchronization generation IDs that caused RCC
information to be shown only for applications that requested
audio focus after media button receiver and RCC registration,
(such as Play Music), not for applications that requested focus
first (such as Play Movies).
The correct behavior is to always check and update the
RemoteControllers (seen by MediaFocusControl as RCD interfaces)
whenever a RemoteControlClient is registered (even if it's a
re-registration) when it is associated when an entry at the top
of the remote control stack.
Bug 11657655
Change-Id: I30716e2028f7f718a31e13401b191178735229ff
Bug:11559103
Added a new getCurrentSyncsCopy() that is public. The other version
is needed for internal SSE calls.
Change-Id: I0287f039a6f75abf04b65b85cb30f78353aeef4f
An app can print only from an activity. If the activity is finished
before printing completes we destroy the PrintDocumentAdapter. The
app may however invoke some of the print callbacks after destruction
resulting in a NPE. This change checks if the adapter is destroyed
and if so does not crash while printing a meaningful log error with
the mistake of the app developer.
bug:11675274
Change-Id: I66539cfbd7583f52cb863a84ef8e40856f92ceed
This fixes a bug where keyguard was attempting to set up
external presentation displays from the binder thread instead
of the UI thread. Bad dog.
Fixes bug 11676486
Change-Id: Iadbe485691acc56a41b23219fe399f7eda40cb7c
Adding validation for Global Proxy setting before it is
being set.
Proxy is validated at the boot time also to make sure
the value set is valid.
Signed-off-by: Raj Mamadgi <rmamadgi@sta.samsung.com>
bug:11598568
Change-Id: Idff5ae81119d8143da096b5291ecbfbc5875cbd4
This change modifies a framework optimization. The framework optimization
disables a network when an access point repeatedly rejects requests
to associate with it. This change has some problems; one being that
it counts the rejects for all networks, and not for a specific network.
This incorrectly penalizes last networks at times; and since the current
threshold is 4 rejects, the probability of penalizing wrong networks
is high. This change ups that number to 16 to reduce that probability.
Bug: 11654725
Change-Id: I7150a9ccbb54bac44f2c2ba100fb6617ded33616
This fixes a bug where an app calls KeyguardManager.isLocked()
before keyguard has had a chance to show. The fix is to assume
keyguard is showing and secure until we know otherwise.
Fixes bug 11670159
Change-Id: Ifbe4cdf40e3b76d2069ecace940f85fa58f31187