Commit Graph

6618 Commits

Author SHA1 Message Date
Clément Julliard
a7d2de4868 Relax constraints on valid ImageReader usage flags
The only allowed format - usage pairs are currently:
* PRIVATE with USAGE_GPU_SAMPLED_IMAGE
* PRIVATE with USAGE_VIDEO_ENCODE
* PRIVATE with USAGE_GPU_SAMPLED_IMAGE | USAGE_VIDEO_ENCODE
* Non-PRIVATE with USAGE_CPU_READ_RARELY
* Non-PRIVATE with USAGE_CPU_READ_OFTEN

This commit enable other cases, ie. PRIVATE with
GRALLOC_USAGE_HW_COMPOSER.

Bug: 77148005
Test: Manually tested it.
Change-Id: I414c25bc62d52a3573461df6cec4d88512509ec4
2018-03-27 13:48:27 -07:00
Jerry Zhang
bb54f62d1a Merge "Guard against null server" into pi-dev 2018-03-27 17:54:21 +00:00
Jaewan Kim
51e33d1948 Merge changes from topics "session2_seekcompleted", "session2_pullout", "session2_fastforward" into pi-dev
* changes:
  MediaPlayerBase: Add PlayerEventCallback#onSeekCompleted()
  MediaSession2: Pull out Command/CommandGroup from the MediaSession2
  MediaController2: Add fastForward() / rewind()
2018-03-27 08:39:45 +00:00
TreeHugger Robot
30d648ab7a Merge "ExifInterface: Remove casting int[] to long[]" into pi-dev 2018-03-27 07:57:14 +00:00
Jaewan Kim
598265bd86 MediaPlayerBase: Add PlayerEventCallback#onSeekCompleted()
PlayerEventCallback#onSeekCompleted() will be called when the
MediaPlayerBase#seekTo() is completed. Following callbacks are also
added to listen the event.
  - SessionCallback#onSeekCompleted()
  - ControllerCallback#onSeekCompleted()

Bug: 74370608
Test: Build
Change-Id: Ib1ecd75f7e217ed9a927db3ab443073a1aef2074
2018-03-27 16:51:51 +09:00
Jaewan Kim
3b15124ecc MediaSession2: Pull out Command/CommandGroup from the MediaSession2
Bug: 74648408
Test: Build
Change-Id: I0a3d1ab6320c7b276e7b1defdccf9fa371ae02c0
2018-03-27 16:48:26 +09:00
Jaewan Kim
ab715ec20b MediaController2: Add fastForward() / rewind()
Following CLs are included
  - Add MediaController2#fastForward() / rewind()
  - Add MediaSession2.SessionCallback#onFastForward() / rewind()

Bug: 74724709
Test: Build
Change-Id: I0dd2b6c21931df937006ae26011ea9538720afee
2018-03-27 16:48:26 +09:00
TreeHugger Robot
72e895fd9f Merge "Remove unneeded context" into pi-dev 2018-03-27 07:17:24 +00:00
Jin Seok Park
473201868c ExifInterface: Remove casting int[] to long[]
This CL removes code that directly casts int[] to long[] and instead
iterates through the individual values and casts to int if necessary.
They are cast to integer because StripOffsets/StripByteCounts
Attributes can return either int[] or long[] values, but the maximum
length of a file that ExifInterface can handle is the maximum value
of integer, so it should be safe to cast the long values to integer
values.

Bug: 73091048
Test: Cts
Change-Id: I9f3b98204e0829a8a8a30927bb8c0a698c457654
2018-03-27 14:58:52 +09:00
Jerry Zhang
02a005703a Merge "Revert "Add additional context to MtpDatabase"" into pi-dev 2018-03-27 02:49:30 +00:00
Jerry Zhang
df101a4596 Merge "Write descriptors for Mtp in UsbService" into pi-dev 2018-03-27 02:49:02 +00:00
Christofer Åkersten
6823d81d8c Remove unneeded context
Bug: 76001644
Test: compile
Change-Id: Ib6d581650ff22d90da2bdc9ad295eab595aefb25
2018-03-27 11:33:17 +09:00
Christofer Åkersten
855617501c Merge "Hide Media*2 APIs" into pi-dev 2018-03-27 01:46:42 +00:00
Jerry Zhang
2ecbc7acdb Guard against null server
If MtpService stops before MtpServer
shuts down, the server will be null,
so don't attempt to use it in that
case.

Bug: 76433619
Test: no errors
Change-Id: I6744cb78908e6a0663a4b60107d5c9c18dda62bb
2018-03-27 00:01:33 +00:00
TreeHugger Robot
0aeb374380 Merge "AudioSystem: Add case for FOR_VIBRATE_RINGING in forceUseUsageToString" into pi-dev 2018-03-26 16:06:22 +00:00
Jaewan Kim
d21b33d8ca Merge "MediaSession2: Change return type of CommandGroup#getCommands()" into pi-dev 2018-03-26 10:55:30 +00:00
Jaewan Kim
449e358fea Merge "MediaMetadata2: Remove radio constants" into pi-dev 2018-03-26 10:53:24 +00:00
Jaewan Kim
ec0ab63ccb Merge "MediaSession2: Revisit command code" into pi-dev 2018-03-26 10:52:22 +00:00
Jaewan Kim
2a35051051 MediaSession2: Add CommandGroup#add/removeCommand(int)
Bug: 74648408
Test: Build
Change-Id: Icfcde5946e75ad74c2123be8064eb365366f5960
2018-03-26 08:10:22 +00:00
Jaewan Kim
c889c307b0 MediaMetadata2: Remove radio constants
Removeing radio constants until their names are finalized.

Bug: 75500592
Test: Build
Change-Id: I6f7a219c19dd24579a76c2064e9781ca53618c69
2018-03-26 17:07:12 +09:00
Jaewan Kim
a84c9eb1c4 MediaSession2: Change return type of CommandGroup#getCommands()
Bug: 74648408
Test: Build
Change-Id: I443dd0a1f244b285754561a4c485ef2e8530d42d
2018-03-26 15:30:44 +09:00
Jaewan Kim
e32fa0db4a MediaSession2: Revisit command code
Bug: 74648408
Test: Build
Change-Id: I0c66d6dec7f5a25bd4c36aa6e2c140951ea38855
2018-03-26 15:28:40 +09:00
Jaewan Kim
c92f8b4053 Merge "MediaSession2: Match APIs with MediaPlayerBase" into pi-dev 2018-03-26 05:12:17 +00:00
Jaewan Kim
a6ba53d69d Merge "MediaPlayerBase: Add PlayerEventCallback#onPlaybackSpeedChanged()" into pi-dev 2018-03-26 04:57:48 +00:00
Jaewan Kim
c4f56a6be5 Merge "MediaController2: Match APIs with MediaPlayerBase" into pi-dev 2018-03-26 02:07:57 +00:00
Jaewan Kim
46c07f3bd3 Merge "MediaPlaylistAgent: Add getMediaItem()" into pi-dev 2018-03-26 01:31:54 +00:00
Jaewan Kim
a7fac1c115 Merge "MediaController2: Remove MediaPlaylistAgent in the ControllerCallback" into pi-dev 2018-03-26 01:24:21 +00:00
Jack He
890e4e4546 AudioSystem: Add case for FOR_VIBRATE_RINGING in forceUseUsageToString
Bug: 72647074
Test: make, dumpsys audio
Change-Id: Ieaf2bf0e0ef6624409d1e91d9a1d232726460fc7
2018-03-24 00:21:16 -07:00
TreeHugger Robot
3d9601d60e Merge "PlayerBase: log when startWatching fails" into pi-dev 2018-03-24 02:14:38 +00:00
TreeHugger Robot
01aaabdea5 Merge "insert exif info for HEIF files" into pi-dev 2018-03-23 22:17:35 +00:00
Jean-Michel Trivi
b8748c65b8 PlayerBase: log when startWatching fails
Bug: 75274546
Test: set DEBUG to true, verify appOps logs in logcat
Change-Id: I19506372188dbaec0976733856513a94da75d2ea
2018-03-23 10:35:19 -07:00
TreeHugger Robot
cbb8cd77d5 Merge "Bluetooth: Enable in-band ringing in vibration mode (1/4)" into pi-dev 2018-03-23 08:22:56 +00:00
Jaewan Kim
6fac589d48 MediaPlayerBase: Add PlayerEventCallback#onPlaybackSpeedChanged()
Bug: 74093080, Bug: 75500592
Test: Run CTS with MediaComponents/runcts.sh
Change-Id: Ibdb3bc9e3fb379c2533eb7f1867e399769f9bb72
2018-03-23 16:21:47 +09:00
Jaewan Kim
888ccd17aa MediaSession2: Match APIs with MediaPlayerBase
Bug: 75500592
Test: Build
Change-Id: Ic2cf1fc9a9d11752d84ff6f69905b5983e57d10a
2018-03-23 16:08:33 +09:00
TreeHugger Robot
ff1c9fa576 Merge "Use SessionPlaylistAgent in MediaSession2Impl" into pi-dev 2018-03-23 07:08:08 +00:00
Jaewan Kim
5df1839263 MediaPlaylistAgent: Add getMediaItem()
Provide a way for a custom MediaPlaylistAgent to tell which
MediaItem2 maps to the DataSourceDesc from the
MediaPlayerBase#PlayerEventCallback.

Bug: 74316764, Bug: 75500592
Test: Run CTS with MediaComponents/runcts.sh
Change-Id: I45c9893bf74b2635f31949be537885a79860cfb3
2018-03-23 15:59:59 +09:00
Jaewan Kim
e98b8990bc MediaController2: Remove MediaPlaylistAgent in the ControllerCallback
Bug: 75500592
Test: Run CTS with MediaComponents/runcts.sh
Change-Id: Iffd089fd86284a802e1da155d13cb4877aab3f06
2018-03-23 15:17:04 +09:00
Jack He
6dd78c1759 Bluetooth: Enable in-band ringing in vibration mode (1/4)
* Add AudioSystem.FOR_VIBRATE_RINGING mode to match the native layer
  AUDIO_POLICY_FORCE_FOR_VIBRATE_RINGING force mode
* Switch to this mode when Bluetooth SCO is connected
* Modify AudioService.muteRingerModeStreams() method to not mute ringer
  volume when Bluetooth SCO is ON. Also, when ringer is unmuted, mirror
  speaker ringtone volume on Bluetooth SCO ringer

Bug: 72647074
Test: Call phone in vibration mode and hear ringtone on HFP enabled
      headset, verify that ringtone is only played through headset.
      Then disconnect headset and call again to verify that ringtone
      does not play through phone speaker in vibration mode.

Change-Id: I7d642020710c085f0e1f27c750c74b0e2fb57398
2018-03-23 06:14:33 +00:00
Hyundo Moon
9e5a7f2a63 Merge "MediaSession2: Protect MediaSessionManager APIs with permission" into pi-dev 2018-03-23 06:07:17 +00:00
Jaewan Kim
abf686e02c MediaController2: Match APIs with MediaPlayerBase
Bug: 74370608
Test: Build
Change-Id: I6a67b56f0d7a4afe723ea86e70c116fb730b3e69
2018-03-23 15:02:41 +09:00
Christofer Åkersten
8001abf738 Hide Media*2 APIs
Bug: 76121592
Test: make update-api
Change-Id: I5bf3d1a0f42fd88073c54ec1106be7cfe096a5f6
2018-03-23 12:18:42 +09:00
Jaewan Kim
e41b39d6e9 Merge "MediaSession2: Add more detailed documentation for addPlaylistItem()" into pi-dev 2018-03-23 02:47:25 +00:00
Jean-Michel Trivi
d847d7d0a9 Merge "Hide Media*2 APIs" into pi-dev 2018-03-23 01:12:14 +00:00
TreeHugger Robot
6ab6a9d433 Merge "Document CryptoInfo Settings for CENC 2016 & HLS Audio" into pi-dev 2018-03-23 01:02:30 +00:00
Jean-Michel Trivi
3a582e73c1 Hide Media*2 APIs
Bug: 76121592
Test: make offline-sdk-docs
Change-Id: Ic5eba5ba0b3ef9f11c582ab6db7d8d61934941dd
2018-03-22 16:30:14 -07:00
Chong Zhang
3edfdab205 insert exif info for HEIF files
bug: 76125031
Test: push some HEIC files with rotation to sdcard, and query
the content provider to see the orientation field is set.

Change-Id: I8235cbcd2aad2f0088d771ee53d2ca87cd85800d
2018-03-22 16:27:50 -07:00
John W. Bruce
6da8f88296 Document CryptoInfo Settings for CENC 2016 & HLS Audio
Adds additional documentation that clarifies how to set up CryptoInfo
objects for CENC 2016 decryption schemes, in particular for the case of
HLS SAMPLE-AES Audio.

Bug: 62503021
Test: make docs
Change-Id: Ia21ef62a4144e7b41b0216ba0b968ff6c52d0297
2018-03-22 15:58:21 -07:00
Julia Reynolds
224e2fb2ef Merge "Add vol up + power ringer toggle gesture" into pi-dev 2018-03-22 22:03:48 +00:00
Jerry Zhang
63a69fd4f8 Revert "Add additional context to MtpDatabase"
This reverts commit 5f0139d2e8.

Bug: 72877143
Test: Switch users, use MTP
Change-Id: Ide372a9311a4f2647715d052fc0e1d9a04808aa0
2018-03-22 11:35:19 -07:00
Jerry Zhang
6d319b8aaa Write descriptors for Mtp in UsbService
The current model for setting up a functionfs
function is:

UsbDeviceManager#setCurrentFunctions() ->
intent is sent to MtpReceiver to write the descriptors ->
init/hal waits for descriptors to write, then pulls up gadget ->
Gadget is configured, a USB_STATE intent starts MtpServer

The main downside of this is a lack of reliability because
the Mtp process could be killed at any point. Normally, a
gadget is unbound if its control endpoint is closed. no_disconnect
works around this, but is still a little janky. In addition, the
extra intent delays the startup of the gadget.

With the new model, UsbDeviceManager writes the descriptors
on initialization. Since it is a system service, it won't be killed.

UsbDeviceManager#setCurrentFunctions() ->
init/hal pulls up gadget ->
Gadget is configured, a USB_STATE intent starts MtpServer
MtpServer calls UsbManager#getControlFd to get a dup of the control
endpoint.

Also modify permissions so system server can access mtp files.

Bug: 72877174
Test: Change usb configurations to ptp/mtp
Change-Id: Id17d2b5930f4e1f37ec1b4f00add9d594174ad49
2018-03-22 11:35:19 -07:00