Use the copy constructor to create simulated sources
In this way, we don't need to modify the code in createSimulatedSource
when there is a new field of InsetsSource.
This fixes a regression since 244e960063
Fix: 285080829
Test: Open Settings from portrait while holding device in landscape, and
see if the nav bar area is transparent in gesture nav mode.
Change-Id: I8288f9d9bf6f2f28a71448cc35727c1c3955bad7
This commit is contained in:
@@ -272,15 +272,17 @@ class InsetsSourceProvider {
|
||||
|
||||
/** @return A new source computed by the specified window frame in the given display frames. */
|
||||
InsetsSource createSimulatedSource(DisplayFrames displayFrames, Rect frame) {
|
||||
// Don't copy visible frame because it might not be calculated in the provided display
|
||||
// frames and it is not significant for this usage.
|
||||
final InsetsSource source = new InsetsSource(mSource.getId(), mSource.getType());
|
||||
source.setVisible(mSource.isVisible());
|
||||
final InsetsSource source = new InsetsSource(mSource);
|
||||
mTmpRect.set(frame);
|
||||
if (mFrameProvider != null) {
|
||||
mFrameProvider.apply(displayFrames, mWindowContainer, mTmpRect);
|
||||
}
|
||||
source.setFrame(mTmpRect);
|
||||
|
||||
// Don't copy visible frame because it might not be calculated in the provided display
|
||||
// frames and it is not significant for this usage.
|
||||
source.setVisibleFrame(null);
|
||||
|
||||
return source;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user