ios: add feature flag to enable recording on iOS
This commit is contained in:
parent
cf7b10d53d
commit
f7b92f65ca
|
@ -46,6 +46,12 @@
|
|||
jitsiMeet.defaultConferenceOptions = [JitsiMeetConferenceOptions fromBuilder:^(JitsiMeetConferenceOptionsBuilder *builder) {
|
||||
builder.serverURL = [NSURL URLWithString:@"https://meet.jit.si"];
|
||||
builder.welcomePageEnabled = YES;
|
||||
|
||||
// Apple rejected our app because they claim requiring a
|
||||
// Dropbox account for recording is not acceptable.
|
||||
#if DEBUG
|
||||
[builder setFeatureFlag:@"ios.recording.enabled" withBoolean:YES];
|
||||
#endif
|
||||
}];
|
||||
|
||||
[jitsiMeet application:application didFinishLaunchingWithOptions:launchOptions];
|
||||
|
|
|
@ -1,5 +1,11 @@
|
|||
// @flow
|
||||
|
||||
/**
|
||||
* Flag indicating if recording should be enabled in iOS.
|
||||
* Default: disabled (false).
|
||||
*/
|
||||
export const IOS_RECORDING_ENABLED = 'ios.recording.enabled';
|
||||
|
||||
/**
|
||||
* Flag indicating if Picture-in-Picture should be enabled.
|
||||
* Default: auto-detected.
|
||||
|
|
|
@ -4,10 +4,8 @@ import React, { Component } from 'react';
|
|||
import { Platform } from 'react-native';
|
||||
|
||||
import { ColorSchemeRegistry } from '../../../base/color-scheme';
|
||||
import {
|
||||
BottomSheet,
|
||||
hideDialog
|
||||
} from '../../../base/dialog';
|
||||
import { BottomSheet, hideDialog } from '../../../base/dialog';
|
||||
import { IOS_RECORDING_ENABLED, getFeatureFlag } from '../../../base/flags';
|
||||
import { connect } from '../../../base/redux';
|
||||
import { StyleType } from '../../../base/styles';
|
||||
import { InfoDialogButton, InviteButton } from '../../../invite';
|
||||
|
@ -21,8 +19,6 @@ import AudioOnlyButton from './AudioOnlyButton';
|
|||
import RaiseHandButton from './RaiseHandButton';
|
||||
import ToggleCameraButton from './ToggleCameraButton';
|
||||
|
||||
declare var __DEV__;
|
||||
|
||||
/**
|
||||
* The type of the React {@code Component} props of {@link OverflowMenu}.
|
||||
*/
|
||||
|
@ -33,6 +29,11 @@ type Props = {
|
|||
*/
|
||||
_bottomSheetStyles: StyleType,
|
||||
|
||||
/**
|
||||
* Whether the recoding button should be enabled or not.
|
||||
*/
|
||||
_recordingEnabled: boolean,
|
||||
|
||||
/**
|
||||
* Used for hiding the dialog when the selection was completed.
|
||||
*/
|
||||
|
@ -86,11 +87,7 @@ class OverflowMenu extends Component<Props> {
|
|||
<RoomLockButton { ...buttonProps } />
|
||||
<ClosedCaptionButton { ...buttonProps } />
|
||||
{
|
||||
|
||||
// Apple rejected our app because they claim requiring a
|
||||
// Dropbox account for recording is not acceptable.
|
||||
// Ddisable it until we can find a way around it.
|
||||
(__DEV__ || Platform.OS !== 'ios')
|
||||
this.props._recordingEnabled
|
||||
&& <RecordButton { ...buttonProps } />
|
||||
}
|
||||
<LiveStreamButton { ...buttonProps } />
|
||||
|
@ -121,13 +118,15 @@ class OverflowMenu extends Component<Props> {
|
|||
* @param {Object} state - Redux state.
|
||||
* @private
|
||||
* @returns {{
|
||||
* _bottomSheetStyles: StyleType
|
||||
* _bottomSheetStyles: StyleType,
|
||||
* _recordingEnabled: boolean
|
||||
* }}
|
||||
*/
|
||||
function _mapStateToProps(state) {
|
||||
return {
|
||||
_bottomSheetStyles:
|
||||
ColorSchemeRegistry.get(state, 'BottomSheet')
|
||||
ColorSchemeRegistry.get(state, 'BottomSheet'),
|
||||
_recordingEnabled: Platform.OS !== 'ios' || getFeatureFlag(state, IOS_RECORDING_ENABLED)
|
||||
};
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue