Catch unsatisfied link error on start if webrtc so isn't found

// FREEBIE
This commit is contained in:
Moxie Marlinspike 2017-07-21 16:29:03 -07:00
parent 5be246ec8f
commit e452862813

View File

@ -159,27 +159,31 @@ public class ApplicationContext extends MultiDexApplication implements Dependenc
} }
private void initializeWebRtc() { private void initializeWebRtc() {
Set<String> HARDWARE_AEC_BLACKLIST = new HashSet<String>() {{ try {
add("Pixel"); Set<String> HARDWARE_AEC_BLACKLIST = new HashSet<String>() {{
add("Pixel XL"); add("Pixel");
add("Moto G5"); add("Pixel XL");
}}; add("Moto G5");
}};
Set<String> OPEN_SL_ES_WHITELIST = new HashSet<String>() {{ Set<String> OPEN_SL_ES_WHITELIST = new HashSet<String>() {{
add("Pixel"); add("Pixel");
add("Pixel XL"); add("Pixel XL");
}}; }};
if (Build.VERSION.SDK_INT >= 11) { if (Build.VERSION.SDK_INT >= 11) {
if (HARDWARE_AEC_BLACKLIST.contains(Build.MODEL)) { if (HARDWARE_AEC_BLACKLIST.contains(Build.MODEL)) {
WebRtcAudioUtils.setWebRtcBasedAcousticEchoCanceler(true); WebRtcAudioUtils.setWebRtcBasedAcousticEchoCanceler(true);
}
if (!OPEN_SL_ES_WHITELIST.contains(Build.MODEL)) {
WebRtcAudioManager.setBlacklistDeviceForOpenSLESUsage(true);
}
PeerConnectionFactory.initializeAndroidGlobals(this, true, true, true);
} }
} catch (UnsatisfiedLinkError e) {
if (!OPEN_SL_ES_WHITELIST.contains(Build.MODEL)) { Log.w(TAG, e);
WebRtcAudioManager.setBlacklistDeviceForOpenSLESUsage(true);
}
PeerConnectionFactory.initializeAndroidGlobals(this, true, true, true);
} }
} }