Moved isConversationTooBigToRing to the SmartCallManager

This commit is contained in:
Alvaro 2022-12-19 19:10:51 -07:00 committed by GitHub
parent 1e282ee5d0
commit cdb779508b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 32 additions and 21 deletions

View file

@ -116,6 +116,7 @@ const createProps = (storyProps: Partial<PropsType> = {}): PropsType => ({
),
toggleSettings: action('toggle-settings'),
toggleSpeakerView: action('toggle-speaker-view'),
isConversationTooBigToRing: false,
});
export default {

View file

@ -41,7 +41,6 @@ import type {
} from '../state/ducks/calling';
import type { LocalizerType, ThemeType } from '../types/Util';
import { missingCaseError } from '../util/missingCaseError';
import { isConversationTooBigToRing } from '../conversations/isConversationTooBigToRing';
const GROUP_CALL_RING_DURATION = 60 * 1000;
@ -100,6 +99,7 @@ export type PropsType = {
toggleScreenRecordingPermissionsDialog: () => unknown;
toggleSettings: () => void;
toggleSpeakerView: () => void;
isConversationTooBigToRing: boolean;
};
type ActiveCallManagerPropsType = PropsType & {
@ -455,10 +455,13 @@ export function CallManager(props: PropsType): JSX.Element | null {
function getShouldRing({
activeCall,
incomingCall,
}: Readonly<Pick<PropsType, 'activeCall' | 'incomingCall'>>): boolean {
isConversationTooBigToRing,
}: Readonly<
Pick<PropsType, 'activeCall' | 'incomingCall' | 'isConversationTooBigToRing'>
>): boolean {
if (incomingCall) {
// don't ring a large group
if (isConversationTooBigToRing(incomingCall.conversation)) {
if (isConversationTooBigToRing) {
return false;
}

View file

@ -318,24 +318,31 @@ const mapStateToIncomingCallProp = (state: StateType) => {
}
};
const mapStateToProps = (state: StateType) => ({
activeCall: mapStateToActiveCallProp(state),
bounceAppIconStart,
bounceAppIconStop,
availableCameras: state.calling.availableCameras,
getGroupCallVideoFrameSource,
getPreferredBadge: getPreferredBadgeSelector(state),
i18n: getIntl(state),
isGroupCallOutboundRingEnabled: isGroupCallOutboundRingEnabled(),
incomingCall: mapStateToIncomingCallProp(state),
me: getMe(state),
notifyForCall,
playRingtone,
stopRingtone,
renderDeviceSelection,
renderSafetyNumberViewer,
theme: getTheme(state),
});
const mapStateToProps = (state: StateType) => {
const incomingCall = mapStateToIncomingCallProp(state);
return {
activeCall: mapStateToActiveCallProp(state),
bounceAppIconStart,
bounceAppIconStop,
availableCameras: state.calling.availableCameras,
getGroupCallVideoFrameSource,
getPreferredBadge: getPreferredBadgeSelector(state),
i18n: getIntl(state),
isGroupCallOutboundRingEnabled: isGroupCallOutboundRingEnabled(),
incomingCall,
me: getMe(state),
notifyForCall,
playRingtone,
stopRingtone,
renderDeviceSelection,
renderSafetyNumberViewer,
theme: getTheme(state),
isConversationTooBigToRing: incomingCall
? isConversationTooBigToRing(incomingCall.conversation)
: false,
};
};
const smart = connect(mapStateToProps, mapDispatchToProps);