diff --git a/app/actions/navigation.js b/app/actions/navigation.js index 5d6828dcb..219bb26a7 100644 --- a/app/actions/navigation.js +++ b/app/actions/navigation.js @@ -363,15 +363,21 @@ export function dismissOverlay(componentId) { }; } -export function applyTheme(componentId) { +export function applyTheme(componentId, skipBackButtonStyle = false) { return (dispatch, getState) => { const theme = getTheme(getState()); + let backButton = { + color: theme.sidebarHeaderTextColor, + }; + + if (skipBackButtonStyle && Platform.OS === 'android') { + backButton = null; + } + Navigation.mergeOptions(componentId, { topBar: { - backButton: { - color: theme.sidebarHeaderTextColor, - }, + backButton, background: { color: theme.sidebarHeaderBg, }, diff --git a/app/screens/settings/advanced_settings/advanced_settings.js b/app/screens/settings/advanced_settings/advanced_settings.js index 4da5576e3..2d1eda211 100644 --- a/app/screens/settings/advanced_settings/advanced_settings.js +++ b/app/screens/settings/advanced_settings/advanced_settings.js @@ -28,6 +28,7 @@ import Config from 'assets/config'; class AdvancedSettings extends PureComponent { static propTypes = { actions: PropTypes.shape({ + dismissAllModals: PropTypes.func.isRequired, purgeOfflineStore: PropTypes.func.isRequired, }).isRequired, intl: intlShape.isRequired, @@ -74,6 +75,10 @@ class AdvancedSettings extends PureComponent { await deleteFileCache(); this.setState({cacheSize: 0, cacheSizedFetched: true}); actions.purgeOfflineStore(); + + if (Platform.OS === 'android') { + actions.dismissAllModals(); + } }); renderCacheFileSize = () => { diff --git a/app/screens/settings/advanced_settings/index.js b/app/screens/settings/advanced_settings/index.js index 0655ea903..1109a77a1 100644 --- a/app/screens/settings/advanced_settings/index.js +++ b/app/screens/settings/advanced_settings/index.js @@ -4,6 +4,7 @@ import {bindActionCreators} from 'redux'; import {connect} from 'react-redux'; +import {dismissAllModals} from 'app/actions/navigation'; import {purgeOfflineStore} from 'app/actions/views/root'; import {getTheme} from 'mattermost-redux/selectors/entities/preferences'; import {isLandscape} from 'app/selectors/device'; @@ -19,6 +20,7 @@ function mapStateToProps(state) { function mapDispatchToProps(dispatch) { return { actions: bindActionCreators({ + dismissAllModals, purgeOfflineStore, }, dispatch), }; diff --git a/app/screens/settings/general/settings.js b/app/screens/settings/general/settings.js index 3377d0754..52a347175 100644 --- a/app/screens/settings/general/settings.js +++ b/app/screens/settings/general/settings.js @@ -54,7 +54,7 @@ class Settings extends PureComponent { componentDidAppear() { const {actions, componentId} = this.props; - actions.applyTheme(componentId); + actions.applyTheme(componentId, true); } navigationButtonPressed({buttonId}) {