Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bf3b42b1 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Handle MediaPlayer creation failure in CallManger" into main

parents 6bc5ab27 d81206e5
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -750,11 +750,17 @@ public class CallsManager extends Call.ListenerBase
                        mDockManager,
                        asyncRingtonePlayer);
        AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
        InCallTonePlayer.MediaPlayerFactory mediaPlayerFactory =
                (resourceId, attributes) ->
                        new InCallTonePlayer.MediaPlayerAdapterImpl(
                                MediaPlayer.create(mContext, resourceId, attributes,
                                        audioManager.generateAudioSessionId()));
        InCallTonePlayer.MediaPlayerFactory mediaPlayerFactory = (resourceId, attributes) -> {
          MediaPlayer mediaPlayer;
          try {
            mediaPlayer = MediaPlayer.create(
                mContext, resourceId, attributes, audioManager.generateAudioSessionId());
          } catch (IllegalStateException e) {
            Log.e(TAG, e, "Failed to create mediaplayer");
            mediaPlayer = null;
          }
          return new InCallTonePlayer.MediaPlayerAdapterImpl(mediaPlayer);
        };
        InCallTonePlayer.Factory playerFactory = new InCallTonePlayer.Factory(
                callAudioRoutePeripheralAdapter, lock, toneGeneratorFactory, mediaPlayerFactory,
                () -> audioManager.getStreamVolume(AudioManager.STREAM_RING) > 0, featureFlags,