diff --git a/app/components/safe_area_view/safe_area_view.ios.js b/app/components/safe_area_view/safe_area_view.ios.js index 541baf0b5..32c39cf03 100644 --- a/app/components/safe_area_view/safe_area_view.ios.js +++ b/app/components/safe_area_view/safe_area_view.ios.js @@ -84,17 +84,15 @@ export default class SafeAreaIos extends PureComponent { getSafeAreaInsets = async (dimensions) => { this.getStatusBarHeight(); - const safeAreaInsetsStored = EphemeralStore.safeAreaInsets[PORTRAIT] !== null && EphemeralStore.safeAreaInsets[LANDSCAPE] !== null; - if ((DeviceTypes.IS_IPHONE_WITH_INSETS || mattermostManaged.hasSafeAreaInsets) && !safeAreaInsetsStored) { + if (DeviceTypes.IS_IPHONE_WITH_INSETS || mattermostManaged.hasSafeAreaInsets) { const window = dimensions?.window || Dimensions.get('window'); - const landscape = window.width > window.length; + const orientation = window.width > window.length ? LANDSCAPE : PORTRAIT; const {safeAreaInsets} = await SafeArea.getSafeAreaInsetsForRootView(); - this.setSafeAreaInsets(safeAreaInsets, landscape); + this.setSafeAreaInsets(safeAreaInsets, orientation); } } - setSafeAreaInsets = (safeAreaInsets, landscape) => { - const orientation = landscape ? LANDSCAPE : PORTRAIT; + setSafeAreaInsets = (safeAreaInsets, orientation) => { if (EphemeralStore.safeAreaInsets[orientation] === null) { EphemeralStore.safeAreaInsets[orientation] = safeAreaInsets; } @@ -130,8 +128,8 @@ export default class SafeAreaIos extends PureComponent { this.getStatusBarHeight(); const {width, height} = Dimensions.get('window'); - const landscape = width > height; - this.setSafeAreaInsets(safeAreaInsets, landscape); + const orientation = width > height ? LANDSCAPE : PORTRAIT; + this.setSafeAreaInsets(safeAreaInsets, orientation); } } diff --git a/app/components/safe_area_view/safe_area_view.ios.test.js b/app/components/safe_area_view/safe_area_view.ios.test.js index a1e47c149..0246b9bcd 100644 --- a/app/components/safe_area_view/safe_area_view.ios.test.js +++ b/app/components/safe_area_view/safe_area_view.ios.test.js @@ -195,9 +195,9 @@ describe('SafeAreaIos', () => { expect(EphemeralStore.safeAreaInsets[PORTRAIT]).toEqual(null); expect(EphemeralStore.safeAreaInsets[LANDSCAPE]).toEqual(null); - const landscape = false; + const orientation = PORTRAIT; const instance = wrapper.instance(); - instance.setSafeAreaInsets(PORTRAIT_INSETS.safeAreaInsets, landscape); + instance.setSafeAreaInsets(PORTRAIT_INSETS.safeAreaInsets, orientation); expect(wrapper.state().safeAreaInsets).toEqual(PORTRAIT_INSETS.safeAreaInsets); expect(EphemeralStore.safeAreaInsets[PORTRAIT]).toEqual(PORTRAIT_INSETS.safeAreaInsets); expect(EphemeralStore.safeAreaInsets[LANDSCAPE]).toEqual(null); @@ -211,9 +211,9 @@ describe('SafeAreaIos', () => { EphemeralStore.safeAreaInsets[PORTRAIT] = PORTRAIT_INSETS.safeAreaInsets; expect(wrapper.state().safeAreaInsets).not.toEqual(PORTRAIT_INSETS.safeAreaInsets); - const landscape = false; + const orientation = PORTRAIT; const instance = wrapper.instance(); - instance.setSafeAreaInsets(IGNORED_INSETS.safeAreaInsets, landscape); + instance.setSafeAreaInsets(IGNORED_INSETS.safeAreaInsets, orientation); expect(wrapper.state().safeAreaInsets).toEqual(PORTRAIT_INSETS.safeAreaInsets); expect(EphemeralStore.safeAreaInsets[PORTRAIT]).toEqual(PORTRAIT_INSETS.safeAreaInsets); expect(EphemeralStore.safeAreaInsets[LANDSCAPE]).toEqual(null); @@ -228,9 +228,9 @@ describe('SafeAreaIos', () => { expect(EphemeralStore.safeAreaInsets[PORTRAIT]).toEqual(null); expect(EphemeralStore.safeAreaInsets[LANDSCAPE]).toEqual(null); - const landscape = true; + const orientation = LANDSCAPE; const instance = wrapper.instance(); - instance.setSafeAreaInsets(LANDSCAPE_INSETS.safeAreaInsets, landscape); + instance.setSafeAreaInsets(LANDSCAPE_INSETS.safeAreaInsets, orientation); expect(wrapper.state().safeAreaInsets).toEqual(LANDSCAPE_INSETS.safeAreaInsets); expect(EphemeralStore.safeAreaInsets[LANDSCAPE]).toEqual(LANDSCAPE_INSETS.safeAreaInsets); expect(EphemeralStore.safeAreaInsets[PORTRAIT]).toEqual(null); @@ -244,9 +244,9 @@ describe('SafeAreaIos', () => { EphemeralStore.safeAreaInsets[LANDSCAPE] = LANDSCAPE_INSETS.safeAreaInsets; expect(wrapper.state().safeAreaInsets).not.toEqual(LANDSCAPE_INSETS.safeAreaInsets); - const landscape = true; + const orientation = LANDSCAPE; const instance = wrapper.instance(); - instance.setSafeAreaInsets(IGNORED_INSETS.safeAreaInsets, landscape); + instance.setSafeAreaInsets(IGNORED_INSETS.safeAreaInsets, orientation); expect(wrapper.state().safeAreaInsets).toEqual(LANDSCAPE_INSETS.safeAreaInsets); expect(EphemeralStore.safeAreaInsets[LANDSCAPE]).toEqual(LANDSCAPE_INSETS.safeAreaInsets); expect(EphemeralStore.safeAreaInsets[PORTRAIT]).toEqual(null); @@ -302,27 +302,4 @@ describe('SafeAreaIos', () => { instance.onSafeAreaInsetsForRootViewChange(TEST_INSETS_1); expect(removeEventListener).toHaveBeenCalledWith('safeAreaInsetsForRootViewDidChange', instance.onSafeAreaInsetsForRootViewChange); }); - - test('getSafeAreaInsets should set safe area insets when not already in ephemeral store', async () => { - const wrapper = shallow( - - ); - const instance = wrapper.instance(); - const setSafeAreaInsets = jest.spyOn(instance, 'setSafeAreaInsets'); - - expect(EphemeralStore.safeAreaInsets[PORTRAIT]).toEqual(null); - expect(EphemeralStore.safeAreaInsets[LANDSCAPE]).toEqual(null); - await instance.getSafeAreaInsets(); - expect(setSafeAreaInsets).toHaveBeenCalled(); - setSafeAreaInsets.mockClear(); - - EphemeralStore.safeAreaInsets[PORTRAIT] = TEST_INSETS_1.safeAreaInsets; /* eslint-disable-line require-atomic-updates */ - await instance.getSafeAreaInsets(); - expect(setSafeAreaInsets).toHaveBeenCalled(); - setSafeAreaInsets.mockClear(); - - EphemeralStore.safeAreaInsets[LANDSCAPE] = TEST_INSETS_1.safeAreaInsets; /* eslint-disable-line require-atomic-updates */ - await instance.getSafeAreaInsets(); - expect(setSafeAreaInsets).not.toHaveBeenCalled(); - }); }); diff --git a/app/screens/thread/__snapshots__/thread.ios.test.js.snap b/app/screens/thread/__snapshots__/thread.ios.test.js.snap index 3ce6def0a..531bff0c7 100644 --- a/app/screens/thread/__snapshots__/thread.ios.test.js.snap +++ b/app/screens/thread/__snapshots__/thread.ios.test.js.snap @@ -4,6 +4,7 @@ exports[`thread should match snapshot, has root post 1`] = ` - + {content}