Fix crash when unfolding a device.
Fix a crash when unfolding a device with reference implementation. There is a crash because we get a callback before changes propagate. Bug: 218980376 Test: manual - open the fold samples with config changing app. fold and unfold the device. Change-Id: I3c99058e47e29b18a30921bc23b14182e970ac65
This commit is contained in:
@@ -200,12 +200,23 @@ public class WindowLayoutComponentImpl implements WindowLayoutComponent {
|
|||||||
rotateRectToDisplayRotation(displayId, featureRect);
|
rotateRectToDisplayRotation(displayId, featureRect);
|
||||||
transformToWindowSpaceRect(activity, featureRect);
|
transformToWindowSpaceRect(activity, featureRect);
|
||||||
|
|
||||||
features.add(new FoldingFeature(featureRect, baseFeature.getType(), state));
|
if (!isRectZero(featureRect)) {
|
||||||
|
// TODO(b/228641877) Remove guarding if when fixed.
|
||||||
|
features.add(new FoldingFeature(featureRect, baseFeature.getType(), state));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return features;
|
return features;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns {@link true} if a {@link Rect} has zero width and zero height,
|
||||||
|
* {@code false} otherwise.
|
||||||
|
*/
|
||||||
|
private boolean isRectZero(Rect rect) {
|
||||||
|
return rect.width() == 0 && rect.height() == 0;
|
||||||
|
}
|
||||||
|
|
||||||
private final class NotifyOnConfigurationChanged extends EmptyLifecycleCallbacksAdapter {
|
private final class NotifyOnConfigurationChanged extends EmptyLifecycleCallbacksAdapter {
|
||||||
@Override
|
@Override
|
||||||
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
|
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
|
||||||
|
|||||||
Reference in New Issue
Block a user