The new MediaProjection infrastructure allows the system to hand out
tokens granting the ability to capture the screen's contents, audio,
etc. at a granular level. It's intended to be used both for screen
casting, via the cast APIs, as well as screen sharing via third party
applications.
The screen sharing case is implemented, but all of audio capturing
is still forthcoming.
Change-Id: I4b24669bed7083e11413c10ed8d6b025f5375316
As long as the APIs aren't ready to be un-hidden, there's no need to
allow non-system apps to access them. This can be reverted when the
APIs are finalized and we have mechanisms in place for selecting
between scorers installed on the device, rather than only a
preselected scorer bundled with the system.
Change-Id: I745b4c691eccfb526014d4cb71639db2119e4fdb
Ideally, we'd only expose the methods that we intend unbundled apps to
call (e.g. not NetworkScoreManager#setActiveScorer, which should only
be called by Settings), but this isn't harmful in terms of permissions
as the APIs still check security appropriately.
Bug: 15833200
Change-Id: I2047515b41c8be0cf7cb51dd495fe72309c05f68
* Only allow system app to send/receive
WIFI_CREDENTIAL_CHANGE.
* Define constants in WifiManager.
Bug: 15703353
Change-Id: I4bcc6bc82ec01952500eef3965cf81116bba693d
(cherry picked from commit f4a43f196e1132968a8add60efa4ae4558f8b010)
This patch introduces basic infrastructure for the new MediaRouter
API. The code is fully documented but incompletely implemented.
It is being submitted not to facilitate API reviews.
MediaRouter is a new class that applications used to discovery,
connect to, and control media devices as represented by media
destinations and their routes. Routes may offer a variety of
capabilities. This new class is a much more powerful replacement
for the existing MediaRouter.
MediaRouteService is a base class for creating media route services
which third-parties can implement to make routes available to
applications. It is analoguous to the MediaRouteProvider
infrastructure of the old media router support library but it
is designed to be integrated into the framework and enable a
variety of new usages such as remote display projection.
Stay tuned for more...
Change-Id: I2c7c6013d9f751d71e83697e7fc9e49bf7751fef
Adds a new kind of alarm that represents an alarm clock and
a way to query the next scheduled alarm clock.
Deprecates Settings.System.NEXT_ALARM_FORMATTED.
Bug: 14589952
Change-Id: I297eeeff36d07adcda010afac183d0f5ee37dc99
Permits apps with permission
android.permission.ACCESS_PERSISTENT_PARTITION to obtain
a read and write data blocks to the PST partition.
Only one block ever exists at one time in PST. When
a client writes another block, the previous one is
overwritten.
This permits storing a block of data that will live
across factory resets.
Change-Id: I8f23df3531f3c0512118eb4b7530eff8a8e81c83
When receiving a request to update ConfigUpdater content, don't
try to open by filename. Fetch the content via a file descriptor
delivered from a content provider. This avoids the files needing to
be marked world-readable, and resolves an SELinux violation.
Bug: 14989241
Change-Id: I10ad0d710c9a833a45995c545ba585a533c35b0d
Starting in api 21, will be required to bind to a
declared dream or doze service.
Also added to aapt dump badging output.
Bug:15862654
Change-Id: Ifa0a594eeecf21e6146176c7810a847e1d08fe3b
Add a permission that will allow any app that has this permission
to remove any voicemails in the user's call log, even those that
don't belong to it.
This will be needed for the unbundled dialer to be able to manage
the user's voicemails.
Bug: 6948882
Change-Id: Idca23ee83e541ba8aef24d6cb7fe09d5adac1e10
If a an acitivty with attribute android:relinquishTaskIdentity true
is the root activity of a task then the intent of that task will
be that of the first activity in the stack with
android:relinquishTaskIdentity set false.
The ability to set intent also includes the ability to set the
TaskDescription of the task.
Fixes bug 15675610.
Fixes bug 10428661.
Change-Id: Ib28a9eae3b9832eeeef9106adbebe344184ee5ae
Everything that used the IdleMaintenance APIs/broadcasts gets to use the
spiffy new JobScheduler instead. Hooray!
On top of that, the now-obsolete "idle maintenance" APIs are now gone
entirely. Double hooray!
Bug 14993295
Change-Id: I5fb67c296ca8cd0ba8a2c8760a0f0d9d962d813b
expose:
NFC_GET_HANDOVER_SEL
NFC_GET_HANDOVER_REQ
NFC_REPORT_HANDOVER
These are used in for setting up WFD with NFC and
are only accessible given the CONNECTIVITY_INTERNAL
permission.
Change-Id: Ia43afc137d474822cad896d335530654081a808c
This makes our terminology consistent with the existing BluetoothHeadset profile
Also updated arguments to Context.bindService()
Change-Id: I27cc5a6fde256b1f5dccca53a7a15ec8f58691c2
- Mark the chooser activity as never launching in to a new
task, even if the caller asks for it. These are dialogs
so don't make sense as stand-alone tasks. (Maybe later
the policy should be to not launch into a new task in any
case that the activity is a dialog or even transparent at all.)
- Keep track in the task record of whether any activities in
it have been shown to the user, and use this to automatically
remove the task when all activities finish. This leans up
cases where apps are launching stub activities that get turned
in to tasks but are never seen by the user because they
immediately launch another activity in another task and
then finish.
Change-Id: I00b641c80aa96bd5071479f36ee2e4d8e3a81aeb
- Defines schema for enrollment apps to publish metadata for the search
keyphrase. This metadata consists of an ID, a user visible keyphrase,
and the target package to handle the keyphrase, when it triggers.
- Reads the metadata and populates the KeyphraseInfo object for access via
the VoiceInteractionService
- Adds permission and intent action for the enrollment app.
The enrollment app needs to be a system app protected with the
MANAGE_VOICE_KEYPHRASES permission and the activity performing the
enrollment needs to handle the ACTION_MANAGE_VOICE_KEYPHRASES
- The keyphrase info currently stores an ID - that's for internal
bookkeeping only, a keyphrase text - that's used by the public APIs,
and a list of supported locales, which isn't exposed but is used while
indicating if hardware hotword is available for a particular keyphrase
in a language or not.
Change-Id: Ibe6c52a5a3eecfd74c4a8382713a35eb88d38df9
Also update the name of the icon so that it is consistent with other namings in the framework and in managed provisioning.
bug: 15538051
Change-Id: I9e8e680eb1c654d9f5d94ce27775687b3dc92a22
This is a first pass at annotating permissions that should not be
granted or used by to third-party apps but that may be required by
privileged system applications. For this patch, the annotation was
only added to permissions that have a protection level of at least
system. Signature-only permissions were left alone since they only
need to be visible to built-in components.
Change-Id: I189472028274c133793ad8e4068585c536dd7f38
This is a first pass at annotating permissions that should not be
granted or used by to third-party apps but that may be required by
privileged system applications. For this patch, the annotation was
only added to permissions that have a protection level of at least
system. Signature-only permissions were left alone since they only
need to be visible to built-in components.
Change-Id: I189472028274c133793ad8e4068585c536dd7f38
Add new public API for monitoring low power mode.
BatteryService now puts device in to low power mode when
battery level is low.
Window manager now watches low power mode to turn off
animations.
Modifying the animator scale now gets propagated to all
processes.
Change-Id: I8fa566994764ddd4e1977631e28381ab9409f8ee