|
@@ -4,16 +4,9 @@ import { StatusBar } from 'react-native';
|
4
|
4
|
import { Immersive } from 'react-native-immersive';
|
5
|
5
|
|
6
|
6
|
import { APP_WILL_MOUNT, APP_WILL_UNMOUNT } from '../../app';
|
7
|
|
-import {
|
8
|
|
- CONFERENCE_FAILED,
|
9
|
|
- CONFERENCE_JOINED,
|
10
|
|
- CONFERENCE_LEFT,
|
11
|
|
- CONFERENCE_WILL_JOIN,
|
12
|
|
- SET_AUDIO_ONLY,
|
13
|
|
- getCurrentConference
|
14
|
|
-} from '../../base/conference';
|
|
7
|
+import { getCurrentConference } from '../../base/conference';
|
15
|
8
|
import { Platform } from '../../base/react';
|
16
|
|
-import { MiddlewareRegistry } from '../../base/redux';
|
|
9
|
+import { MiddlewareRegistry, StateListenerRegistry } from '../../base/redux';
|
17
|
10
|
|
18
|
11
|
import { _setImmersiveListener as _setImmersiveListenerA } from './actions';
|
19
|
12
|
import { _SET_IMMERSIVE_LISTENER } from './actionTypes';
|
|
@@ -47,31 +40,21 @@ MiddlewareRegistry.register(store => next => action => {
|
47
|
40
|
store.dispatch(_setImmersiveListenerA(undefined));
|
48
|
41
|
break;
|
49
|
42
|
|
50
|
|
- case CONFERENCE_WILL_JOIN:
|
51
|
|
- case CONFERENCE_JOINED:
|
52
|
|
- case SET_AUDIO_ONLY: {
|
53
|
|
- const result = next(action);
|
54
|
|
- const { audioOnly } = store.getState()['features/base/conference'];
|
55
|
|
- const conference = getCurrentConference(store);
|
56
|
|
-
|
57
|
|
- _setFullScreen(conference ? !audioOnly : false);
|
58
|
|
-
|
59
|
|
- return result;
|
60
|
|
- }
|
61
|
|
-
|
62
|
|
- case CONFERENCE_FAILED:
|
63
|
|
- case CONFERENCE_LEFT: {
|
64
|
|
- const result = next(action);
|
65
|
|
-
|
66
|
|
- _setFullScreen(false);
|
67
|
|
-
|
68
|
|
- return result;
|
69
|
|
- }
|
70
|
43
|
}
|
71
|
44
|
|
72
|
45
|
return next(action);
|
73
|
46
|
});
|
74
|
47
|
|
|
48
|
+StateListenerRegistry.register(
|
|
49
|
+ /* selector */ state => {
|
|
50
|
+ const { audioOnly } = state['features/base/conference'];
|
|
51
|
+ const conference = getCurrentConference(state);
|
|
52
|
+
|
|
53
|
+ return conference ? !audioOnly : false;
|
|
54
|
+ },
|
|
55
|
+ /* listener */ fullScreen => _setFullScreen(fullScreen)
|
|
56
|
+);
|
|
57
|
+
|
75
|
58
|
/**
|
76
|
59
|
* Handler for Immersive mode changes. This will be called when Android's
|
77
|
60
|
* immersive mode changes. This can happen without us wanting, so re-evaluate if
|