diff --git a/android/sdk/build.gradle b/android/sdk/build.gradle index 8fc9ef672..db2042893 100644 --- a/android/sdk/build.gradle +++ b/android/sdk/build.gradle @@ -70,11 +70,12 @@ dependencies { implementation project(':react-native-default-preference') implementation project(':react-native-immersive') implementation project(':react-native-keep-awake') + implementation project(':react-native-slider') implementation project(':react-native-sound') + implementation project(':react-native-splash-screen') implementation project(':react-native-svg') implementation project(':react-native-webrtc') implementation project(':react-native-webview') - implementation project(':react-native-splash-screen') testImplementation 'junit:junit:4.12' } diff --git a/android/sdk/src/main/java/org/jitsi/meet/sdk/ReactInstanceManagerHolder.java b/android/sdk/src/main/java/org/jitsi/meet/sdk/ReactInstanceManagerHolder.java index db55d2202..84b203115 100644 --- a/android/sdk/src/main/java/org/jitsi/meet/sdk/ReactInstanceManagerHolder.java +++ b/android/sdk/src/main/java/org/jitsi/meet/sdk/ReactInstanceManagerHolder.java @@ -187,6 +187,7 @@ class ReactInstanceManagerHolder { new com.ocetnik.timer.BackgroundTimerPackage(), new com.reactnativecommunity.asyncstorage.AsyncStoragePackage(), new com.reactnativecommunity.netinfo.NetInfoPackage(), + new com.reactnativecommunity.slider.ReactSliderPackage(), new com.reactnativecommunity.webview.RNCWebViewPackage(), new com.rnimmersive.RNImmersivePackage(), new com.zmxv.RNSound.RNSoundPackage(), diff --git a/android/settings.gradle b/android/settings.gradle index af4f98fe8..307b1313f 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -19,6 +19,8 @@ include ':react-native-immersive' project(':react-native-immersive').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-immersive/android') include ':react-native-keep-awake' project(':react-native-keep-awake').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-keep-awake/android') +include ':react-native-slider' +project(':react-native-slider').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-community/slider/android') include ':react-native-sound' project(':react-native-sound').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-sound/android') include ':react-native-splash-screen' @@ -28,4 +30,4 @@ project(':react-native-svg').projectDir = new File(rootProject.projectDir, '../ include ':react-native-webrtc' project(':react-native-webrtc').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-webrtc/android') include ':react-native-webview' -project(':react-native-webview').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-webview/android') \ No newline at end of file +project(':react-native-webview').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-webview/android') diff --git a/react/features/participants-pane/components/native/MeetingParticipantList.js b/react/features/participants-pane/components/native/MeetingParticipantList.js index 8a8ac9a05..f3ad6995c 100644 --- a/react/features/participants-pane/components/native/MeetingParticipantList.js +++ b/react/features/participants-pane/components/native/MeetingParticipantList.js @@ -30,18 +30,19 @@ export const MeetingParticipantList = () => { const { t } = useTranslation(); // eslint-disable-next-line react/no-multi-comp - const renderParticipant = id => ( + const renderParticipant = p => ( + dispatch(showContextMenuDetails(id)) } - participantID = { id } /> + onPress = { () => !p.local && dispatch(showContextMenuDetails(p.id)) } + participantID = { p.id } /> ); - localParticipant && items.push(renderParticipant(localParticipant?.id)); + items.push(renderParticipant(localParticipant)); participants.forEach(p => { - items.push(renderParticipant(p?.id)); + items.push(renderParticipant(p)); }); return ( diff --git a/react/features/toolbox/components/native/OverflowMenu.js b/react/features/toolbox/components/native/OverflowMenu.js index ec4666aa5..5aabeddff 100644 --- a/react/features/toolbox/components/native/OverflowMenu.js +++ b/react/features/toolbox/components/native/OverflowMenu.js @@ -8,7 +8,6 @@ import { getFeatureFlag, REACTIONS_ENABLED } from '../../../base/flags'; import { connect } from '../../../base/redux'; import { StyleType } from '../../../base/styles'; import { SharedDocumentButton } from '../../../etherpad'; -import { InviteButton } from '../../../invite'; import { AudioRouteButton } from '../../../mobile/audio-mode'; import { ParticipantsPaneButton } from '../../../participants-pane/components/native'; import { ReactionMenu } from '../../../reactions/components'; @@ -126,8 +125,7 @@ class OverflowMenu extends PureComponent { style: { ..._bottomSheetStyles.buttons.style, borderTopLeftRadius: 16, - borderTopRightRadius: 16, - paddingTop: 16 + borderTopRightRadius: 16 } } }; @@ -140,7 +138,6 @@ class OverflowMenu extends PureComponent { : null }> - {!toolbarButtons.has('invite') && } {!_reactionsEnabled && !toolbarButtons.has('raisehand') && } diff --git a/react/features/toolbox/components/native/Toolbox.js b/react/features/toolbox/components/native/Toolbox.js index cd391a464..0774653ff 100644 --- a/react/features/toolbox/components/native/Toolbox.js +++ b/react/features/toolbox/components/native/Toolbox.js @@ -8,7 +8,7 @@ import { getFeatureFlag, REACTIONS_ENABLED } from '../../../base/flags'; import { connect } from '../../../base/redux'; import { StyleType } from '../../../base/styles'; import { ChatButton } from '../../../chat'; -import { InviteButton } from '../../../invite'; +import { ParticipantsPaneButton } from '../../../participants-pane/components/native'; import { ReactionsMenuButton } from '../../../reactions/components'; import { TileViewButton } from '../../../video-layout'; import { isToolboxVisible, getMovableButtons } from '../../functions.native'; @@ -101,7 +101,10 @@ function Toolbox(props: Props) { styles = { buttonStylesBorderless } toggledStyles = { backgroundToggledStyle } />)} {additionalButtons.has('tileview') && } - {additionalButtons.has('invite') && } + {additionalButtons.has('participantspane') + && + } {additionalButtons.has('togglecamera') && { switch (true) { case width >= WIDTH.FIT_9_ICONS: { - buttons = [ 'togglecamera', 'chat', 'invite', 'raisehand', 'tileview' ]; + buttons = [ 'togglecamera', 'chat', 'participantspane', 'raisehand', 'tileview' ]; break; } case width >= WIDTH.FIT_8_ICONS: { diff --git a/react/features/video-menu/components/native/VolumeSlider.js b/react/features/video-menu/components/native/VolumeSlider.js index ffd655486..3f875e527 100644 --- a/react/features/video-menu/components/native/VolumeSlider.js +++ b/react/features/video-menu/components/native/VolumeSlider.js @@ -1,8 +1,9 @@ // @flow +import Slider from '@react-native-community/slider'; import _ from 'lodash'; import React, { PureComponent } from 'react'; -import { Slider, View } from 'react-native'; +import { View } from 'react-native'; import { withTheme } from 'react-native-paper'; import { Icon, IconVolumeEmpty } from '../../../base/icons';