Avoid crashing from unexpected enterPictureInPictureMode() exceptions

This commit is contained in:
Cameron Gutman 2018-04-21 21:32:59 -07:00
parent 1fae816223
commit 71d463f063

View File

@ -431,6 +431,10 @@ public class Game extends Activity implements SurfaceHolder.Callback,
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
if (prefConfig.enablePip && connected) { if (prefConfig.enablePip && connected) {
try {
// This has thrown all sorts of weird exceptions on Samsung devices
// running Oreo. Just eat them and close gracefully on leave, rather
// than crashing.
enterPictureInPictureMode( enterPictureInPictureMode(
new PictureInPictureParams.Builder() new PictureInPictureParams.Builder()
.setAspectRatio(new Rational(prefConfig.width, prefConfig.height)) .setAspectRatio(new Rational(prefConfig.width, prefConfig.height))
@ -438,6 +442,9 @@ public class Game extends Activity implements SurfaceHolder.Callback,
streamView.getLeft(), streamView.getTop(), streamView.getLeft(), streamView.getTop(),
streamView.getRight(), streamView.getBottom())) streamView.getRight(), streamView.getBottom()))
.build()); .build());
} catch (Exception e) {
e.printStackTrace();
}
} }
} }
} }