| 123456789101112131415161718192021222324252627282930313233343536 | 
							- // @flow
 - 
 - import { BackHandler } from 'react-native';
 - 
 - import { APP_WILL_MOUNT, APP_WILL_UNMOUNT } from '../../base/app';
 - import { MiddlewareRegistry } from '../../base/redux';
 - 
 - import BackButtonRegistry from './BackButtonRegistry';
 - 
 - // Binding function to the proper instance, so then the event emitter won't replace the
 - // underlying instance.
 - BackButtonRegistry.onHardwareBackPress = BackButtonRegistry.onHardwareBackPress.bind(BackButtonRegistry);
 - 
 - /**
 -  * Middleware that captures App lifetime actions and subscribes to application
 -  * state changes. When the application state changes it will fire the action
 -  * required to mute or unmute the local video in case the application goes to
 -  * the background or comes back from it.
 -  *
 -  * @param {Store} store - The redux store.
 -  * @returns {Function}
 -  * @see {@link https://facebook.github.io/react-native/docs/appstate.html}
 -  */
 - MiddlewareRegistry.register(() => next => action => {
 -     switch (action.type) {
 -     case APP_WILL_MOUNT:
 -         BackHandler.addEventListener('hardwareBackPress', BackButtonRegistry.onHardwareBackPress);
 -         break;
 - 
 -     case APP_WILL_UNMOUNT:
 -         BackHandler.removeEventListener('hardwareBackPress', BackButtonRegistry.onHardwareBackPress);
 -         break;
 -     }
 - 
 -     return next(action);
 - });
 
 
  |