Merge "DO NOT MERGE Fix display freezing when screen size mismatches" into pi-dev

This commit is contained in:
Jorim Jaggi
2018-08-22 17:11:58 +00:00
committed by Android (Google) Code Review

View File

@@ -37,6 +37,7 @@ import android.view.DisplayInfo;
import android.view.Surface;
import android.view.Surface.OutOfResourcesException;
import android.view.SurfaceControl;
import android.view.SurfaceControl.Transaction;
import android.view.SurfaceSession;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
@@ -268,6 +269,12 @@ class ScreenRotationAnimation {
.setSecure(isSecure)
.build();
// In case display bounds change, screenshot buffer and surface may mismatch so set a
// scaling mode.
Transaction t2 = new Transaction();
t2.setOverrideScalingMode(mSurfaceControl, Surface.SCALING_MODE_SCALE_TO_WINDOW);
t2.apply(true /* sync */);
// capture a screenshot into the surface we just created
// TODO(multidisplay): we should use the proper display
final int displayId = SurfaceControl.BUILT_IN_DISPLAY_ID_MAIN;