Merge "Catch failure to set screenshot sound" into tm-qpr-dev

This commit is contained in:
Miranda Kephart
2022-07-25 20:23:50 +00:00
committed by Android (Google) Code Review

View File

@@ -843,14 +843,20 @@ public class ScreenshotController {
// The media player creation is slow and needs on the background thread. // The media player creation is slow and needs on the background thread.
return CallbackToFutureAdapter.getFuture((completer) -> { return CallbackToFutureAdapter.getFuture((completer) -> {
mBgExecutor.execute(() -> { mBgExecutor.execute(() -> {
MediaPlayer player = MediaPlayer.create(mContext, try {
Uri.fromFile(new File(mContext.getResources().getString( MediaPlayer player = MediaPlayer.create(mContext,
com.android.internal.R.string.config_cameraShutterSound))), null, Uri.fromFile(new File(mContext.getResources().getString(
new AudioAttributes.Builder() com.android.internal.R.string.config_cameraShutterSound))),
.setUsage(AudioAttributes.USAGE_ASSISTANCE_SONIFICATION) null,
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION) new AudioAttributes.Builder()
.build(), AudioSystem.newAudioSessionId()); .setUsage(AudioAttributes.USAGE_ASSISTANCE_SONIFICATION)
completer.set(player); .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.build(), AudioSystem.newAudioSessionId());
completer.set(player);
} catch (IllegalStateException e) {
Log.w(TAG, "Screenshot sound initialization failed", e);
completer.set(null);
}
}); });
return "ScreenshotController#loadCameraSound"; return "ScreenshotController#loadCameraSound";
}); });