Loading media/java/android/media/LocalRingtonePlayer.java +14 −8 Original line number Diff line number Diff line Loading @@ -42,18 +42,22 @@ public class LocalRingtonePlayer private final MediaPlayer mMediaPlayer; private final AudioAttributes mAudioAttributes; private final Ringtone.Injectables mInjectables; private final AudioManager mAudioManager; private final VolumeShaper mVolumeShaper; private HapticGenerator mHapticGenerator; private LocalRingtonePlayer(@NonNull MediaPlayer mediaPlayer, @NonNull AudioAttributes audioAttributes, @NonNull AudioManager audioManager, @Nullable HapticGenerator hapticGenerator, @Nullable VolumeShaper volumeShaper) { @NonNull AudioAttributes audioAttributes, @NonNull Ringtone.Injectables injectables, @NonNull AudioManager audioManager, @Nullable HapticGenerator hapticGenerator, @Nullable VolumeShaper volumeShaper) { Objects.requireNonNull(mediaPlayer); Objects.requireNonNull(audioAttributes); Objects.requireNonNull(injectables); Objects.requireNonNull(audioManager); mMediaPlayer = mediaPlayer; mAudioAttributes = audioAttributes; mInjectables = injectables; mAudioManager = audioManager; mVolumeShaper = volumeShaper; mHapticGenerator = hapticGenerator; Loading @@ -67,6 +71,7 @@ public class LocalRingtonePlayer static LocalRingtonePlayer create(@NonNull Context context, @NonNull AudioManager audioManager, @NonNull Uri soundUri, @NonNull AudioAttributes audioAttributes, @NonNull Ringtone.Injectables injectables, @Nullable VolumeShaper.Configuration volumeShaperConfig, @Nullable AudioDeviceInfo preferredDevice, boolean initialHapticGeneratorEnabled, boolean initialLooping, float initialVolume) { Loading @@ -74,7 +79,7 @@ public class LocalRingtonePlayer Objects.requireNonNull(soundUri); Objects.requireNonNull(audioAttributes); Trace.beginSection("createLocalMediaPlayer"); MediaPlayer mediaPlayer = new MediaPlayer(); MediaPlayer mediaPlayer = injectables.newMediaPlayer(); HapticGenerator hapticGenerator = null; try { mediaPlayer.setDataSource(context, soundUri); Loading @@ -83,7 +88,7 @@ public class LocalRingtonePlayer mediaPlayer.setLooping(initialLooping); mediaPlayer.setVolume(initialVolume); if (initialHapticGeneratorEnabled) { hapticGenerator = HapticGenerator.create(mediaPlayer.getAudioSessionId()); hapticGenerator = injectables.createHapticGenerator(mediaPlayer); hapticGenerator.setEnabled(true); } VolumeShaper volumeShaper = null; Loading @@ -91,7 +96,7 @@ public class LocalRingtonePlayer volumeShaper = mediaPlayer.createVolumeShaper(volumeShaperConfig); } mediaPlayer.prepare(); return new LocalRingtonePlayer(mediaPlayer, audioAttributes, audioManager, return new LocalRingtonePlayer(mediaPlayer, audioAttributes, injectables, audioManager, hapticGenerator, volumeShaper); } catch (SecurityException | IOException e) { if (hapticGenerator != null) { Loading @@ -113,6 +118,7 @@ public class LocalRingtonePlayer static LocalRingtonePlayer createForFallback( @NonNull AudioManager audioManager, @NonNull AssetFileDescriptor afd, @NonNull AudioAttributes audioAttributes, @NonNull Ringtone.Injectables injectables, @Nullable VolumeShaper.Configuration volumeShaperConfig, @Nullable AudioDeviceInfo preferredDevice, boolean initialLooping, float initialVolume) { Loading @@ -122,7 +128,7 @@ public class LocalRingtonePlayer Objects.requireNonNull(audioAttributes); Trace.beginSection("createFallbackLocalMediaPlayer"); MediaPlayer mediaPlayer = new MediaPlayer(); MediaPlayer mediaPlayer = injectables.newMediaPlayer(); try { if (afd.getDeclaredLength() < 0) { mediaPlayer.setDataSource(afd.getFileDescriptor()); Loading @@ -140,7 +146,7 @@ public class LocalRingtonePlayer volumeShaper = mediaPlayer.createVolumeShaper(volumeShaperConfig); } mediaPlayer.prepare(); return new LocalRingtonePlayer(mediaPlayer, audioAttributes, audioManager, return new LocalRingtonePlayer(mediaPlayer, audioAttributes, injectables, audioManager, /* hapticGenerator= */ null, volumeShaper); } catch (SecurityException | IOException e) { Log.e(TAG, "Failed to open fallback ringtone"); Loading Loading @@ -202,7 +208,7 @@ public class LocalRingtonePlayer @Override public void setHapticGeneratorEnabled(boolean enabled) { if (enabled && mHapticGenerator == null) { mHapticGenerator = HapticGenerator.create(mMediaPlayer.getAudioSessionId()); mHapticGenerator = mInjectables.createHapticGenerator(mMediaPlayer); } if (mHapticGenerator != null) { mHapticGenerator.setEnabled(enabled); Loading Loading
media/java/android/media/LocalRingtonePlayer.java +14 −8 Original line number Diff line number Diff line Loading @@ -42,18 +42,22 @@ public class LocalRingtonePlayer private final MediaPlayer mMediaPlayer; private final AudioAttributes mAudioAttributes; private final Ringtone.Injectables mInjectables; private final AudioManager mAudioManager; private final VolumeShaper mVolumeShaper; private HapticGenerator mHapticGenerator; private LocalRingtonePlayer(@NonNull MediaPlayer mediaPlayer, @NonNull AudioAttributes audioAttributes, @NonNull AudioManager audioManager, @Nullable HapticGenerator hapticGenerator, @Nullable VolumeShaper volumeShaper) { @NonNull AudioAttributes audioAttributes, @NonNull Ringtone.Injectables injectables, @NonNull AudioManager audioManager, @Nullable HapticGenerator hapticGenerator, @Nullable VolumeShaper volumeShaper) { Objects.requireNonNull(mediaPlayer); Objects.requireNonNull(audioAttributes); Objects.requireNonNull(injectables); Objects.requireNonNull(audioManager); mMediaPlayer = mediaPlayer; mAudioAttributes = audioAttributes; mInjectables = injectables; mAudioManager = audioManager; mVolumeShaper = volumeShaper; mHapticGenerator = hapticGenerator; Loading @@ -67,6 +71,7 @@ public class LocalRingtonePlayer static LocalRingtonePlayer create(@NonNull Context context, @NonNull AudioManager audioManager, @NonNull Uri soundUri, @NonNull AudioAttributes audioAttributes, @NonNull Ringtone.Injectables injectables, @Nullable VolumeShaper.Configuration volumeShaperConfig, @Nullable AudioDeviceInfo preferredDevice, boolean initialHapticGeneratorEnabled, boolean initialLooping, float initialVolume) { Loading @@ -74,7 +79,7 @@ public class LocalRingtonePlayer Objects.requireNonNull(soundUri); Objects.requireNonNull(audioAttributes); Trace.beginSection("createLocalMediaPlayer"); MediaPlayer mediaPlayer = new MediaPlayer(); MediaPlayer mediaPlayer = injectables.newMediaPlayer(); HapticGenerator hapticGenerator = null; try { mediaPlayer.setDataSource(context, soundUri); Loading @@ -83,7 +88,7 @@ public class LocalRingtonePlayer mediaPlayer.setLooping(initialLooping); mediaPlayer.setVolume(initialVolume); if (initialHapticGeneratorEnabled) { hapticGenerator = HapticGenerator.create(mediaPlayer.getAudioSessionId()); hapticGenerator = injectables.createHapticGenerator(mediaPlayer); hapticGenerator.setEnabled(true); } VolumeShaper volumeShaper = null; Loading @@ -91,7 +96,7 @@ public class LocalRingtonePlayer volumeShaper = mediaPlayer.createVolumeShaper(volumeShaperConfig); } mediaPlayer.prepare(); return new LocalRingtonePlayer(mediaPlayer, audioAttributes, audioManager, return new LocalRingtonePlayer(mediaPlayer, audioAttributes, injectables, audioManager, hapticGenerator, volumeShaper); } catch (SecurityException | IOException e) { if (hapticGenerator != null) { Loading @@ -113,6 +118,7 @@ public class LocalRingtonePlayer static LocalRingtonePlayer createForFallback( @NonNull AudioManager audioManager, @NonNull AssetFileDescriptor afd, @NonNull AudioAttributes audioAttributes, @NonNull Ringtone.Injectables injectables, @Nullable VolumeShaper.Configuration volumeShaperConfig, @Nullable AudioDeviceInfo preferredDevice, boolean initialLooping, float initialVolume) { Loading @@ -122,7 +128,7 @@ public class LocalRingtonePlayer Objects.requireNonNull(audioAttributes); Trace.beginSection("createFallbackLocalMediaPlayer"); MediaPlayer mediaPlayer = new MediaPlayer(); MediaPlayer mediaPlayer = injectables.newMediaPlayer(); try { if (afd.getDeclaredLength() < 0) { mediaPlayer.setDataSource(afd.getFileDescriptor()); Loading @@ -140,7 +146,7 @@ public class LocalRingtonePlayer volumeShaper = mediaPlayer.createVolumeShaper(volumeShaperConfig); } mediaPlayer.prepare(); return new LocalRingtonePlayer(mediaPlayer, audioAttributes, audioManager, return new LocalRingtonePlayer(mediaPlayer, audioAttributes, injectables, audioManager, /* hapticGenerator= */ null, volumeShaper); } catch (SecurityException | IOException e) { Log.e(TAG, "Failed to open fallback ringtone"); Loading Loading @@ -202,7 +208,7 @@ public class LocalRingtonePlayer @Override public void setHapticGeneratorEnabled(boolean enabled) { if (enabled && mHapticGenerator == null) { mHapticGenerator = HapticGenerator.create(mMediaPlayer.getAudioSessionId()); mHapticGenerator = mInjectables.createHapticGenerator(mMediaPlayer); } if (mHapticGenerator != null) { mHapticGenerator.setEnabled(enabled); Loading