mirror of
https://github.com/nextcloud/talk-android.git
synced 2024-11-29 18:08:58 +03:00
Merge pull request #2152 from nextcloud/dependabot/gradle/com.google.android.exoplayer-exoplayer-2.18.0
Bump exoplayer from 2.17.1 to 2.18.0
This commit is contained in:
commit
4b0748b3e2
29 changed files with 354 additions and 360 deletions
|
@ -273,7 +273,7 @@ dependencies {
|
|||
implementation "com.afollestad.material-dialogs:lifecycle:${materialDialogsVersion}"
|
||||
|
||||
implementation 'com.google.code.gson:gson:2.9.0'
|
||||
implementation 'com.google.android.exoplayer:exoplayer:2.17.1'
|
||||
implementation 'com.google.android.exoplayer:exoplayer:2.18.0'
|
||||
|
||||
implementation 'com.github.chrisbanes:PhotoView:2.3.0'
|
||||
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.24'
|
||||
|
|
|
@ -34,6 +34,7 @@ import autodagger.AutoInjector
|
|||
import com.google.android.exoplayer2.MediaItem
|
||||
import com.google.android.exoplayer2.Player
|
||||
import com.google.android.exoplayer2.SimpleExoPlayer
|
||||
import com.google.android.exoplayer2.ui.StyledPlayerView
|
||||
import com.nextcloud.talk.BuildConfig
|
||||
import com.nextcloud.talk.R
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication
|
||||
|
@ -100,7 +101,8 @@ class FullScreenMediaActivity : AppCompatActivity(), Player.Listener {
|
|||
binding.playerView.controllerShowTimeoutMs = 0
|
||||
}
|
||||
|
||||
binding.playerView.setControllerVisibilityListener { v ->
|
||||
binding.playerView.setControllerVisibilityListener(
|
||||
StyledPlayerView.ControllerVisibilityListener { v ->
|
||||
if (v != 0) {
|
||||
hideSystemUI()
|
||||
supportActionBar?.hide()
|
||||
|
@ -109,6 +111,7 @@ class FullScreenMediaActivity : AppCompatActivity(), Player.Listener {
|
|||
supportActionBar?.show()
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
override fun onStart() {
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
/*
|
||||
*
|
||||
* Nextcloud Talk application
|
||||
*
|
||||
* @author Mario Danic
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
/*
|
||||
*
|
||||
* Nextcloud Talk application
|
||||
*
|
||||
* @author Mario Danic
|
||||
|
|
|
@ -133,11 +133,11 @@ class NextcloudTalkApplication : MultiDexApplication(), LifecycleObserver {
|
|||
//region private methods
|
||||
private fun initializeWebRtc() {
|
||||
try {
|
||||
if (MagicWebRTCUtils.HARDWARE_AEC_BLACKLIST.contains(Build.MODEL)) {
|
||||
if (MagicWebRTCUtils.HARDWARE_AEC_EXCLUDE_SET.contains(Build.MODEL)) {
|
||||
WebRtcAudioUtils.setWebRtcBasedAcousticEchoCanceler(true)
|
||||
}
|
||||
|
||||
if (!MagicWebRTCUtils.OPEN_SL_ES_WHITELIST.contains(Build.MODEL)) {
|
||||
if (!MagicWebRTCUtils.OPEN_SL_ES_INCLUDE_SET.contains(Build.MODEL)) {
|
||||
WebRtcAudioManager.setBlacklistDeviceForOpenSLESUsage(true)
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
/*
|
||||
* Nextcloud Talk application
|
||||
*
|
||||
* @author Andy Scherzinger
|
||||
* @author Mario Danic
|
||||
* Copyright (C) 2022 Andy Scherzinger <info@andy-scherzinger.de>
|
||||
* Copyright (C) 2017-2019 Mario Danic <mario@lovelyhq.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
|
@ -20,6 +22,8 @@
|
|||
|
||||
package com.nextcloud.talk.components.filebrowser.webdav;
|
||||
|
||||
import android.util.Log;
|
||||
|
||||
import com.nextcloud.talk.components.filebrowser.models.properties.NCEncrypted;
|
||||
import com.nextcloud.talk.components.filebrowser.models.properties.NCPermission;
|
||||
import com.nextcloud.talk.components.filebrowser.models.properties.NCPreview;
|
||||
|
@ -45,6 +49,8 @@ import at.bitfire.dav4jvm.property.GetLastModified;
|
|||
import at.bitfire.dav4jvm.property.ResourceType;
|
||||
|
||||
public class DavUtils {
|
||||
private static final String TAG = "DavUtils";
|
||||
|
||||
public static final String OC_NAMESPACE = "http://owncloud.org/ns";
|
||||
public static final String NC_NAMESPACE = "http://nextcloud.org/ns";
|
||||
public static final String DAV_PATH = "/remote.php/dav/files/";
|
||||
|
@ -112,12 +118,8 @@ public class DavUtils {
|
|||
reflectionMap.put(NCPermission.NAME, new NCPermission.Factory());
|
||||
|
||||
factories.set(propertyRegistry, reflectionMap);
|
||||
} catch (NoSuchFieldException e) {
|
||||
e.printStackTrace();
|
||||
} catch (IllegalAccessException e) {
|
||||
e.printStackTrace();
|
||||
} catch (NoSuchFieldException | IllegalAccessException e) {
|
||||
Log.w(TAG, "Error registering custom factories", e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
/*
|
||||
*
|
||||
* Nextcloud Talk application
|
||||
*
|
||||
* @author Mario Danic
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
/*
|
||||
*
|
||||
* Nextcloud Talk application
|
||||
*
|
||||
* @author Mario Danic
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
/*
|
||||
*
|
||||
* Nextcloud Talk application
|
||||
*
|
||||
* @author Mario Danic
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
/*
|
||||
*
|
||||
* Nextcloud Talk application
|
||||
*
|
||||
* @author Tim Krüger
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
/*
|
||||
*
|
||||
* Nextcloud Talk application
|
||||
*
|
||||
* @author Tim Krüger
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
/*
|
||||
*
|
||||
* Nextcloud Talk application
|
||||
*
|
||||
* @author Tim Krüger
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
/*
|
||||
*
|
||||
* Nextcloud Talk application
|
||||
*
|
||||
* @author Marcel Hibbe
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
/*
|
||||
*
|
||||
* Nextcloud Talk application
|
||||
*
|
||||
* @author Tim Krüger
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
/*
|
||||
*
|
||||
* Nextcloud Talk application
|
||||
*
|
||||
* @author Tim Krüger
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
/*
|
||||
*
|
||||
* Nextcloud Talk application
|
||||
*
|
||||
* @author Mario Danic
|
||||
|
|
|
@ -44,7 +44,7 @@ public class MagicWebRTCUtils {
|
|||
/* AEC blacklist and SL_ES_WHITELIST are borrowed from Signal
|
||||
https://github.com/WhisperSystems/Signal-Android/blob/551470123d006b76a68d705d131bb12513a5e683/src/org/thoughtcrime/securesms/ApplicationContext.java
|
||||
*/
|
||||
public static Set<String> HARDWARE_AEC_BLACKLIST = new HashSet<String>() {{
|
||||
public static Set<String> HARDWARE_AEC_EXCLUDE_SET = new HashSet<String>() {{
|
||||
add("D6503"); // Sony Xperia Z2 D6503
|
||||
add("ONE A2005"); // OnePlus 2
|
||||
add("MotoG3"); // Moto G (3rd Generation)
|
||||
|
@ -69,12 +69,12 @@ public class MagicWebRTCUtils {
|
|||
add("E5823"); // Sony Z5 Compact
|
||||
}};
|
||||
|
||||
public static Set<String> OPEN_SL_ES_WHITELIST = new HashSet<String>() {{
|
||||
public static Set<String> OPEN_SL_ES_INCLUDE_SET = new HashSet<String>() {{
|
||||
add("Pixel");
|
||||
add("Pixel XL");
|
||||
}};
|
||||
|
||||
private static Set<String> HARDWARE_ACCELERATION_DEVICE_BLACKLIST = new HashSet<String>() {{
|
||||
private static final Set<String> HARDWARE_ACCELERATION_DEVICE_EXCLUDE_SET = new HashSet<String>() {{
|
||||
add("GT-I9100"); // Samsung Galaxy S2
|
||||
add("GT-N8013"); // Samsung Galaxy Note 10.1
|
||||
add("SM-G930F"); // Samsung Galaxy S7
|
||||
|
@ -86,14 +86,14 @@ public class MagicWebRTCUtils {
|
|||
add("XT1097"); // Motorola Moto X (2nd Gen)
|
||||
}};
|
||||
|
||||
private static Set<String> HARDWARE_ACCELERATION_VENDOR_BLACKLIST = new HashSet<String>() {{
|
||||
private static final Set<String> HARDWARE_ACCELERATION_VENDOR_EXCLUDE_SET = new HashSet<String>() {{
|
||||
add("samsung");
|
||||
}};
|
||||
|
||||
|
||||
public static boolean shouldEnableVideoHardwareAcceleration() {
|
||||
return (!HARDWARE_ACCELERATION_VENDOR_BLACKLIST.contains(Build.MANUFACTURER.toLowerCase(Locale.ROOT))
|
||||
&& !HARDWARE_ACCELERATION_DEVICE_BLACKLIST.contains(Build.MODEL.toUpperCase(Locale.ROOT)));
|
||||
return (!HARDWARE_ACCELERATION_VENDOR_EXCLUDE_SET.contains(Build.MANUFACTURER.toLowerCase(Locale.ROOT))
|
||||
&& !HARDWARE_ACCELERATION_DEVICE_EXCLUDE_SET.contains(Build.MODEL.toUpperCase(Locale.ROOT)));
|
||||
}
|
||||
|
||||
public static String preferCodec(String sdpDescription, String codec, boolean isAudio) {
|
||||
|
@ -105,7 +105,7 @@ public class MagicWebRTCUtils {
|
|||
}
|
||||
// A list with all the payload types with name |codec|. The payload types are integers in the
|
||||
// range 96-127, but they are stored as strings here.
|
||||
final List<String> codecPayloadTypes = new ArrayList<String>();
|
||||
final List<String> codecPayloadTypes = new ArrayList<>();
|
||||
// a=rtpmap:<payload type> <encoding name>/<clock rate> [/<encoding parameters>]
|
||||
final Pattern codecPattern = Pattern.compile("^a=rtpmap:(\\d+) " + codec + "(/\\d+)+[\r]?$");
|
||||
for (int i = 0; i < lines.length; ++i) {
|
||||
|
@ -150,11 +150,11 @@ public class MagicWebRTCUtils {
|
|||
}
|
||||
final List<String> header = origLineParts.subList(0, 3);
|
||||
final List<String> unpreferredPayloadTypes =
|
||||
new ArrayList<String>(origLineParts.subList(3, origLineParts.size()));
|
||||
new ArrayList<>(origLineParts.subList(3, origLineParts.size()));
|
||||
unpreferredPayloadTypes.removeAll(preferredPayloadTypes);
|
||||
// Reconstruct the line with |preferredPayloadTypes| moved to the beginning of the payload
|
||||
// types.
|
||||
final List<String> newLineParts = new ArrayList<String>();
|
||||
final List<String> newLineParts = new ArrayList<>();
|
||||
newLineParts.addAll(header);
|
||||
newLineParts.addAll(preferredPayloadTypes);
|
||||
newLineParts.addAll(unpreferredPayloadTypes);
|
||||
|
@ -162,7 +162,9 @@ public class MagicWebRTCUtils {
|
|||
}
|
||||
|
||||
private static String joinString(
|
||||
Iterable<? extends CharSequence> s, String delimiter, boolean delimiterAtEnd) {
|
||||
Iterable<? extends CharSequence> s,
|
||||
String delimiter,
|
||||
boolean delimiterAtEnd) {
|
||||
Iterator<? extends CharSequence> iter = s.iterator();
|
||||
if (!iter.hasNext()) {
|
||||
return "";
|
||||
|
@ -176,5 +178,4 @@ public class MagicWebRTCUtils {
|
|||
}
|
||||
return buffer.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1 +1 @@
|
|||
173
|
||||
167
|
Loading…
Reference in a new issue