Properly handle wakelock, fixes #237
parent
e28b6cdc5d
commit
1cef52a3a1
|
|
@ -199,6 +199,9 @@ export default class RoomClient
|
||||||
// @type {mediasoupClient.Device}
|
// @type {mediasoupClient.Device}
|
||||||
this._mediasoupDevice = null;
|
this._mediasoupDevice = null;
|
||||||
|
|
||||||
|
// Put the browser info into state
|
||||||
|
store.dispatch(meActions.setBrowser(device));
|
||||||
|
|
||||||
// Our WebTorrent client
|
// Our WebTorrent client
|
||||||
this._webTorrent = null;
|
this._webTorrent = null;
|
||||||
|
|
||||||
|
|
@ -206,13 +209,10 @@ export default class RoomClient
|
||||||
store.dispatch(settingsActions.setVideoResolution(defaultResolution));
|
store.dispatch(settingsActions.setVideoResolution(defaultResolution));
|
||||||
|
|
||||||
// Max spotlights
|
// Max spotlights
|
||||||
if (device.bowser.getPlatformType() === 'desktop')
|
if (device.platform === 'desktop')
|
||||||
this._maxSpotlights = lastN;
|
this._maxSpotlights = lastN;
|
||||||
else
|
else
|
||||||
{
|
|
||||||
this._maxSpotlights = mobileLastN;
|
this._maxSpotlights = mobileLastN;
|
||||||
store.dispatch(meActions.setIsMobile());
|
|
||||||
}
|
|
||||||
|
|
||||||
store.dispatch(
|
store.dispatch(
|
||||||
settingsActions.setLastN(this._maxSpotlights));
|
settingsActions.setLastN(this._maxSpotlights));
|
||||||
|
|
|
||||||
|
|
@ -4,9 +4,10 @@ export const setMe = ({ peerId, loginEnabled }) =>
|
||||||
payload : { peerId, loginEnabled }
|
payload : { peerId, loginEnabled }
|
||||||
});
|
});
|
||||||
|
|
||||||
export const setIsMobile = () =>
|
export const setBrowser = (browser) =>
|
||||||
({
|
({
|
||||||
type : 'SET_IS_MOBILE'
|
type : 'SET_BROWSER',
|
||||||
|
payload : { browser }
|
||||||
});
|
});
|
||||||
|
|
||||||
export const loggedIn = (flag) =>
|
export const loggedIn = (flag) =>
|
||||||
|
|
|
||||||
|
|
@ -385,7 +385,7 @@ const Me = (props) =>
|
||||||
</Fab>
|
</Fab>
|
||||||
</div>
|
</div>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
{ !me.isMobile &&
|
{ me.browser.platform !== 'mobile' &&
|
||||||
<Tooltip title={screenTip} placement='left'>
|
<Tooltip title={screenTip} placement='left'>
|
||||||
<div>
|
<div>
|
||||||
<Fab
|
<Fab
|
||||||
|
|
|
||||||
|
|
@ -121,7 +121,7 @@ const Peer = (props) =>
|
||||||
advancedMode,
|
advancedMode,
|
||||||
peer,
|
peer,
|
||||||
activeSpeaker,
|
activeSpeaker,
|
||||||
isMobile,
|
browser,
|
||||||
micConsumer,
|
micConsumer,
|
||||||
webcamConsumer,
|
webcamConsumer,
|
||||||
screenConsumer,
|
screenConsumer,
|
||||||
|
|
@ -260,7 +260,7 @@ const Peer = (props) =>
|
||||||
</div>
|
</div>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
|
|
||||||
{ !isMobile &&
|
{ browser.platform !== 'mobile' &&
|
||||||
<Tooltip
|
<Tooltip
|
||||||
title={intl.formatMessage({
|
title={intl.formatMessage({
|
||||||
id : 'label.newWindow',
|
id : 'label.newWindow',
|
||||||
|
|
@ -408,7 +408,7 @@ const Peer = (props) =>
|
||||||
}, 2000);
|
}, 2000);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{ !isMobile &&
|
{ browser.platform !== 'mobile' &&
|
||||||
<Tooltip
|
<Tooltip
|
||||||
title={intl.formatMessage({
|
title={intl.formatMessage({
|
||||||
id : 'label.newWindow',
|
id : 'label.newWindow',
|
||||||
|
|
@ -509,7 +509,7 @@ Peer.propTypes =
|
||||||
screenConsumer : appPropTypes.Consumer,
|
screenConsumer : appPropTypes.Consumer,
|
||||||
windowConsumer : PropTypes.string,
|
windowConsumer : PropTypes.string,
|
||||||
activeSpeaker : PropTypes.bool,
|
activeSpeaker : PropTypes.bool,
|
||||||
isMobile : PropTypes.bool,
|
browser : PropTypes.object.isRequired,
|
||||||
spacing : PropTypes.number,
|
spacing : PropTypes.number,
|
||||||
style : PropTypes.object,
|
style : PropTypes.object,
|
||||||
smallButtons : PropTypes.bool,
|
smallButtons : PropTypes.bool,
|
||||||
|
|
@ -530,7 +530,7 @@ const makeMapStateToProps = (initialState, { id }) =>
|
||||||
...getPeerConsumers(state, id),
|
...getPeerConsumers(state, id),
|
||||||
windowConsumer : state.room.windowConsumer,
|
windowConsumer : state.room.windowConsumer,
|
||||||
activeSpeaker : id === state.room.activeSpeakerId,
|
activeSpeaker : id === state.room.activeSpeakerId,
|
||||||
isMobile : state.me.isMobile
|
browser : state.me.browser
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -565,7 +565,7 @@ export default withRoomContext(connect(
|
||||||
prev.consumers === next.consumers &&
|
prev.consumers === next.consumers &&
|
||||||
prev.room.activeSpeakerId === next.room.activeSpeakerId &&
|
prev.room.activeSpeakerId === next.room.activeSpeakerId &&
|
||||||
prev.room.windowConsumer === next.room.windowConsumer &&
|
prev.room.windowConsumer === next.room.windowConsumer &&
|
||||||
prev.me.isMobile === next.me.isMobile
|
prev.me.browser === next.me.browser
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -139,7 +139,7 @@ class Room extends React.PureComponent
|
||||||
{
|
{
|
||||||
const {
|
const {
|
||||||
room,
|
room,
|
||||||
isMobile,
|
browser,
|
||||||
advancedMode,
|
advancedMode,
|
||||||
toolAreaOpen,
|
toolAreaOpen,
|
||||||
toggleToolArea,
|
toggleToolArea,
|
||||||
|
|
@ -204,7 +204,7 @@ class Room extends React.PureComponent
|
||||||
</Hidden>
|
</Hidden>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
{ isMobile &&
|
{ browser.platform === 'mobile' && browser.os !== 'ios' &&
|
||||||
<WakeLock />
|
<WakeLock />
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -225,7 +225,7 @@ class Room extends React.PureComponent
|
||||||
Room.propTypes =
|
Room.propTypes =
|
||||||
{
|
{
|
||||||
room : appPropTypes.Room.isRequired,
|
room : appPropTypes.Room.isRequired,
|
||||||
isMobile : PropTypes.bool.isRequired,
|
browser : PropTypes.object.isRequired,
|
||||||
advancedMode : PropTypes.bool.isRequired,
|
advancedMode : PropTypes.bool.isRequired,
|
||||||
toolAreaOpen : PropTypes.bool.isRequired,
|
toolAreaOpen : PropTypes.bool.isRequired,
|
||||||
setToolbarsVisible : PropTypes.func.isRequired,
|
setToolbarsVisible : PropTypes.func.isRequired,
|
||||||
|
|
@ -237,7 +237,7 @@ Room.propTypes =
|
||||||
const mapStateToProps = (state) =>
|
const mapStateToProps = (state) =>
|
||||||
({
|
({
|
||||||
room : state.room,
|
room : state.room,
|
||||||
isMobile : state.me.isMobile,
|
browser : state.me.browser,
|
||||||
advancedMode : state.settings.advancedMode,
|
advancedMode : state.settings.advancedMode,
|
||||||
toolAreaOpen : state.toolarea.toolAreaOpen
|
toolAreaOpen : state.toolarea.toolAreaOpen
|
||||||
});
|
});
|
||||||
|
|
@ -263,7 +263,7 @@ export default connect(
|
||||||
{
|
{
|
||||||
return (
|
return (
|
||||||
prev.room === next.room &&
|
prev.room === next.room &&
|
||||||
prev.me.isMobile === next.me.isMobile &&
|
prev.me.browser === next.me.browser &&
|
||||||
prev.settings.advancedMode === next.settings.advancedMode &&
|
prev.settings.advancedMode === next.settings.advancedMode &&
|
||||||
prev.toolarea.toolAreaOpen === next.toolarea.toolAreaOpen
|
prev.toolarea.toolAreaOpen === next.toolarea.toolAreaOpen
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -24,8 +24,10 @@ export default function()
|
||||||
|
|
||||||
return {
|
return {
|
||||||
flag,
|
flag,
|
||||||
name : browser.getBrowserName(),
|
os : browser.getOSName(true), // ios, android, linux...
|
||||||
version : browser.getBrowserVersion(),
|
platform : browser.getPlatformType(true), // mobile, desktop, tablet
|
||||||
bowser : browser
|
name : browser.getBrowserName(),
|
||||||
|
version : browser.getBrowserVersion(),
|
||||||
|
bowser : browser
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ const initialState =
|
||||||
{
|
{
|
||||||
id : null,
|
id : null,
|
||||||
picture : null,
|
picture : null,
|
||||||
isMobile : false,
|
browser : null,
|
||||||
roles : [ 'normal' ], // Default role
|
roles : [ 'normal' ], // Default role
|
||||||
canSendMic : false,
|
canSendMic : false,
|
||||||
canSendWebcam : false,
|
canSendWebcam : false,
|
||||||
|
|
@ -39,9 +39,11 @@ const me = (state = initialState, action) =>
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
case 'SET_IS_MOBILE':
|
case 'SET_BROWSER':
|
||||||
{
|
{
|
||||||
return { ...state, isMobile: true };
|
const { browser } = action.payload;
|
||||||
|
|
||||||
|
return { ...state, browser };
|
||||||
}
|
}
|
||||||
|
|
||||||
case 'LOGGED_IN':
|
case 'LOGGED_IN':
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue