Commit Graph

8860 Commits

Author SHA1 Message Date
TreeHugger Robot
e7f3f69461 Merge "Fix bug where JPEG file with XMP is incorrectly saved" 2020-02-10 06:21:41 +00:00
Jin Seok Park
f2af1112fa Fix bug where JPEG file with XMP is incorrectly saved
Currently, even if a JPEG file has an XMP data stored separately
from the EXIF data, it saves it as an EXIF tag, and when
ExifInterface#saveAttributes is called, the XMP data is stored
inside the EXIF data. This can cause a problem since the maximum
bytes that an EXIF data can hold inside a JPEG file is 65536 bytes,
and having the XMP data inside the EXIF data can make the EXIF data
exceed this limit.

This CL solves this issue by separately saving the EXIF data if it
existed separately in the original file.

Bug: 147778520, Bug: 149010485
Test: manually with file attached in bug
Change-Id: I320942858beb14cc3b2e80330857089a0ad26533
2020-02-10 13:57:21 +09:00
Jaewan Kim
dab21fdbb8 MediaSessionService: Fix crash with implicit media button receiver
PendingIntent can be built with implicit intent (i.e. intent without
ComponentName), while using it cause exception.
However, apps can still create and set media button receiver with
implicit intent. Prevent crash when MediaSessionService is notify about
such app's media button receiver.

Bug: 147536687
Test: Build and run
Change-Id: Icfdd45edaa8e25dbdeca3c2180bd234718eef202
2020-02-10 00:42:01 +00:00
Treehugger Robot
71ab50ae23 Merge "DO NOT MERGE - Merge QQ1A.200205.002 into master" 2020-02-08 01:29:23 +00:00
TreeHugger Robot
78e1da90ee Merge "Remove vberCn, lberCn, xerCn from system API" 2020-02-08 00:12:11 +00:00
Jean-Michel Trivi
cb9c541925 Merge "Rename AudioDeviceAddress to AudioDevice" 2020-02-07 16:45:04 +00:00
Kyunglyul Hyun
47d289e205 MediaRouter: clear session info when disconnected
When MediaRoute2ProviderProxy disconnects, it should
clear its session info but it didn't.

This CL corrects it such that sessions are released correctly.

In addition to that, it also releases the previous controllers when
transfer w/ MediaRouter2Manager.

Test: manually
Change-Id: If827a9473d79e3a154688c0dfaa3075b0e0b6ef5
2020-02-07 21:45:20 +09:00
Hyundo Moon
717ef72d8d Set the current/max volume of system routes
Also, this CL makes SystemMediaRoute2Provider publish new route infos
when the volumes are changed.

MediaRouter2 can get the volume changes from
RouteCallback#onRoutesChanged().

Bug: 149005682
Test: atest mediaroutertest and CTS
Change-Id: Icfc3b9f3b568e66d55782b11e0d29fec3b9eac6e
2020-02-07 14:54:46 +09:00
shubang
eb47b34a36 Change names of stopTune and stopScan
Advice from API council

Test: make;
Bug: 139308734
Change-Id: I106dd9f488df79659bb2c63ac8498121c5f4c17c
2020-02-06 17:29:32 -08:00
TreeHugger Robot
21d778f061 Merge changes I640f6470,Idca3ccc6
* changes:
  add java doc for SoundTriggerManager.Model
  fix naming discrepancy in SoundTrigger
2020-02-07 01:07:14 +00:00
Henry Fang
b386408eb3 Remove vberCn, lberCn, xerCn from system API
They are not used general case.

bug: 148110220
Test: Manual
Change-Id: I45fbbff044f4ff0a30c55cf156666ce60d15874f
2020-02-06 16:35:31 -08:00
TreeHugger Robot
69eead6693 Merge "Implement getFrontendInfo" 2020-02-06 23:21:09 +00:00
Jean-Michel Trivi
036c5acae1 Rename AudioDeviceAddress to AudioDevice
Bug: 148565943
Test: atest AudioServiceHostTest AudioServiceHostTest#testAudioDevice
Change-Id: Idb3ed485e86f6d3ce443df910a087ce246c7d3f5
2020-02-06 14:17:55 -08:00
Nicholas Ambur
e3afbbb716 add java doc for SoundTriggerManager.Model
Bug: 149015460
Test: build and boot smoke test
Change-Id: I640f6470616a152ac4dba5acc82637191f9a626d
2020-02-06 13:20:13 -08:00
Hyundo Moon
891c94f554 MediaRoute2ProviderService: Resolve API review
Bug: 148781313
Test: mediaroutertest and CTS
Change-Id: Ia0d2bdcc1d5c91c68f3b4bf3e215daeda72b27d0
2020-02-06 11:39:16 +09:00
Automerger Merge Worker
a6b0017b8f Merge "TvProvider API standardization for ATSC3.0 and DVB" am: 19f99b96eb am: 513b456663 am: 18f8b709f3
Change-Id: I19dd1a6fcfed99138d86883d1576538bcd266b13
2020-02-05 21:49:55 +00:00
Automerger Merge Worker
513b456663 Merge "TvProvider API standardization for ATSC3.0 and DVB" am: 19f99b96eb
Change-Id: Ic859063c1dacbad5152b5210fae0c410219e77bc
2020-02-05 21:23:12 +00:00
Xin Li
5b8d15365a DO NOT MERGE - Merge QQ1A.200205.002 into master
Bug: 147428392
Change-Id: I7939379e221123a74b387bf78ce90d68e0468ff0
2020-02-05 10:45:09 -08:00
Nicholas Ambur
ce5cd840c9 fix naming discrepancy in SoundTrigger
adjusted SoundTrigger.AudioCapabilities constants

Bug: 148853209
Test: manual bulid and test
&& atest SoundTriggerMiddlewareImplTest

Change-Id: Idca3ccc671b90f6f31c872669400b44fbbd5b9bd
2020-02-05 09:50:38 -08:00
Nadav Bar
37fe5fa718 Merge "AudioRecordingCofiguration#getClientUid - Throw SecurityException if client is missing permision" 2020-02-05 17:08:23 +00:00
Kyunglyul Hyun
0a4502a0fb Merge "MediaRouter: Call onDiscoveryPreferenceChanged()" 2020-02-05 09:27:17 +00:00
James Wei
fa96ad19c7 Merge "MTP: Add MTP Thumbnail feature" 2020-02-05 02:56:03 +00:00
Kyunglyul Hyun
1866d8ae80 MediaRouter: Call onDiscoveryPreferenceChanged()
After this CL, MediaRoute2ProviderService#onDiscoveryPreferenceChanged()
will be called when a callback is registered/unregistered from
MediaRouter2

To test the behavior, a new test class (MediaRoute2ProviderServiceTest)
is added as well.

Bug: 148771044
Test: atest android.media.cts.MediaRoute2InfoTest
  && atest android.media.cts.MediaRouter2Test
  && atest android.media.cts.RouteDiscoveryPreferenceTest
  && atest android.media.cts.RoutingSessionInfoTest
  && atest android.media.cts.MediaRoute2ProviderServiceTest

Change-Id: I9c5933f6074cc1cf41f524bd403e7ee842b4033c
2020-02-05 11:31:19 +09:00
shubang
51cc62fb88 Implement getFrontendInfo
Test: make; acloud create;
Change-Id: I60e3cbef3a608766c0656165861f8b4ffa2cb2f2
2020-02-04 18:25:43 -08:00
shubang
884ae946c8 Fix: Use super Builder class for TsFilterConfiguration
Test: make;
Bug: 139308734
Change-Id: I6a62c4e50680086e2d075f5aeab3217b612657b7
2020-02-04 17:53:38 -08:00
Amy Zhang
f816b93b97 Merge "Make TvInputManager.getClientPid(int) to hidden api" 2020-02-04 21:29:14 +00:00
TreeHugger Robot
1a212544a2 Merge "[Media ML] Add button session management related classes" 2020-02-04 08:26:56 +00:00
Jin Seok Park
c4a53f5e32 [Media ML] Add button session management related classes
This CL creates hidden MediaKeyDispatcher and SessionPolicyProvider
classes that OEMs can implement/override to customize button session
management. Implementation code inside MediaSessionService will
follow in the next CL.

Bug: 147027868
Test: build
Change-Id: Ie3d0c558c4a5f04d27411f6f36e9f5c3a6aea3d0
2020-02-04 16:13:54 +09:00
TreeHugger Robot
dfe9f394b3 Merge "Change byte fields to int" 2020-02-04 01:37:57 +00:00
TreeHugger Robot
eb765283e3 Merge "Set/get allowed capture policy via AudioService." 2020-02-03 18:17:42 +00:00
Kyunglyul Hyun
e0757c5827 Merge "MediaRouter: Add MediaRoute2Info#isSystemRoute" 2020-02-03 02:22:37 +00:00
Nadav Bar
a2b16cd65a AudioRecordingCofiguration#getClientUid - Throw SecurityException if client is missing permision
Bug: 147834506
Test: atest android.media.cts.AudioRecordingConfigurationTest
Change-Id: Ie6af7c1bb76eb4374c20dbe4723e90720a0dec95
2020-02-01 12:26:51 +02:00
Hyundo Moon
7456712f81 Merge "Make MediaRoute2Info#getOriginalId() as @TestApi" 2020-02-01 03:31:57 +00:00
Amy
f81a446b22 Make TvInputManager.getClientPid(int) to hidden api
This API should only be used among system services.

Test: make
Bug: 148678336
Change-Id: I416639b926ef4b13ee04f75712b0885e1656d9e9
2020-01-31 17:26:43 -08:00
jiabin
b33f36971d Set/get allowed capture policy via AudioService.
Do not call AudioSystem.setAllowedCapturePolicy directly in
AudioManager. Instead, send the request to AudioService and calling the
function in AudioService. In that case, AudioService can cached the
request so that it benefits returning correct playback configuration.

When querying capture policy, AudioManager will query AudioService first
to see if there is cached capture policy. If there is exception, return
cached capture policy in AudioManager.

Test: dumpsys audio, query active audio playback configuration
Test: atest AudioManagerTest, AudioAttributesTest
Test: atest AudioPlaybackCaptureTest, AudioPlaybackConfigurationTest
Bug: 145115448
Change-Id: I170571d8a67839bc5a53991d6c89127b99b5c794
2020-01-31 16:23:32 -08:00
Kyeongkab.Nam
5d08d4f235 TvProvider API standardization for ATSC3.0 and DVB
TvProvider API standardization and customization for Digital Tuner TV
Input support. (Programs.COLUMN_EVENT_ID, ProgramColumns.COLUMN_SPLIT_ID,
Programs.COLUMN_GLOBAL_CONTENT_ID, Channels.TYPE_ATSC3_T,
Channels.COLUMN_GLOBAL_CONTENT_ID)

Bug: 139424812
Bug: 139425741
Test: Manual
Change-Id: Idb4158cd2c9833ce9dd007de3b8fc5ccfe2a36b4
2020-01-31 11:10:13 -08:00
Automerger Merge Worker
5ada73d9a8 Merge "audiomanager: fix volume group callback" am: bb10358ac2 am: 33e7011c7f am: 85151d5759
Change-Id: Icb92afd3913a3b567e05b8671cb0c8147fda8b27
2020-01-31 16:25:14 +00:00
Automerger Merge Worker
33e7011c7f Merge "audiomanager: fix volume group callback" am: bb10358ac2
Change-Id: I1f9329952a84a5fe2463163600793771ffe253c5
2020-01-31 16:05:58 +00:00
Hyundo Moon
89335865d2 Make MediaRoute2Info#getOriginalId() as @TestApi
This is for clearer CTS tests.

Bug: 148582813
Test: atest android.media.cts.MediaRoute2InfoTest
      atest android.media.cts.MediaRouter2Test
      atest android.media.cts.RouteDiscoveryPreferenceTest
      atest android.media.cts.RoutingSessionInfoTest
Change-Id: I6c62236d7e61a130e15b0782923b3a2f721b117d
2020-01-31 17:26:59 +09:00
Kyunglyul Hyun
96d36cee93 MediaRouter: Add MediaRoute2Info#isSystemRoute
MediaRoute2Info#isSystemRoute returns true only if
it is generated by SystemMediaRoute2Provider.

In addition, MediaRouter2 and MediaRouter2Manager
always include system routes when getRoutes or getAvailableRoutes
is called.

This CL will change the behavior of MediaRouter2#getRoutes(), however,
without this change, there doesn't seem to be a good way to get
system routes. (e.g. how can we support multiple bt routes in xMR?)

Bug: 145632124
Test: atest android.media.cts.MediaRoute2InfoTest
  && atest android.media.cts.MediaRouter2Test
  && atest android.media.cts.RouteDiscoveryPreferenceTest
  && atest android.media.cts.RoutingSessionInfoTest
  && atest mediaroutertest
Change-Id: I18ea188b68e6e1335cb0e25c3cc3674910d4d645
2020-01-31 17:11:27 +09:00
Andrii Kulian
e11e951f66 Merge changes from topic "add_bundle_to_window_context"
* changes:
  Exempt-From-Owner-Approval: Fix usages of WindowManager.getDefaultDisplay() in f/b
  Add bundle options to Context#createWindowContext API
2020-01-31 01:16:34 +00:00
Andrii Kulian
e57f2dc246 Exempt-From-Owner-Approval: Fix usages of WindowManager.getDefaultDisplay() in f/b
Replace the existing usages of now-deprecated API
WindowManager.getDefaultDisplay() with WindowMetrics or
Context.getDisplay() in frameworks/base.

Bug: 128338354
Test: Build, auto test
Change-Id: I02d38a022c5e0e6e9d699f03d35b65d6c8126da9
2020-01-31 01:15:21 +00:00
Jaewan Kim
3fbf3d600d Merge "MediaSessionManager: Apply API review" 2020-01-30 00:35:09 +00:00
François Gaffie
9a2725c0b7 audiomanager: fix volume group callback
The AudioVolumeGroup change callback for a given group may be lost.
It is due to a poor copy paste in the Handler implementation where
the previous messages where removed.
In the case of volume group, it is forbidden to remove handled message
otherwise previous group change will not be reported.

Test: run cts-dev -m CtsMediaTestCase --test android.media.cts.AudioManagerTest#testVolumeGroupCallback
Bug: 136121584
Change-Id: I7434e66f02143c7da0f7156347d899e81467ee98
Signed-off-by: François Gaffie <francois.gaffie@renault.com>
2020-01-29 10:25:07 -08:00
Kyunglyul Hyun
b37b54cca9 Merge "MediaRouter: Address API review issues" 2020-01-29 06:34:33 +00:00
Kyunglyul Hyun
2b4e926196 MediaRouter: Address API review issues
This CL adds javadoc to explain new APIs in detail and remove
an unnecessary method: MediaRoute2Info#hasAnyFeatures

Bug: 148379928
Test: atest mediaroutertest (w/ mediarouteprovider installed)
Change-Id: I6be0d66044c591525468153ad0122f082d7582aa
2020-01-29 11:32:49 +09:00
shubang
c9786d6b28 Change byte fields to int
Test: make;
Bug: 139308734
Change-Id: I8e3ae5f85a27355828b47e5962b4c868997a0765
2020-01-28 13:46:40 -08:00
Jean-Michel Trivi
84d483e1e2 MediaSessionRecord: fix volume stream query
Use the correct AudioAttributes method to query which volume stream
  is associated with audio attributes.
Prevent AudioProductStrategy from returning invalid volume stream
  types / stream types unknown for volume control

Bug: 148263626
Test: see bug

Change-Id: I64d01286815474d5e23fbe7e57c58bfdf57ebd3e
2020-01-28 13:03:44 -08:00
TreeHugger Robot
1df5bd7630 Merge "TIF: DVR API customization" 2020-01-28 07:57:33 +00:00
Kyeongkab.Nam
7f3f8c1f8c TIF: DVR API customization
Add Bundle param to TvRecordingClient.startRecording() and
TvInputService.RecordingSession.onStartRecording().

Bug: 139425279
Test: run cts -m CtsTvTestCases
Change-Id: I2a66e5e48617b593c14700ddf1bf207e6ada8b6d
2020-01-27 19:49:51 -08:00