@@ -9,7 +9,12 @@ import initMenuActions from './utils/initMenuActions';
99import { history , store , persistor as storePersistor } from './ducks/store' ;
1010import { actionCreators as deviceActions } from './ducks/modules/deviceSettings' ;
1111import App from './containers/App' ;
12- import { isCordova , isElectron , getEnv } from './utils/Environment' ;
12+ import {
13+ isCordova ,
14+ isElectron ,
15+ getEnv ,
16+ isAndroid ,
17+ } from './utils/Environment' ;
1318import AppRouter from './routes' ;
1419import remote from './utils/remote' ;
1520
@@ -40,6 +45,29 @@ const Persist = ({ persistor, children }) => {
4045const startApp = ( ) => {
4146 store . dispatch ( deviceActions . deviceReady ( ) ) ;
4247
48+ // Enable fullscreen mode on Android using cordova-plugin-fullscreen
49+ if ( isAndroid ( ) ) {
50+ window . AndroidFullScreen . isImmersiveModeSupported ( ( ) => {
51+ window . AndroidFullScreen . immersiveMode ( ( ) => {
52+ // eslint-disable-next-line no-console
53+ console . info ( 'Set app into immersive mode.' ) ;
54+
55+ window . addEventListener ( 'keyboardDidHide' , ( ) => {
56+ // Describe your logic which will be run each time keyboard is closed.
57+ // eslint-disable-next-line no-console
58+ console . log ( 'keyboard hidden' ) ;
59+ window . AndroidFullScreen . immersiveMode ( ) ;
60+ } ) ;
61+ } , ( ) => {
62+ // eslint-disable-next-line no-console
63+ console . warn ( 'Failed to set app into immersive mode!' ) ;
64+ } ) ;
65+ } , ( ) => {
66+ // eslint-disable-next-line no-console
67+ console . warn ( 'Wanted to set immersive mode, but not supported!' ) ;
68+ } ) ;
69+ }
70+
4371 ReactDOM . render (
4472 < Provider store = { store } >
4573 < Persist persistor = { storePersistor } >
0 commit comments