Commit Graph

62 Commits

Author SHA1 Message Date
Bob Badour
de423b7a58 [LSC] Add LOCAL_LICENSE_KINDS to frameworks/base
Added SPDX-license-identifier-Apache-2.0 to:
  drm/java/Android.bp
  graphics/java/Android.bp
  identity/Android.bp
  identity/java/Android.bp
  keystore/java/Android.bp
  location/java/Android.bp
  location/tests/Android.bp
  lowpan/java/Android.bp
  media/mca/effect/java/Android.bp
  media/mca/filterfw/java/Android.bp
  media/mca/filterpacks/java/Android.bp
  mime/java/Android.bp
  mms/java/Android.bp
  opengl/java/Android.bp
  rs/java/Android.bp
  sax/java/Android.bp
  services/tests/servicestests/test-apps/PackageParsingTestManifests/Android.bp
  telecomm/java/Android.bp
  telephony/common/Android.bp
  tests/FlickerTests/test-apps/Android.bp

Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:
  telephony/java/Android.bp

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all

Exempt-From-Owner-Approval: janitorial work
Change-Id: I2ee0af9ce8f74de2172b359b41d2c52a8b8f7e6c
2021-03-31 19:55:25 -07:00
Anton Hansson
9b2c4a650b Move framework java filegroups into subdirectories
All the java code used to build the framework jar and run metalava
was previously defined in the toplevel Android.bp files. Move these
into the subdirs where the source actually lives.

This simplifies the rules themselves (no path and needless prefix) and
declutters the top level Android.bp.

Test: m
Change-Id: I97086e309eacb879d16facb8497d9940fa5ddaf6
2021-03-30 12:26:55 +01:00
Victor Chang
37c6b6deeb Make a copy of libcore.util.ArraysUtils in framework
It helps remove it from the @CorePlatformApi

Bug: 154796679
Test: ArrayUtilsTest
Merged-In: I0c8f194a74a16b2cc46f9eea4571d5fb674fbc28
Change-Id: I0c8f194a74a16b2cc46f9eea4571d5fb674fbc28
2020-12-17 00:07:23 +00:00
Jeff Sharkey
fab0ab3c9c Improve OWNERS coverage across frameworks/base/.
As general background, OWNERS files expedite code reviews by helping
code authors quickly find relevant reviewers, and they also ensure
that stakeholders are involved in code changes in their areas.

Some teams under frameworks/base/ have been using OWNERS files
successfully for many years, and we're ready to expand them to cover
more areas.  Here's the historical coverage statistics for the last
two years of changes before these new OWNERS changes land:

-- 56% of changes are fully covered by OWNERS
-- 17% of changes are partially covered by OWNERS
-- 25% of changes have no OWNERS coverage

Working closely with team leads, we've now identified clear OWNERS on
a per-package basis, and we're using "include" directives whenever
possible to to simplify future maintenance.  With this extensive
effort, we've now improved our coverage as follows:

-- 98% of changes are fully covered by OWNERS
-- 1% of changes are partially covered by OWNERS
-- 1% of changes have no OWNERS coverage

This specific change is automatically generated by a script from
detailed ownership information confirmed by team leads.

Bug: 174932174
Test: manual
Exempt-From-Owner-Approval: refactoring with team leads buy-in
Merged-In: I9789c97c1de8e5d962b48c29c57d82fe83729eba
Change-Id: I9789c97c1de8e5d962b48c29c57d82fe83729eba
2020-12-08 08:36:27 -07:00
Xin Li
628590d7ec Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)
Bug: 166295507
Merged-In: I3d92a6de21a938f6b352ec26dc23420c0fe02b27
Change-Id: Ifdb80563ef042738778ebb8a7581a97c4e3d96e2
2020-08-31 21:21:38 -07:00
Jeff Tinker
0739a50dd1 Update language to comply with Android's inclusive language guidance
See https://source.android.com/setup/contribute/respectful-code for reference

BUG=161896447

Change-Id: I8ca0bbfdc5ecbef3dc9ccff3ef40a14de4e9c6fc
2020-08-13 16:07:08 -07:00
Robert Shih
ea42f766bd Deprecate legacy Drm APIs
Bug: 134789967
Test: build
Change-Id: I55243cad467b3ecc189742d8f3569f289111a613
2020-01-22 14:00:14 -08:00
Jeff Sharkey
530deca4be More robust DRM support, including tests.
Based on guidance from the DRM team, we should pass DRM files
directly to MediaMetadataRetriever, which can be used to obtain both
the underlying MIME type and the typical metadata to be indexed.

To help ensure this works correctly and doesn't regress, borrow
strategy from CTS which creates new Forward Locked media items for
testing, and verify that we scan them correctly.

Allow MediaMetadataRetriever to override the MIME type obtained
from a file extension, but only when the primary type agrees with
the extension.  This is the same policy we apply to XMP metadata.

Bug: 141146658
Test: atest --test-mapping packages/providers/MediaProvider
Change-Id: I494a539a81ed39411a3b59c4433b6520967962c2
2019-12-06 14:44:21 -07:00
Jeff Tinker
d9a6af2b4d Allow https URIs in convertUriToPath
bug:120049214
test: run cts -m CtsDrmTestCases -t android.drm.cts.DRMTest#testSupportsHttps

Change-Id: Id3f7e6c002ca2cca6b4c6561fced659882c91d21
2019-01-09 06:57:13 +00:00
Pete Gillin
60f55a255f Stop using Arrays.checkOffsetAndCount.
Start using ArrayUtils.throwsIfOutOfBounds instead. The Arrays method
is going to be removed.

Bug: 78447530
Test: cts-tradefed run cts-dev -m CtsOsTestCases (shows only unrelated failures: two user/userdebug mismatches and one from b/79471510)
Test: cts-tradefed run cts-dev -m CtsDrmTestCases
Test: adb shell am instrument -w -e class android.content.pm.LimitedLengthInputStreamTest com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner
Test: adb shell am instrument -w -e class android.os.FileBridgeTest com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner

Change-Id: Ib3cd4f4ead61dbec1ccdc94b2ad4ad9c28574582
2018-05-10 18:17:50 +01:00
isaid
21d71a4c8a Redundant/duplicate method to close Streams
Fixes: 62304559
Test: the code compiles which mean polymorphism works. No additional
tests necessary
Change-Id: I3d366f12c1f176213979da6b050957bc2adb2938
2017-06-06 14:20:02 -04:00
Narayan Kamath
492e9e851c Properly guard access to CloseGuard in finalizers.
CloseGuard instances are allocated in constructors and usually
assigned to final fields. This implies they're non-null in finalizers
except in the case where the constructor throws. We add a null check
to make sure we can continue cleaning up other state in the finalizer
(if applicable).

Also, this change decouples closeguard warnings in constructors
from other state based logic. This because the logic there is usually
duplicated with the call to close().

NOTE: This change is not a "complete" fix. Many of these finalizers
are broken in the case where <init> throws. The only objective of
this change is to make such errors more obvious.

Note that some of these classes don't have CTS tests.

Test: make, CtsMediaTestCases.
Bug: 35609098

Change-Id: I24d9e0215f80e44914dba8ab99b6312fd6ed1fc0
2017-04-03 18:12:04 +01:00
Jeff Tinker
5d9a8acdac Clarify release/close java docs
bug:25372187
Change-Id: Ibe13943731e53efa9408b0d6bf105063f3ce4334
2017-03-15 21:46:42 -07:00
Jeff Sharkey
60cfad80bd 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
2016-01-06 10:19:35 -07:00
Andreas Gampe
e6748ce31f Frameworks/base: Use Arrays.toString
Fix a couple of cases where Arrays.toString should be used.

Bug: 19797138
Change-Id: I905fc79e63face9b26975320a92086c732bf6316
2015-12-14 12:04:26 -08:00
Elliott Hughes
c1858228df Fix a few more stray libcore.io references.
Change-Id: Id328544bd3a382fec16507d0ae5b699fef44ebd7
2014-04-28 20:49:24 -07:00
Elliott Hughes
f97c63350a Move internal libcore.os users over to android.system.
Change-Id: I84e1ace19ba3b4e58d7bb24f3ecda1bdf5dc75a5
2014-04-28 16:38:43 -07:00
Jeff Sharkey
ebf8ad5d91 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
2014-02-06 09:47:38 -08:00
Narayan Kamath
38885b63fc 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
2014-01-29 12:50:09 +00:00
Ashok Bhat
33d603877a 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>
2014-01-17 14:38:25 +00:00
John Spurlock
6090995951 Remove unused imports from frameworks/base.
Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
2013-11-20 11:31:47 -05:00
Jeff Tinker
490dd056bd Revert "Enhancement for OnInfo callback on DRM Framework"
This reverts commit 6fd97b7d93.

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

Change-Id: I85b84d6b602079571be1a7237c907716db9cdf54
2013-09-03 10:13:17 -07:00
Takeshi Aimi
6fd97b7d93 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)
2013-08-23 18:02:40 -07:00
Jeff Sharkey
7ccc90955f 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
2012-12-17 17:04:16 -08:00
Jeff Sharkey
f67c8a9685 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
2012-12-13 13:51:40 -08:00
Kenny Root
58ed5d748c am 768d9e1a: Merge "Correct executable bit for source files"
* commit '768d9e1a72ceee7d4a5f608776b87b62d6ce4a04':
  Correct executable bit for source files
2012-11-07 11:52:12 -08:00
Kenny Root
3a084af2e9 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
2012-11-07 10:27:31 -08:00
James Dong
0889fdae87 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
2012-08-22 13:47:19 -07:00
James Dong
0113855087 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
2012-05-07 14:49:00 -07:00
James Dong
e43dadffb8 Merge "Fixes to DrmConvertedStatus, DrmInfoStatus, and DrmSupportInfo classes" 2012-03-02 11:01:27 -08:00
Jean-Baptiste Queru
7edb9a9490 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
2012-03-01 15:35:39 -08:00
James Dong
52cb1e5988 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
2012-03-01 12:23:46 -08:00
Kei Takahashi
6225df0103 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
2012-02-29 12:59:53 +09:00
James Dong
2f16d7eae1 Merge "Fix API issues in DrmRights class." 2012-02-28 14:34:02 -08:00
James Dong
e512ad5089 Merge "Deprecate default constructor for classes that should have been meant to be interfaces" 2012-02-28 14:33:19 -08:00
James Dong
da5ac93b00 Merge "Added missing javadoc comment for public API in DrmUtils class" 2012-02-28 13:09:24 -08:00
James Dong
f7a68fc985 Added missing javadoc comment for public API in DrmUtils class
o also fixed mis-spelled private method name (quiteDispose => quietlyDispose)

Change-Id: I692cd7471eac547b849dd53853f60843b3915750
2012-02-27 22:46:02 -08:00
James Dong
5cb68c86cc 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
2012-02-27 18:34:04 -08:00
James Dong
c4a9976aa1 Deprecated a mis-spelled method and replaced it with a new method
Change-Id: Id049a4effab120c3f837cde60a87efcd89a64ec6
2012-02-27 18:25:31 -08:00
James Dong
060526f985 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
2012-02-27 18:00:12 -08:00
James Dong
b7956de3a9 Merge "Improved comment about DrmStore.ConstraintsColumns" 2012-02-24 16:36:34 -08:00
James Dong
e82f055e3e 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
2012-02-24 15:50:41 -08:00
James Dong
365ce1db33 Improved comment about DrmStore.ConstraintsColumns
Change-Id: I89c588759dd409ac0252d686af12bfe4e105f3d5
2012-02-23 10:58:55 -08:00
James Dong
6c95d4ff16 Added checks for illegal arguments
Change-Id: Ib386c33b7e2cab12cabbb9dc023d54df05472960
2012-02-15 11:30:51 -08:00
Gloria Wang
a17d454fd0 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
2011-07-25 16:09:58 -07:00
Gloria Wang
b7e7bdfe78 - Add two sanity checks.
- Remove one unnecessary line.
- Clear the extendedData vector in DecryptHandle.

Change-Id: I2610c6d68f12d48cb69323a5eb2ae4b3b3e44dff
2011-06-22 16:36:24 -07:00
Gloria Wang
2980a21375 -Fix some typo
-Remove one unnecessary memory allocation

Change-Id: Icea21f33d2c7891333e06429d2f382389e5bd27f
2011-06-15 17:32:06 -07:00
Bill Gruber
f46821b9d9 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
2011-03-23 16:00:30 -07:00
Bill Gruber
0e092f806b DRM API doc scrub
This change contains information contributed by Sony Corporation.
Bug: 4119363

Change-Id: I6f565c15d512d675993dc65f7fee19bd3d0bc0fa
2011-03-23 13:21:48 -07:00
Gloria Wang
454b2d1c34 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
2011-03-17 12:38:40 -07:00