kopia lustrzana https://github.com/ryukoposting/Signal-Android
Update ExoPlayer to 2.18.1
rodzic
4b195c67cb
commit
fa55062510
|
@ -4,7 +4,6 @@ import android.media.AudioManager
|
|||
import android.os.Bundle
|
||||
import android.os.ResultReceiver
|
||||
import com.google.android.exoplayer2.C
|
||||
import com.google.android.exoplayer2.ControlDispatcher
|
||||
import com.google.android.exoplayer2.PlaybackParameters
|
||||
import com.google.android.exoplayer2.Player
|
||||
import com.google.android.exoplayer2.SimpleExoPlayer
|
||||
|
@ -22,8 +21,7 @@ class VoiceNotePlaybackController(
|
|||
private val TAG = Log.tag(VoiceNoteMediaController::class.java)
|
||||
}
|
||||
|
||||
@Suppress("deprecation")
|
||||
override fun onCommand(p: Player, controlDispatcher: ControlDispatcher, command: String, extras: Bundle?, cb: ResultReceiver?): Boolean {
|
||||
override fun onCommand(p: Player, command: String, extras: Bundle?, cb: ResultReceiver?): Boolean {
|
||||
Log.d(TAG, "[onCommand] Received player command $command (extras? ${extras != null})")
|
||||
|
||||
if (command == VoiceNotePlaybackService.ACTION_NEXT_PLAYBACK_SPEED) {
|
||||
|
@ -37,8 +35,8 @@ class VoiceNotePlaybackController(
|
|||
val currentStreamType = Util.getStreamTypeForAudioUsage(player.audioAttributes.usage)
|
||||
if (newStreamType != currentStreamType) {
|
||||
val attributes = when (newStreamType) {
|
||||
AudioManager.STREAM_MUSIC -> AudioAttributes.Builder().setContentType(C.CONTENT_TYPE_MUSIC).setUsage(C.USAGE_MEDIA).build()
|
||||
AudioManager.STREAM_VOICE_CALL -> AudioAttributes.Builder().setContentType(C.CONTENT_TYPE_SPEECH).setUsage(C.USAGE_VOICE_COMMUNICATION).build()
|
||||
AudioManager.STREAM_MUSIC -> AudioAttributes.Builder().setContentType(C.AUDIO_CONTENT_TYPE_MUSIC).setUsage(C.USAGE_MEDIA).build()
|
||||
AudioManager.STREAM_VOICE_CALL -> AudioAttributes.Builder().setContentType(C.AUDIO_CONTENT_TYPE_SPEECH).setUsage(C.USAGE_VOICE_COMMUNICATION).build()
|
||||
else -> throw AssertionError()
|
||||
}
|
||||
|
||||
|
|
|
@ -13,7 +13,6 @@ import androidx.annotation.Nullable;
|
|||
import androidx.annotation.WorkerThread;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import com.google.android.exoplayer2.ControlDispatcher;
|
||||
import com.google.android.exoplayer2.MediaItem;
|
||||
import com.google.android.exoplayer2.MediaMetadata;
|
||||
import com.google.android.exoplayer2.Player;
|
||||
|
@ -291,7 +290,6 @@ final class VoiceNotePlaybackPreparer implements MediaSessionConnector.PlaybackP
|
|||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public boolean onCommand(@NonNull Player player,
|
||||
@NonNull ControlDispatcher controlDispatcher,
|
||||
@NonNull String command,
|
||||
@Nullable Bundle extras,
|
||||
@Nullable ResultReceiver cb)
|
||||
|
|
|
@ -51,31 +51,11 @@ public final class SignalMediaSourceFactory implements MediaSourceFactory {
|
|||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MediaSourceFactory setStreamKeys(@Nullable List<StreamKey> streamKeys) {
|
||||
return progressiveMediaSourceFactory.setStreamKeys(streamKeys);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MediaSourceFactory setDrmSessionManagerProvider(@Nullable DrmSessionManagerProvider drmSessionManagerProvider) {
|
||||
return progressiveMediaSourceFactory.setDrmSessionManagerProvider(drmSessionManagerProvider);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MediaSourceFactory setDrmSessionManager(@Nullable DrmSessionManager drmSessionManager) {
|
||||
return progressiveMediaSourceFactory.setDrmSessionManager(drmSessionManager);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MediaSourceFactory setDrmHttpDataSourceFactory(@Nullable HttpDataSource.Factory drmHttpDataSourceFactory) {
|
||||
return progressiveMediaSourceFactory.setDrmHttpDataSourceFactory(drmHttpDataSourceFactory);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MediaSourceFactory setDrmUserAgent(@Nullable String userAgent) {
|
||||
return progressiveMediaSourceFactory.setDrmUserAgent(userAgent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MediaSourceFactory setLoadErrorHandlingPolicy(@Nullable LoadErrorHandlingPolicy loadErrorHandlingPolicy) {
|
||||
return progressiveMediaSourceFactory.setLoadErrorHandlingPolicy(loadErrorHandlingPolicy);
|
||||
|
@ -90,9 +70,4 @@ public final class SignalMediaSourceFactory implements MediaSourceFactory {
|
|||
public MediaSource createMediaSource(MediaItem mediaItem) {
|
||||
return progressiveMediaSourceFactory.createMediaSource(mediaItem);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MediaSource createMediaSource(Uri uri) {
|
||||
return progressiveMediaSourceFactory.createMediaSource(uri);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,6 @@ import android.media.AudioManager
|
|||
import android.os.Bundle
|
||||
import android.support.v4.media.session.MediaSessionCompat
|
||||
import com.google.android.exoplayer2.C
|
||||
import com.google.android.exoplayer2.ControlDispatcher
|
||||
import com.google.android.exoplayer2.SimpleExoPlayer
|
||||
import com.google.android.exoplayer2.audio.AudioAttributes
|
||||
import org.junit.Test
|
||||
|
@ -27,7 +26,6 @@ class VoiceNotePlaybackControllerTest {
|
|||
private val playbackParameters = VoiceNotePlaybackParameters(mediaSessionCompat)
|
||||
private val mediaAudioAttributes = AudioAttributes.Builder().setContentType(C.CONTENT_TYPE_MUSIC).setUsage(C.USAGE_MEDIA).build()
|
||||
private val callAudioAttributes = AudioAttributes.Builder().setContentType(C.CONTENT_TYPE_SPEECH).setUsage(C.USAGE_VOICE_COMMUNICATION).build()
|
||||
private val controlDispatcher = mock(ControlDispatcher::class.java)
|
||||
private val player: SimpleExoPlayer = mock(SimpleExoPlayer::class.java)
|
||||
private val testSubject = VoiceNotePlaybackController(player, playbackParameters)
|
||||
|
||||
|
@ -41,7 +39,7 @@ class VoiceNotePlaybackControllerTest {
|
|||
val expected = callAudioAttributes
|
||||
|
||||
// WHEN
|
||||
testSubject.onCommand(player, controlDispatcher, command, extras, null)
|
||||
testSubject.onCommand(player, command, extras, null)
|
||||
|
||||
// THEN
|
||||
verify(player).playWhenReady = false
|
||||
|
@ -59,7 +57,7 @@ class VoiceNotePlaybackControllerTest {
|
|||
val expected = mediaAudioAttributes
|
||||
|
||||
// WHEN
|
||||
testSubject.onCommand(player, controlDispatcher, command, extras, null)
|
||||
testSubject.onCommand(player, command, extras, null)
|
||||
|
||||
// THEN
|
||||
verify(player).playWhenReady = false
|
||||
|
@ -76,7 +74,7 @@ class VoiceNotePlaybackControllerTest {
|
|||
val extras = Bundle().apply { putInt(VoiceNotePlaybackService.ACTION_SET_AUDIO_STREAM, AudioManager.STREAM_VOICE_CALL) }
|
||||
|
||||
// WHEN
|
||||
testSubject.onCommand(player, controlDispatcher, command, extras, null)
|
||||
testSubject.onCommand(player, command, extras, null)
|
||||
|
||||
// THEN
|
||||
verify(player, Mockito.never()).playWhenReady = anyBoolean()
|
||||
|
@ -92,7 +90,7 @@ class VoiceNotePlaybackControllerTest {
|
|||
val extras = Bundle().apply { putInt(VoiceNotePlaybackService.ACTION_SET_AUDIO_STREAM, AudioManager.STREAM_MUSIC) }
|
||||
|
||||
// WHEN
|
||||
testSubject.onCommand(player, controlDispatcher, command, extras, null)
|
||||
testSubject.onCommand(player, command, extras, null)
|
||||
|
||||
// THEN
|
||||
verify(player, Mockito.never()).playWhenReady = anyBoolean()
|
||||
|
|
|
@ -5,7 +5,7 @@ dependencyResolutionManagement {
|
|||
versionCatalogs {
|
||||
libs {
|
||||
version('libsignal-client', '0.20.0')
|
||||
version('exoplayer', '2.15.0')
|
||||
version('exoplayer', '2.18.1')
|
||||
version('androidx-camera', '1.1.0')
|
||||
version('androidx-lifecycle', '2.3.1')
|
||||
version('mp4parser', '1.9.39')
|
||||
|
|
|
@ -234,6 +234,22 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
|
|||
<sha256 value="e3877fa529fe29177f34a26e0790ed35544848b0c7503bfed30b2539f1686d65" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="androidx.core" name="core" version="1.6.0">
|
||||
<artifact name="core-1.6.0.aar">
|
||||
<sha256 value="875dbec888c91b05521575fd180cc08824d2c4d12b10b0261b4f9d6825214ef1" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="core-1.6.0.module">
|
||||
<sha256 value="8348e2b5c0c7e283370b85037cec8b32b4acab8d73a7a53235a372446b1387c8" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="androidx.core" name="core" version="1.7.0">
|
||||
<artifact name="core-1.7.0.aar">
|
||||
<sha256 value="aaf6734226fff923784f92f65d78a2984dbf17534138855c5ce2038f18656e0b" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="core-1.7.0.module">
|
||||
<sha256 value="988f820899d5a4982e5c878ca1cd417970ace332ea2ff72f5be19b233fa0e788" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="androidx.core" name="core-ktx" version="1.1.0">
|
||||
<artifact name="core-ktx-1.1.0.aar">
|
||||
<sha256 value="070cc5f8864f449128a2f4b25ca5b67aa3adca3ee1bd611e2eaf1a18fad83178" origin="Generated by Gradle"/>
|
||||
|
@ -554,6 +570,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
|
|||
<sha256 value="b33e9774c6079652153496218d8b60c2becf76609e1dd899b3c5784a6de4fa7f" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="androidx.media" name="media" version="1.4.3">
|
||||
<artifact name="media-1.4.3.aar">
|
||||
<sha256 value="89a83d648dafeb5160a76dcdf996735d746f410c115166cf15693b5208d73d95" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="media-1.4.3.module">
|
||||
<sha256 value="21e0d4c4c0565106558eab24e6c1344866a300dfacad4732d942c9e920ac8ff9" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="androidx.multidex" name="multidex" version="2.0.0">
|
||||
<artifact name="multidex-2.0.0.aar">
|
||||
<sha256 value="c01700091072e0ff5d8ec2d00eac6b8f96ea18646080425e9ce3c6a7b5f66e33" origin="Generated by Gradle"/>
|
||||
|
@ -1496,6 +1520,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
|
|||
<sha256 value="e19b442f82ca96565c0e23f8028f96e0355f7ebf8e22cc0693c3eb90c3b272fa" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="com.google.android.exoplayer" name="exoplayer-common" version="2.18.1">
|
||||
<artifact name="exoplayer-common-2.18.1.aar">
|
||||
<sha256 value="2ca678c0c88935361c01f75455747de6124565b46162cbbcab00aac5498cc846" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="exoplayer-common-2.18.1.module">
|
||||
<sha256 value="5edad89e532cc835ee034ad86cbad0ec3de3eddb099cdbb8f1e640f3c4562b73" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="com.google.android.exoplayer" name="exoplayer-core" version="2.15.0">
|
||||
<artifact name="exoplayer-core-2.15.0.aar">
|
||||
<sha256 value="8ae0c0027108181739e8a008377c8eb7fb93c4e04e3efdb5846662dd1ca9eba2" origin="Generated by Gradle"/>
|
||||
|
@ -1504,6 +1536,38 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
|
|||
<sha256 value="778a9e14bb8b7e224dc411bea11c28ff6e490068ad7ddfb32ec44af2ef9b123b" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="com.google.android.exoplayer" name="exoplayer-core" version="2.18.1">
|
||||
<artifact name="exoplayer-core-2.18.1.aar">
|
||||
<sha256 value="f07ef40d8d8166beb78b0516cbb93a0053319d694300255d54483368b9a2105f" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="exoplayer-core-2.18.1.module">
|
||||
<sha256 value="7f5c3f842b20a27bcc2921a911c7f914975d67a14d2c218170541517cfc0658d" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="com.google.android.exoplayer" name="exoplayer-database" version="2.18.1">
|
||||
<artifact name="exoplayer-database-2.18.1.aar">
|
||||
<sha256 value="d7510e96a0d88f197c5800cbc7a181c44176600cd83a06bd2e8ffa92e05f552b" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="exoplayer-database-2.18.1.module">
|
||||
<sha256 value="df15e2773d30378e08584aa0e94e97ff3086a107bf4b350a4f048ce8047dc95a" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="com.google.android.exoplayer" name="exoplayer-datasource" version="2.18.1">
|
||||
<artifact name="exoplayer-datasource-2.18.1.aar">
|
||||
<sha256 value="4c228fce4a22ff992726821eed39914d4ad532bbbc4b4ad31c1486ad306ebdb2" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="exoplayer-datasource-2.18.1.module">
|
||||
<sha256 value="db76feba0bc299968d79bfcf75a9cbd010071b110b66b974581f0052f0b072a6" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="com.google.android.exoplayer" name="exoplayer-decoder" version="2.18.1">
|
||||
<artifact name="exoplayer-decoder-2.18.1.aar">
|
||||
<sha256 value="23df2444b585e460fa2f23e44269d75f601e32d871f584e7d07b548b9e675e66" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="exoplayer-decoder-2.18.1.module">
|
||||
<sha256 value="a10ad404c6995ce650c1f9822bc57b59301bf6cd98be87e3f3a0a48a32320e84" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="com.google.android.exoplayer" name="exoplayer-extractor" version="2.15.0">
|
||||
<artifact name="exoplayer-extractor-2.15.0.aar">
|
||||
<sha256 value="7e185dd1e4bac1d2569c3741bf9d350591ec07a036720a097a38e1099d6b88c3" origin="Generated by Gradle"/>
|
||||
|
@ -1512,6 +1576,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
|
|||
<sha256 value="4d5fb93f3c297af3d87cec199e0f33630829d6fe8a3f617d6e41d813a15a0bf2" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="com.google.android.exoplayer" name="exoplayer-extractor" version="2.18.1">
|
||||
<artifact name="exoplayer-extractor-2.18.1.aar">
|
||||
<sha256 value="529a18b0a4130b87d96c50924ba8e3a725356574d1178b33d14479ada9ad006a" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="exoplayer-extractor-2.18.1.module">
|
||||
<sha256 value="22194b98c343d81804624190996ffadbbf031bc1c911d2e6c8d2dd5af3ad235a" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="com.google.android.exoplayer" name="exoplayer-ui" version="2.15.0">
|
||||
<artifact name="exoplayer-ui-2.15.0.aar">
|
||||
<sha256 value="9e1869798de1ce16d9feb4fd97097f11c7cd54a2018c91d22aafd793f6a8dadf" origin="Generated by Gradle"/>
|
||||
|
@ -1520,6 +1592,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
|
|||
<sha256 value="ac8fdca904a3c1b2babebf3084c5b196f4fb62db74ddd5ffe31c18c2178070fe" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="com.google.android.exoplayer" name="exoplayer-ui" version="2.18.1">
|
||||
<artifact name="exoplayer-ui-2.18.1.aar">
|
||||
<sha256 value="2e52f624ac4104aed7946066313ff1da3aba16535df8f931a9c7a218ae79ac57" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="exoplayer-ui-2.18.1.module">
|
||||
<sha256 value="dfc244dbb9ade2363f8352214567fe19cd4ae243bd32f0813d0f65f1aa9bb3cc" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="com.google.android.exoplayer" name="extension-mediasession" version="2.15.0">
|
||||
<artifact name="extension-mediasession-2.15.0.aar">
|
||||
<sha256 value="f7e304c4f38d113e164642478f4f96ad952cc0fa2ab27f2be4a0978587f0eeb3" origin="Generated by Gradle"/>
|
||||
|
@ -1528,6 +1608,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
|
|||
<sha256 value="1fb6f1254925b4f98039850883de78a6737ec61800df0934da6ef8ed59f0b325" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="com.google.android.exoplayer" name="extension-mediasession" version="2.18.1">
|
||||
<artifact name="extension-mediasession-2.18.1.aar">
|
||||
<sha256 value="cfc0431892300c872da5273699008d3aafb0fe9ee72cd4d57950ec65560638a8" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="extension-mediasession-2.18.1.module">
|
||||
<sha256 value="313157e19cc69358139899fb582d110e361e54ab80bf681b60d7247b5b69a822" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="com.google.android.gms" name="play-services-auth" version="16.0.1">
|
||||
<artifact name="play-services-auth-16.0.1.aar">
|
||||
<sha256 value="aec9e1c584d442cb9f59481a50b2c66dc191872607c04d97ecb82dd0eb5149ec" origin="Generated by Gradle"/>
|
||||
|
@ -1686,6 +1774,11 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
|
|||
<sha256 value="5f2a0648230a662e8be049df308d583d7369f13af683e44ddf5829b6d741a228" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="com.google.errorprone" name="error_prone_annotations" version="2.7.1">
|
||||
<artifact name="error_prone_annotations-2.7.1.jar">
|
||||
<sha256 value="cd5257c08a246cf8628817ae71cb822be192ef91f6881ca4a3fcff4f1de1cff3" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="com.google.errorprone" name="error_prone_annotations" version="2.9.0">
|
||||
<artifact name="error_prone_annotations-2.9.0.jar">
|
||||
<sha256 value="f947bdc33ae27a6b4aa44799e6c21e1944797bd0010ba43eb82d11446e163694" origin="Generated by Gradle"/>
|
||||
|
@ -1781,6 +1874,11 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
|
|||
<sha256 value="e6dd072f9d3fe02a4600688380bd422bdac184caf6fe2418cfdd0934f09432aa" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="com.google.guava" name="guava" version="31.0.1-android">
|
||||
<artifact name="guava-31.0.1-android.jar">
|
||||
<sha256 value="9425a423a4cb9d9db0356300722d9bd8e634cf539f29d97bb84f457cccd16eb8" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="com.google.guava" name="listenablefuture" version="9999.0-empty-to-avoid-conflict-with-guava">
|
||||
<artifact name="listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar">
|
||||
<sha256 value="b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99" origin="Generated by Gradle"/>
|
||||
|
@ -2623,6 +2721,14 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
|
|||
<sha256 value="64b02691c8b9d4e7700f8ee2e742dce7ea2c6e81e662b7522c9ee3bf568c040a" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="org.checkerframework" name="checker-qual" version="3.12.0">
|
||||
<artifact name="checker-qual-3.12.0.jar">
|
||||
<sha256 value="ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
<artifact name="checker-qual-3.12.0.module">
|
||||
<sha256 value="d047949c1b81091c2c3913771fac2f32a2fa549ba3d5d548cc8c0b6dfa493777" origin="Generated by Gradle"/>
|
||||
</artifact>
|
||||
</component>
|
||||
<component group="org.checkerframework" name="checker-qual" version="3.5.0">
|
||||
<artifact name="checker-qual-3.5.0.jar">
|
||||
<sha256 value="729990b3f18a95606fc2573836b6958bcdb44cb52bfbd1b7aa9c339cff35a5a4" origin="Generated by Gradle"/>
|
||||
|
|
Ładowanie…
Reference in New Issue