OSDN Git Service

Add MediaProjection APIs.
authorMichael Wright <michaelwr@google.com>
Wed, 9 Jul 2014 01:07:36 +0000 (18:07 -0700)
committerMichael Wright <michaelwr@google.com>
Thu, 17 Jul 2014 21:30:19 +0000 (14:30 -0700)
commitc39d47a8e7c74bd539104b0efab898ef6fc43ddf
tree98b0c601c9d3b0249e4bd2324aa66ad138e29ad9
parent6ccb5f894e11a0ee59c0632643f265427731536e
Add MediaProjection APIs.

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
28 files changed:
Android.mk
api/current.txt
core/java/android/app/AppOpsManager.java
core/java/android/app/ContextImpl.java
core/java/android/content/Context.java
core/java/android/hardware/display/DisplayManager.java
core/java/android/hardware/display/DisplayManagerGlobal.java
core/java/android/hardware/display/IDisplayManager.aidl
core/java/android/hardware/display/IVirtualDisplayCallbacks.aidl [new file with mode: 0644]
core/java/android/hardware/display/VirtualDisplay.java
core/res/AndroidManifest.xml
core/res/res/values/strings.xml
media/java/android/media/projection/IMediaProjection.aidl [new file with mode: 0644]
media/java/android/media/projection/IMediaProjectionCallback.aidl [new file with mode: 0644]
media/java/android/media/projection/IMediaProjectionManager.aidl [new file with mode: 0644]
media/java/android/media/projection/MediaProjection.java [new file with mode: 0644]
media/java/android/media/projection/MediaProjectionManager.java [new file with mode: 0644]
packages/SystemUI/AndroidManifest.xml
packages/SystemUI/proguard.flags
packages/SystemUI/res/layout/remember_permission_checkbox.xml [new file with mode: 0644]
packages/SystemUI/res/values/strings.xml
packages/SystemUI/src/com/android/systemui/media/MediaProjectionPermissionActivity.java [new file with mode: 0644]
services/core/java/com/android/server/am/ActivityStackSupervisor.java
services/core/java/com/android/server/display/DisplayManagerService.java
services/core/java/com/android/server/display/LogicalDisplay.java
services/core/java/com/android/server/display/VirtualDisplayAdapter.java
services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java [new file with mode: 0644]
services/java/com/android/server/SystemServer.java