Guest User

Untitled

a guest
Feb 23rd, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import type { Ref } from 'react';
  2. import React, { Component } from "react";
  3. import { Dimensions, StyleSheet, Text, TouchableOpacity, View } from "react-native";
  4. import OpenTok, { Subscriber } from 'react-native-opentok';
  5.  
  6. var { height, width } = Dimensions.get('window');
  7.  
  8. const sessionId = '1_MX40NjA2NjM1Mn5-MTUxOTM4MTk5ODc5Mn5hUnFycTQzczR4cm90bGtoejNSTWdWVkV-fg';
  9. const token = 'T1==cGFydG5lcl9pZD00NjA2NjM1MiZzaWc9YTg0YzczOWYxMjE0ODg2OWMwZmRjODkzZjQ5YzI5YmIxMjViMDc0YjpzZXNzaW9uX2lkPTFfTVg0ME5qQTJOak0xTW41LU1UVXhPVE00TVRrNU9EYzVNbjVoVW5GeWNUUXpjelI0Y205MGJHdG9lak5TVFdkV1ZrVi1mZyZjcmVhdGVfdGltZT0xNTE5Mzg2NjAzJm5vbmNlPTAuMTQ3MjAwNTY3Nzk0MDYwNjUmcm9sZT1zdWJzY3JpYmVyJmV4cGlyZV90aW1lPTE1MTk5OTE0MDImaW5pdGlhbF9sYXlvdXRfY2xhc3NfbGlzdD0=';
  10.  
  11.  
  12. export default class Viewer extends Component<{}> {
  13.  
  14.     constructor(props) {
  15.         super(props);
  16.         this.openTokConnect();
  17.     }
  18.  
  19.     openTokConnect = async () => {
  20.         await OpenTok.connect(sessionId, token);
  21.         OpenTok.on(OpenTok.events.ON_SIGNAL_RECEIVED, e => console.log(e));
  22.     };
  23.  
  24.     ref: Ref<typeof Viewer>;
  25.  
  26.     render() {
  27.  
  28.         return (
  29.             <View style={styles.container}>
  30.                 <View style={{ flex: 0.9 }}>
  31.                     <Subscriber
  32.                         sessionId={sessionId}
  33.                         style={{ backgroundColor: 'black', height: height, width: width, }}
  34.                         ref={ref => {
  35.                             this.ref = ref;
  36.                         }}
  37.                     />
  38.                 </View>
  39.                 <View style={{ flex: 0.1, flexDirection: 'row' }}>
  40.                     <TouchableOpacity
  41.                         style={styles.cancel}
  42.                         onPress={() => this.cancelAndBack()}>
  43.                         <Text style={{ color: 'white', fontSize: 20, fontWeight: 'bold' }}>Cancel</Text>
  44.                     </TouchableOpacity>
  45.                 </View>
  46.             </View>
  47.         );
  48.     }
  49.  
  50.     cancelAndBack() {
  51.         OpenTok.disconnect(sessionId);
  52.         this.props.navigation.goBack()
  53.     }
  54. };
  55.  
  56. const styles = StyleSheet.create({
  57.     container: {
  58.         flex: 1,
  59.     },
  60.     cancel: {
  61.         backgroundColor: '#E74C3C',
  62.         flex: 1,
  63.         margin: 5,
  64.         alignItems: 'center',
  65.         borderRadius: 5,
  66.         justifyContent: 'center'
  67.     }
  68. });
Add Comment
Please, Sign In to add comment