Commit 655b0017 authored by Sylvain Berfini's avatar Sylvain Berfini :cow:
Browse files

Delay reload sound devices on Android to workaround wrong AudioManager.getDevices() array

parent d3cc4f76
master compat/ios_app_5_3 deleteme feature/18-flexiapiclient-auth-token feature/51-vcard-provisioning-fix feature/AEC3 feature/account_manager_services_devices_list feature/add-security-alert-param feature/added_event_log_deleted_callback feature/address-refactoring feature/allow-raw-mwi-notification feature/audio-conference-package feature/authenticated-remote-provisioning feature/basic_auth feature/client_audio_mixer feature/client_video_mixer feature/conference-info-db feature/cpp_threadsafe feature/encrypted_conference feature/ephemeral_participant feature/fec feature/fec_adaptation feature/ics_update_improved feature/keep-configuration-tester-51 feature/key_exchange_protocol_identification feature/ldap_failover feature/lime_status_by_uri feature/load-static-ms2-plugins feature/media_encryption_settings_on_account feature/medialess feature/nix-flake feature/provisioning_header_for_fam1.4 feature/python_wrapper feature/python_wrapper_5.1 feature/python_wrapper_5.3 feature/remote_provisioning_headers feature/rework_ephemeral feature/rfc_9078 feature/screensharing_clean feature/screensharing_packet_router feature/screensharing_signalling feature/support_sfu feature/swift_push_tests_5_1 feature/swift_push_unit_tests feature/test-new-ccmp-deployment feature/test_improvement feature/timeline feature/to-delete-compile-last-wrapper feature/unitTestInCpp feature/vcard-contacts-list feature/video_codec_call_params feature/wrap-account-creator-core-functions fix/ECC-for-desktop fix/addEvent_error fix/add_debug_logs fix/android_window fix/audio_codec_debug fix/audio_lost fix/audio_routes fix/audio_toggle_conf fix/auth_info_finding fix/avconf-crashes fix/backport_50 fix/broadcast_flexisip fix/bugfixes-from-5.1 fix/bundle_mode_fix fix/call_history_after_core_stop fix/call_recovery_in_multi_account_case fix/call_repair fix/cancel_via_header fix/ccmp_conference_description_master fix/chat_lesage_local_address_no_contact fix/chat_room_null_conference_address fix/chat_test fix/chatroom_const_params fix/check-tests fix/conf_unschedule_video fix/conference_called_after_joining_5_3 fix/conference_leak fix/conference_with_all_listeners fix/conference_without_advanced_im fix/conference_without_bundle_mode fix/copy_message_id_content_operator fix/crash_calllog fix/crash_csrc_changed fix/crash_decline_call fix/crash_terminate fix/crash_tests fix/database fix/db_friend_list_fix fix/default_options fix/delete_sensitive_logs fix/didUpdatePushCredentials_debug_investigation fix/doc_upload fix/double_invite fix/dtls_default_path fix/empty_authinfo fix/encrypted_chat_subscription_failed fix/encryption-changed-callback fix/enum_swift_wrapper fix/error_feedback_flexiapi fix/extra_audio_route_logs_master fix/fixes-from-5.0.10 fix/flexi_api fix/flexisip-tester-2.3 fix/flexisip_build fix/fold-and-trim-ics fix/force_shared_lib_python_wrapper fix/force_terminate_duplicated_call fix/friend_lists fix/gcc_14 fix/h265-glitches fix/ice-test-not-reliable fix/identity-address-performance fix/identity_address_without_gruu fix/import-from-legacy-db fix/improved_custom_header_test fix/ios_foreground_push_incoming_received fix/ios_reactions_notif fix/ios_shared_core_reactions fix/itc-misuse fix/java_jni_wrapper fix/jni_weak_global_ref_crash fix/json_static fix/jvm_cpp_wrapper_on_android fix/lime_chat_room_left_notify fix/local-permission-detection fix/log_file_updates fix/longer-random-username-tests fix/made_conference_get_state_public fix/magic_search_clone_crash fix/mandatory_encryption fix/master_push fix/media_server_ip fix/message_not_sent_rework fix/mid-warnings fix/no-longer-use-deprecated-findpythoninterp-cmake-module fix/no_ldap_tester fix/no_unregister_if_remote_push_allowed fix/no_unregister_if_remote_push_allowed_5_0 fix/non_last_call_active fix/notify-stats fix/null_pointer_expcetion fix/participant_removed fix/participant_video_no_conf_event_pkg fix/pause-player fix/paused_by_remote_no_rtp_timeout_master fix/pdb_5_3 fix/performance_improvements fix/plugin_timeout fix/prack_auth fix/prevent_notifying_same_presence_notify fix/proxy_cfg_contact fix/python_build_macos fix/python_const_build_warning fix/qt_crash fix/quickfix_52 fix/recorder_desktop fix/remote_media_changed_notify fix/rewrite-tone-manager fix/ring-category fix/rtt_message fix/screen_jul fix/sdp_direction fix/select-ip fix/setlocale_utf8 fix/sip_address_table_creation_refused_utf8mb6_mariadb5.5 fix/slow-tests fix/srtp_key_length fix/startup_restart fix/stream-deletion fix/stream_allocation_no_label fix/stream_append fix/subject_not_changed fix/switch_data_sync_to_short_service fix/test fix/test_flexiapi_backport fix/test_video_file_stream fix/timestamp_windows fix/toggle_video fix/tone-indications fix/tone-manager-crash fix/transcient-video-stretching fix/transfer_state fix/tunnel_deadlock fix/tunnel_tester fix/unsubscribe_upon_core_stop fix/update-check fix/update_calllog_remote_address fix/utf8_conf fix/uuid4-generation fix/video_conf_fixes fix/video_refused fix/videoconf_double fix/vp8-threads fix/webrtc-ice fix/win_crash_search fix/window_build_dec24 fix/window_id_creation fix/wrong_timestamp fix/zrtp_call hotfix/gh_issues_templates_syntax_error hotfix/lime-db-path improve/encrypted_chat_multipart_selection release/5.0 release/5.1 release/5.2 release/5.3 release/5.4 test/ansible test/b2bua test/call_no_routes test/flexisip-release-candidate-2-4 test/flexisip_b2bua_h264 test/lime_double_digest_auth_challenge tmp/pq tmp/workaround_missing_tester_log_message_bug tmp/zrtp_stats_make_visible 5.5.0-alpha 5.4.0 5.4.0-beta 5.4.0-alpha 5.3.106 5.3.105 5.3.104 5.3.103 5.3.102 5.3.101 5.3.100 5.3.99 5.3.97 5.3.96 5.3.95 5.3.94 5.3.93 5.3.92 5.3.91 5.3.90 5.3.89 5.3.88 5.3.87 5.3.86 5.3.85 5.3.84 5.3.83 5.3.81 5.3.79 5.3.78 5.3.77 5.3.76 5.3.75 5.3.74 5.3.73 5.3.72 5.3.71 5.3.70 5.3.69 5.3.68 5.3.67 5.3.66 5.3.65 5.3.64 5.3.63 5.3.62 5.3.61 5.3.60 5.3.59 5.3.58 5.3.57 5.3.56 5.3.55 5.3.54 5.3.53 5.3.52 5.3.51 5.3.50 5.3.49 5.3.48 5.3.46 5.3.45 5.3.44 5.3.43 5.3.42 5.3.41 5.3.40 5.3.39 5.3.38 5.3.37 5.3.36 5.3.35 5.3.34 5.3.33 5.3.32 5.3.30 5.3.29 5.3.28 5.3.27 5.3.26 5.3.25 5.3.24 5.3.23 5.3.22 5.3.21 5.3.19 5.3.18 5.3.17 5.3.16 5.3.15 5.3.14 5.3.13 5.3.12 5.3.11 5.3.10 5.3.9 5.3.8 5.3.7 5.3.6 5.3.5 5.3.4 5.3.3 5.3.2 5.3.1 5.3.0 5.3.0-beta 5.3.0-alpha 5.2.114 5.2.113 5.2.112 5.2.111 5.2.110 5.2.109 5.2.108 5.2.107 5.2.106 5.2.105 5.2.104 5.2.103 5.2.102 5.2.101 5.2.100 5.2.99 5.2.98 5.2.97 5.2.96 5.2.95 5.2.94 5.2.93 5.2.92 5.2.91 5.2.90 5.2.89 5.2.88 5.2.87 5.2.86 5.2.85 5.2.84 5.2.83 5.2.82 5.2.81 5.2.80 5.2.79 5.2.78 5.2.77 5.2.75 5.2.73 5.2.72 5.2.71 5.2.70 5.2.69 5.2.68 5.2.67 5.2.66 5.2.65 5.2.64 5.2.63 5.2.62 5.2.61 5.2.59 5.2.58 5.2.57 5.2.56 5.2.54 5.2.53 5.2.52 5.2.51 5.2.50 5.2.49 5.2.47 5.2.46 5.2.45 5.2.44 5.2.42 5.2.41 5.2.40 5.2.39 5.2.37 5.2.33 5.2.32 5.2.30 5.2.29 5.2.28 5.2.27 5.2.26 5.2.25 5.2.23 5.2.22 5.2.21 5.2.20 5.2.19 5.2.18 5.2.17 5.2.16 5.2.15 5.2.14 5.2.13 5.2.12 5.2.11 5.2.10 5.2.9 5.2.7 5.2.6 5.2.5 5.2.4 5.2.3 5.2.2 5.2.1 5.2.0 5.2.0-beta 5.2.0-alpha 5.1.73 5.1.72 5.1.71 5.1.70 5.1.68 5.1.67 5.1.66 5.1.65 5.1.64 5.1.63 5.1.62 5.1.61 5.1.59 5.1.58 5.1.57 5.1.56 5.1.55 5.1.54 5.1.53 5.1.52 5.1.51 5.1.50 5.1.49 5.1.48 5.1.46 5.1.45 5.1.44 5.1.43 5.1.42 5.1.41 5.1.38 5.1.37 5.1.36 5.1.35 5.1.34 5.1.33 5.1.32 5.1.31 5.1.30 5.1.28 5.1.24 5.1.23 5.1.22 5.1.21 5.1.20 5.1.19 5.1.17 5.1.16 5.1.15 5.1.14 5.1.13 5.1.12 5.1.11 5.1.10 5.1.9 5.1.8 5.1.7 5.1.6 5.1.5 5.1.4 5.1.3 5.1.2 5.1.1 5.1.0 5.1.0-beta 5.1.0-alpha 5.0.71 5.0.70 5.0.69 5.0.68 5.0.67 5.0.66 5.0.65 5.0.64 5.0.63 5.0.62 5.0.61 5.0.60 5.0.59 5.0.58 5.0.57 5.0.56 5.0.55 5.0.53 5.0.52 5.0.51 5.0.50 5.0.49 5.0.47 5.0.46 5.0.45 5.0.44 5.0.43 5.0.42 5.0.41 5.0.40 5.0.39 5.0.38 5.0.37 5.0.36 5.0.35 5.0.34 5.0.32 5.0.31 5.0.30 5.0.29 5.0.28 5.0.27 5.0.26 5.0.25 5.0.24 5.0.23 5.0.22 5.0.21 5.0.19 5.0.18 5.0.17 5.0.16 5.0.15 5.0.14 5.0.13 5.0.12 5.0.11 5.0.10 5.0.8 5.0.6 5.0.5 5.0.3 5.0.1 5.0.0 4.0.25
3 merge requests!1398Merge branch 'release/5.0' into master,!1397Enforce the url parameter to enable FlexiAPI,!1392Delay reload sound devices on Android to workaround wrong AudioManager.getDevices() array
Showing with 20 additions and 4 deletions
......@@ -29,6 +29,8 @@ import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ServiceInfo;
import android.os.Build;
import android.os.Handler;
import android.os.Looper;
import org.linphone.core.AudioDevice;
import org.linphone.core.Call;
......@@ -339,8 +341,15 @@ public class CoreManager {
public void onBluetoothHeadsetStateChanged() {
GlobalState globalState = mCore.getGlobalState();
if (globalState == GlobalState.On || globalState == GlobalState.Ready) {
Log.i("[Core Manager] Bluetooth headset state changed, reload sound devices");
mCore.reloadSoundDevices();
Log.i("[Core Manager] Bluetooth headset state changed, waiting for 500ms before reloading sound devices");
final Handler handler = new Handler(Looper.getMainLooper());
handler.postDelayed(new Runnable() {
@Override
public void run() {
Log.i("[Core Manager] Reloading sound devices");
mCore.reloadSoundDevices();
}
}, 500);
} else {
Log.w("[Core Manager] Bluetooth headset state changed but current global state is ", globalState.name(), ", skipping...");
}
......@@ -349,8 +358,15 @@ public class CoreManager {
public void onHeadsetStateChanged() {
GlobalState globalState = mCore.getGlobalState();
if (globalState == GlobalState.On || globalState == GlobalState.Ready) {
Log.i("[Core Manager] Headset state changed, reload sound devices");
mCore.reloadSoundDevices();
Log.i("[Core Manager] Headset state changed, waiting for 500ms before reloading sound devices");
final Handler handler = new Handler(Looper.getMainLooper());
handler.postDelayed(new Runnable() {
@Override
public void run() {
Log.i("[Core Manager] Reloading sound devices");
mCore.reloadSoundDevices();
}
}, 500);
} else {
Log.w("[Core Manager] Headset state changed but current global state is ", globalState.name(), ", skipping...");
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment