• Home
  • History
  • Annotate
  • only in /frameworks/base/drm/java/android/drm/
History log of /frameworks/base/drm/java/android/drm/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
60cfad80bdf61db436643927337c2fb30186e99d 06-Jan-2016 Jeff Sharkey <jsharkey@android.com> Discourage use of "_data" column.

Moving forward, all client file access really needs to be going
through explicit APIs like openFileDescriptor(), since that allows
the provider to better protect its underlying files.

This change also changes several classes to use the AutoClosable
pattern, which enables try-with-resources usage. Older release()
methods are deprecated in favor of close().

Uniformly apply CloseGuard across several classes, using
AtomicBoolean to avoid double-freeing, and fix several resource
leaks and bugs related to MediaScanner allocation. Switch
MediaScanner and friends to use public API instead of raw AIDL calls.

Bug: 22958127
Change-Id: Id722379f72c9e4b80d8b72550d7ce90e5e2bc786
rmManagerClient.java
e6748ce31f18782b7a47a5b2eb251efd83e7b609 12-Dec-2015 Andreas Gampe <agampe@google.com> Frameworks/base: Use Arrays.toString

Fix a couple of cases where Arrays.toString should be used.

Bug: 19797138
Change-Id: I905fc79e63face9b26975320a92086c732bf6316
rmInfo.java
rmRights.java
c1858228df18528aabe1ff223335f613be2b99d8 29-Apr-2014 Elliott Hughes <enh@google.com> Fix a few more stray libcore.io references.

Change-Id: Id328544bd3a382fec16507d0ae5b699fef44ebd7
rmOutputStream.java
f97c63350abcc6715ba9fdc21fd3405d0f7ba716 29-Apr-2014 Elliott Hughes <enh@google.com> Move internal libcore.os users over to android.system.

Change-Id: I84e1ace19ba3b4e58d7bb24f3ecda1bdf5dc75a5
rmOutputStream.java
ebf8ad5d91b22eb4359c75711a5b70ddcce0723d 31-Jan-2014 Jeff Sharkey <jsharkey@android.com> Update DrmOutputStream to use raw FileDescriptor.

This allows DownloadManager to use FDs, paving the way for downloading
directly to content:// Uris.

Also return flag indicating if deleteOlderFiles() actually deleted
anything. Update tests to verify.

Bug: 5287571
Change-Id: I2579e5e2113f31b2860d7b021bd61c91b6310963
rmOutputStream.java
38885b63fc41e664681b6fd12159c7ce04e3addc 29-Jan-2014 Narayan Kamath <narayan@google.com> am 38638b2f: am eaae9906: am 672f3ee3: am 95ba1eb6: am dd6de16a: Merge "AArch64: Use long for pointers in DRM classes"

* commit '38638b2fcc4aba428889d521d83762d716e32332':
AArch64: Use long for pointers in DRM classes
33d603877acf76d5d59484532025af20f4b068a5 17-Jan-2014 Ashok Bhat <ashok.bhat@arm.com> AArch64: Use long for pointers in DRM classes

For storing pointers, long is used in DRM classes,
as native pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use
of jint instead of int in JNI function prototypes)

Change-Id: I101b0ea19ed93651c6ad1a9fa55e14e8be117469
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
rmManagerClient.java
6090995951c6e2e4dcf38102f01793f8a94166e1 19-Nov-2013 John Spurlock <jspurlock@google.com> Remove unused imports from frameworks/base.

Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
rmUtils.java
490dd056bd2fdfc630cd43b3fc1c90baf509bffe 31-Aug-2013 Jeff Tinker <jtinker@google.com> Revert "Enhancement for OnInfo callback on DRM Framework"

This reverts commit 6fd97b7d93c5eeaefb2695786b35d1672c88b0cf.

Fixes Fatal signal 6 (SIGABRT)" when playing or downloading a video
bug: 10542864

Change-Id: I85b84d6b602079571be1a7237c907716db9cdf54
rmManagerClient.java
6fd97b7d93c5eeaefb2695786b35d1672c88b0cf 11-Jul-2012 Takeshi Aimi <takeshi.aimi@sonymobile.com> Enhancement for OnInfo callback on DRM Framework

In DRM framework, plugins can transmit DrmInfoEvent to Java layer.
Although DrmInfoEvent has several entries, current implementation
can only convey integer and String. This change enables plugins
uto propagate a hashmap to Java layer. The hashmap can have
one or more Strings and one byte array as value.

Changes are made by Sony Corporation.

bug: 10459159

Change-Id: I5f2bfb43b676863ef4d220fd4ef1e48777e92752
(cherry picked from commit 84a5b5cab40711e20ba70c5ed4dfeab6b558b53b)
rmManagerClient.java
7ccc90955fad0701b6b14c813a2850ee4149c5a2 18-Dec-2012 Jeff Sharkey <jsharkey@android.com> Move stream creation outside of DrmOutputStream.

More closely matches the object ownership pattern used by other
stream APIs. Callers must now explicitly finish(). Also fixes
write(int) bug by switching to Streams API.

Change-Id: I64f9c5887ef02496b1ce4e97ce6af5dad93b4be2
rmOutputStream.java
f67c8a9685e0f20d5ffb9de95f6d1ce47f052141 13-Dec-2012 Jeff Sharkey <jsharkey@android.com> Move DRM to CloseGuard, add DrmOutputStream.

Switch DrmManagerClient to using CloseGuard to better track leaked
resources. Add DrmOutputStream which applies DRM transformation as
data is written, similar to FilterOutputStream. Also writes DRM
headers before closing.

Change-Id: Ic106a3e6f6ff666e4dda484fbd234a0849eec8c0
rmManagerClient.java
rmOutputStream.java
58ed5d748c0b9b64845975ef5844ad313de7c3f6 07-Nov-2012 Kenny Root <kroot@google.com> am 768d9e1a: Merge "Correct executable bit for source files"

* commit '768d9e1a72ceee7d4a5f608776b87b62d6ce4a04':
Correct executable bit for source files
3a084af2e90849aaa8beb3a610189e3399c63ea0 07-Nov-2012 Kenny Root <kroot@google.com> Correct executable bit for source files

Many media files and source code files were marked as executable in Git.
Remove those.

Also a shell script and python script were not marked as executable.

Change-Id: Ieb51bafb46c895a21d2e83696f5a901ba752b2c5
rmConvertedStatus.java
rmErrorEvent.java
rmEvent.java
rmInfo.java
rmInfoEvent.java
rmInfoRequest.java
rmInfoStatus.java
rmManagerClient.java
rmRights.java
rmStore.java
rmSupportInfo.java
rmUtils.java
rocessedData.java
ackage.html
0889fdae87abd9ec78a6c1d00c2771acfa4e4d34 09-Aug-2012 James Dong <jdong@google.com> Let getOriginalMimeType() take a fd passed from drm java applications

At present, we did not actually pass the fd. This patch allows us to
make the changes necessary in the future without worrying too much
about broken build.

related-to-bug: 6426185

Change-Id: I125decff9be621a72f2631fd439994a94a526606
rmManagerClient.java
011385508726fef027641fcbb3e4e446efc9af2c 07-May-2012 James Dong <jdong@google.com> Fix an issue where the message queue fails to queue in the looper threads because they are not created.

o related-to-bug: 6293875

Change-Id: I03dbb2782bd90f88d1f8df086b8a529730afe5dc
rmManagerClient.java
e43dadffb8ac8756216a7696dbff987a6d5d8569 02-Mar-2012 James Dong <jdong@google.com> Merge "Fixes to DrmConvertedStatus, DrmInfoStatus, and DrmSupportInfo classes"
7edb9a94908f41b9dc3aa13d2089efa304f12c22 02-Mar-2012 Jean-Baptiste Queru <jbq@google.com> am f73222a3: am 964955e0: am 8a9b14d8: am 5aeb8587: Merge "DRM framwork bug fix: add an API to release resources"

* commit 'f73222a39e0fa294d9105fd7464943aed6e77cd7':
DRM framwork bug fix: add an API to release resources
52cb1e5988a8a97c668b935fb5d8d358cb3c635a 29-Feb-2012 James Dong <jdong@google.com> Fixes to DrmConvertedStatus, DrmInfoStatus, and DrmSupportInfo classes

o added missing javadoc comment for some public fields
o added checks for arguments
o DrmSupportInfo should have not been exposed as public.
A default package access modifier appears to be more proper but we may
not be able to change the modifier.

Change-Id: I5b284c17219c5121f241ee2934fb3e859ce7c827
rmConvertedStatus.java
rmInfoStatus.java
rmSupportInfo.java
6225df010365d00b1d0f3b1ca13f18cea537c8e3 31-Jan-2012 Kei Takahashi <KeiA.Takahashi@jp.sony.com> DRM framwork bug fix: add an API to release resources

When DrmManagerClient object is created and released many times,
the process suddenly crashes.
The case can happen when we make many thumbnails of
DRM-encrypted contents.

The problem is caused by shortage of file descriptors.
DrmManagerClient releases references of file descriptors
only when GC runs. So file descriptors are kept long time
even after the reference of DrmManagerClient are released.

By introducing DrmManagerClient#release() API,
the problem is solved. An application call this API
when we no longer need to use DrmManagerClient object.

Changes are made by SEMC and Sony.

Change-Id: Ie0bbc29cc33872449824285a8d67b1c3cdd8082b
rmManagerClient.java
2f16d7eae1b2dfd87be5fc55be3bec012ab7389d 28-Feb-2012 James Dong <jdong@google.com> Merge "Fix API issues in DrmRights class."
e512ad5089eef76d080fc6fdd17dfb88ad8b72e9 28-Feb-2012 James Dong <jdong@google.com> Merge "Deprecate default constructor for classes that should have been meant to be interfaces"
da5ac93b005b5523a7f18594f52ee169d83e08d4 28-Feb-2012 James Dong <jdong@google.com> Merge "Added missing javadoc comment for public API in DrmUtils class"
f7a68fc98550859019bb0636fc3e8d88cb50e6a6 28-Feb-2012 James Dong <jdong@google.com> Added missing javadoc comment for public API in DrmUtils class

o also fixed mis-spelled private method name (quiteDispose => quietlyDispose)

Change-Id: I692cd7471eac547b849dd53853f60843b3915750
rmUtils.java
5cb68c86ccb34d42bd4fb59128043037f74763a3 28-Feb-2012 James Dong <jdong@google.com> Fix API issues in DrmRights class.

o account id and subscription id are not mandatory, and thus can be anything
such as null or an empty string.
o removed unnecessary or thus inconsistent checks for account id and subscription id
o updated the javadoc to specify that mimeType could not be null or an empty string.

Change-Id: I704f1dd7fc5d33060da908aae0469d560c7db036
rmRights.java
c4a9976aa15929a73ab7c0979d8b2e1e9eeadcc7 28-Feb-2012 James Dong <jdong@google.com> Deprecated a mis-spelled method and replaced it with a new method

Change-Id: Id049a4effab120c3f837cde60a87efcd89a64ec6
rmSupportInfo.java
060526f9856e52964eaf13df8db74f5fbdcb83b1 28-Feb-2012 James Dong <jdong@google.com> Deprecate default constructor for classes that should have been meant to be interfaces

o We should have not exposed these default constructors in the first place.

Change-Id: Ia8bcfe77e9730021ad8870ece67c6d0eed8146ad
rmStore.java
b7956de3a9eba521fd681cece0370d0b5960ed1e 25-Feb-2012 James Dong <jdong@google.com> Merge "Improved comment about DrmStore.ConstraintsColumns"
e82f055e3eb1b0b3daf87bc14258fa65568b4f8a 24-Feb-2012 James Dong <jdong@google.com> Only allow valid types to be used in DrmErrorEvent and DrmInfoEvent

o This patch will prevent applications from abusing the API by using
arbitrary int value for DrmErrorEvent or DrmInfoEvent types.
o We should have not defined some type constants in the super/base
class, DrmEvent.

Change-Id: Id0bb12caa8ce471cb6951cc2b5d37ea408f90063
rmErrorEvent.java
rmEvent.java
rmInfoEvent.java
365ce1db339db53cd5afb118ff867fe940644e45 23-Feb-2012 James Dong <jdong@google.com> Improved comment about DrmStore.ConstraintsColumns

Change-Id: I89c588759dd409ac0252d686af12bfe4e105f3d5
rmManagerClient.java
rmStore.java
6c95d4ff1656007ab5cbf0a6406d80a33bf8b109 15-Feb-2012 James Dong <jdong@google.com> Added checks for illegal arguments

Change-Id: Ib386c33b7e2cab12cabbb9dc023d54df05472960
rmInfo.java
rmInfoRequest.java
rmInfoStatus.java
rmRights.java
a17d454fd0d20d14cf1fbc09f0f296cb6cbb870b 22-Jul-2011 Gloria Wang <gwang@google.com> Fix for bug 4371230.
- Generate unique ID for each DrmManagerClient in native side
- Fix the bug where multiple clients could use the same ID
- Return the correct unique ID back to Java
- Add a flag in the unique ID to separate native client and Java client

Change-Id: Ia4574b6b0a526f2335a65380975dc62f9a6e7f9b
rmManagerClient.java
b7e7bdfe784959ac8615851c2741eb9518a5afcf 22-Jun-2011 Gloria Wang <gwang@google.com> - Add two sanity checks.
- Remove one unnecessary line.
- Clear the extendedData vector in DecryptHandle.

Change-Id: I2610c6d68f12d48cb69323a5eb2ae4b3b3e44dff
rmRights.java
2980a213752d6e30edd4c689489cb4a2c3006252 15-Jun-2011 Gloria Wang <gwang@google.com> -Fix some typo
-Remove one unnecessary memory allocation

Change-Id: Icea21f33d2c7891333e06429d2f382389e5bd27f
rmInfoRequest.java
rmInfoStatus.java
f46821b9d932ba0f1d0dfd88e98f319e0d3b789b 24-Mar-2011 Bill Gruber <billg@google.com> am 640f63c2: am 3bde4594: am 0357ec78: Merge "DRM API doc scrub This change contains information contributed by Sony Corporation. Bug: 4119363" into honeycomb-mr1

* commit '640f63c2669fc9dc38b349066d4d28111655dc3f':
DRM API doc scrub This change contains information contributed by Sony Corporation. Bug: 4119363
0e092f806b0a4b81785a52da8ba22d2d47087de5 18-Mar-2011 Bill Gruber <billg@google.com> DRM API doc scrub
This change contains information contributed by Sony Corporation.
Bug: 4119363

Change-Id: I6f565c15d512d675993dc65f7fee19bd3d0bc0fa
rmConvertedStatus.java
rmErrorEvent.java
rmEvent.java
rmInfo.java
rmInfoEvent.java
rmInfoRequest.java
rmInfoStatus.java
rmManagerClient.java
rmRights.java
rmStore.java
rmSupportInfo.java
rmUtils.java
rocessedData.java
ackage.html
454b2d1c34238ba33d8f6861971a74c80c3e302a 17-Mar-2011 Gloria Wang <gwang@google.com> am 2c3257b2: am 9940c8b6: am def35f7a: Merge "Fix for 4089881. - Add one more parameter in the interface of DrmEvent and its subclasses DrmInfoEvent and DrmErrorEvent - Send back DrmInfo in the response of async processDrmInfo calls" into honeycomb-mr1

* commit '2c3257b21ddf2a3da843f11d1bb3b4fa8e912707':
Fix for 4089881. - Add one more parameter in the interface of DrmEvent and its subclasses DrmInfoEvent and DrmErrorEvent - Send back DrmInfo in the response of async processDrmInfo calls
f8bf3c46f524b1252bf466a351daaef61afdcecb 16-Mar-2011 Gloria Wang <gwang@google.com> Fix for 4089881.
- Add one more parameter in the interface of DrmEvent and its subclasses
DrmInfoEvent and DrmErrorEvent
- Send back DrmInfo in the response of async processDrmInfo calls

Change-Id: Ia9b1a641296629a19ae4ffa7913e6c878fd340f8
rmErrorEvent.java
rmEvent.java
rmInfoEvent.java
rmManagerClient.java
0e5e2e2b2bb3d6c3a0216181df29e6bfdc71256f 15-Mar-2011 Gloria Wang <gwang@google.com> Merge "Bug fixes of DRM framework."
5c96c65f692f8c2297d213c88450dd601d2b5c1f 15-Mar-2011 Gloria Wang <gwang@google.com> Bug fixes of DRM framework.

- Add death listener to clean-up drmserver appropriately
when drmserver died.
- Remove "static" declaration of mUniqueIdVector because it was not
needed to be static variable.
- Remove "class DrmContentIds;" because the class does not exist.
- contentPath in saveRights() could be empty because
it is not required by some DRM schemes.
- Fix naming convention to use sXXX for static variables.
- Fix typo

Change-Id: I7d440488fc074c200f1009d1bafafeffebd690b2
rmInfoRequest.java
27b277779c89251f2aafcc7a56db95d264900c9d 14-Mar-2011 Gloria Wang <gwang@google.com> For issue 4082089
Add more info and error events into the DRM framework

Change-Id: I0bb3251c5947fc8e977d478e1ba46b242cb97e9d
rmErrorEvent.java
rmInfoEvent.java
rmManagerClient.java
b8b6a9a8d405d2a3f1d593ebaf7f07574dd586b9 07-Mar-2011 Gloria Wang <gwang@google.com> To support uri started with http:// in some Java APIs
Fix for bug 4016388.

Change-Id: I9f6f449dca49eb03446bf6aa22b5dd467ca189c9
rmManagerClient.java
4ef690a38b1dfdff3ae34e260435edcec37e520f 03-Mar-2011 Gloria Wang <gwang@google.com> Do not call processDrmInfo if acquireDrmInfo returns null

Change-Id: Ib762d429daaa8cb2310951cc54f26d75aacaf673
rmManagerClient.java
f05913aaa0cc96eab32be3431de1a80d405527a1 30-Nov-2010 Takeshi Aimi <aimitakeshi@gmail.com> DRM Framework bug fixes.

- Make sure to clean-up obsolete listeners.
- Close cursor after using it.
- Add virtual destructor to the base class of OnInfoListener.

Changes are made by SEMC and Sony.

Change-Id: Ibb6dd625ef48e3597188f0d7c90f9d4c780b6139
rmManagerClient.java
dc91865622e3cc9ff0bb33b83f1d3b38cd7a6d7a 16-Nov-2010 Takeshi Aimi <aimitakeshi@gmail.com> Update of DRM Framework.

-Access permission handling
Introduce an internal function which allows the desired process to
access decryption flow. This new function is just for reference and
each OEM manufacturer should implement/replace with their solutions.
-New API, getMetadata()
This API is for retrieving media metadata from container-based DRM,
such as OMA forward-lock content. This API asks DRM agent to retrieve
media metadata hiddein inside of DRM special container.
-New API, acquireRights()
This API wraps acquireDrmInfo() and processDrmInfo().
If DRM agent has valid implementation of both APIs,
Application can acquire DrmRights only by calling this API.
-Bug fix in event loop of OnInfoListener.
Separate OnInfo event loop from mail thread loop so as to avoid
the issue that message is not dispatched when mail thread is busy.

Changes are made by SEMC and Sony.

Change-Id: I04ee3e0988152a71e221f2256d83253749a29da0
rmErrorEvent.java
rmEvent.java
rmManagerClient.java
c7b3ccc564448cb4b918728421f9402bc18278c5 08-Oct-2010 Takeshi Aimi <aimitakeshi@gmail.com> Update of DRM framework

- Overload openDecryptSession() with uri parameter
in order to accept URI of DRM content,
Following API is added,
DecryptHandle*openDecryptSession(const char* uri);.
- Unify texisting three event types of processDrmInfo()
so that caller of DRM framework does not have to handle many event types.
- Let DrmManagerService call load/unload plugins API so that
client of DRM framework does not have to manage plug-in load/unload.
- Trivial fix in DrmManagerClient.java is also incorporated.

Changes are made by Sony Corporation.

Change-Id: If62b47fa0360718fdc943e6e6143671d7db26adc
rmErrorEvent.java
rmEvent.java
rmInfoStatus.java
rmManagerClient.java
rmUtils.java
dc549d60f98d809f626c99de614960409a847054 20-Sep-2010 Takeshi Aimi <aimitakeshi@gmail.com> Update of DRM framework.

- Change "void" type of return value to "int" for returning status.
- Add some of overloaded Java APIs which accept database Uri as input.
- Add asynchronous APIs
- Add OnEventListener and OnErrorListener for asynchronous APIs
- Disable debug log
- Change decrypt() API to accept an optional buffer needed by some of DRM schemes

Changes are incorporated by Sony Corporation.

Change-Id: I414a165e22cc79be6ea7cd28041788aa2b6b8f7c
rmErrorEvent.java
rmEvent.java
rmInfoEvent.java
rmManagerClient.java
b01e10c5bc0a29d1b0da96783b6d1582baeb2af2 16-Sep-2010 Joe Onorato <joeo@google.com> There is no @note javadoc tag.

Change-Id: I4bb4e0be518b01f2a81d870ff4ec9da81555afbd
rmManagerClient.java
d074e30ce44b9e33da43b67a4515b8986ca72b26 29-Jul-2010 aimitakeshi <aimitakeshi@gmail.com> Initial contribution from Sony Corporation.

Add DRM Framework to support DRM content playback
together with StageFright.

- DRM Framework code is added
- include/drm
- drm
- api/current.xml is updated to include DRM Framework Java APIs
- cmds/servicemanager/service_manager.c is modified
to add drmManager and drmIOService.

Change-Id: I6d7bc9c7067362b500e530988a9ce241761866fb
rmConvertedStatus.java
rmEvent.java
rmInfo.java
rmInfoEvent.java
rmInfoRequest.java
rmInfoStatus.java
rmManagerClient.java
rmRights.java
rmStore.java
rmSupportInfo.java
rmUtils.java
rocessedData.java