Skip to content
This repository was archived by the owner on Nov 19, 2020. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ apply plugin: 'com.android.library'

android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
buildToolsVersion '25.0.0'

defaultConfig {
minSdkVersion 16
Expand Down
4 changes: 4 additions & 0 deletions android/src/main/java/com/rnopentok/RNOpenTokModule.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.rnopentok;

import android.util.Log;

import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
Expand All @@ -14,6 +16,7 @@ public RNOpenTokModule(ReactApplicationContext context) {
super(context);

RNOpenTokSessionManager.initSessionManager(context);
RNOpenTokSessionManager.getSessionManager().disconnectAllSessions();
reactContext = context;
}

Expand All @@ -27,6 +30,7 @@ public void connect(String sessionId, String token, Promise promise) {
Session session = RNOpenTokSessionManager.getSessionManager().connectToSession(sessionId, token);
session.setSessionListener(RNOpenTokSessionManager.getSessionManager());
session.setSignalListener(RNOpenTokSessionManager.getSessionManager());
Log.d("blabla", String.valueOf(session));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove this 🙏

promise.resolve(Boolean.valueOf(true));
}

Expand Down
17 changes: 17 additions & 0 deletions android/src/main/java/com/rnopentok/RNOpenTokSessionManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.util.Log;

import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.WritableMap;
Expand Down Expand Up @@ -43,15 +44,31 @@ static RNOpenTokSessionManager initSessionManager(ReactApplicationContext contex
e.printStackTrace();
}
instance = new RNOpenTokSessionManager(context, apiKey);
} else if ( context != null && instance.getContext() != context) {
instance.setContext(context);
}
return instance;
}

public ReactApplicationContext getContext() {
Log.d("blabla", String.valueOf(this.mContext));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And this.

return this.mContext;
}

public void setContext(ReactApplicationContext context) {
this.mContext = context;
}

static RNOpenTokSessionManager getSessionManager() {
return RNOpenTokSessionManager.initSessionManager(null);
}

public Session connectToSession(String sessionId, String token) {
// this.disconnectSession(sessionId);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clean the comments

// if (this.mSessions.get(sessionId) != null) {
// this.mSessions.get(sessionId).disconnect();
// this.mSessions.remove(sessionId);
// }
Session session = new Session(this.mContext, this.mApiKey, sessionId);
session.connect(token);
this.mSessions.put(sessionId, session);
Expand Down
23 changes: 13 additions & 10 deletions example/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,44 +7,47 @@ import OpenTok, { Publisher } from "react-native-opentok"; // eslint-disable-lin

import type { Ref } from 'react';

const sessionId = 'YOUR_SESSION_ID';
const token = 'YOUR_TOKEN';

const sessionId =
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We probably don't want to share your credentials

'1_MX40NTk1NTk5Mn5-MTUxMjA2NTAxODU3N34yeHJ6K0JaZ3gxYmRwbWs3WFpLUEp0akt-fg';
const token =
'T1==cGFydG5lcl9pZD00NTk1NTk5MiZzZGtfdmVyc2lvbj1kZWJ1Z2dlciZzaWc9Zjg2ZjAyZGMxMmM3NTIyMmM2YTViN2RjMTA0MWMyNzk4ZTk5NjhjYzpzZXNzaW9uX2lkPTFfTVg0ME5UazFOVGs1TW41LU1UVXhNakEyTlRBeE9EVTNOMzR5ZUhKNkswSmFaM2d4WW1Sd2JXczNXRnBMVUVwMGFrdC1mZyZjcmVhdGVfdGltZT0xNTEyMDY1MDE4JnJvbGU9cHVibGlzaGVyJm5vbmNlPTE1MTIwNjUwMTguNjAxMTEzNTc1MDExNyZleHBpcmVfdGltZT0xNTE0NjU3MDE4';
export default class App extends Component<{}> {
/* $FlowFixMe we ignore the fact that componentWillMount shouldn't be async. Just for example purposes */
async componentWillMount() {
await OpenTok.connect(sessionId, token);
OpenTok.on(OpenTok.events.ON_SIGNAL_RECEIVED, e => console.log(e));
}

// async componentWillUnmount() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't we need this in the example?

// await OpenTok.disconnect(sessionId);
// }

ref: Ref<typeof Publisher>;

render() {
return (
<View style={styles.container}>
<Button
onPress={async () => {
const isSent = await OpenTok.sendSignal(sessionId, 'message', 'a');
console.log(isSent);
await OpenTok.sendSignal(sessionId, 'message', 'a');
}}
title="Send signal"
/>

<Button
onPress={() => {
if (typeof this.ref !== 'string') this.ref.switchCamera();
OpenTok.removeListener(OpenTok.events.ON_SIGNAL_RECEIVED);
}}
title="Switch camera"
title="rem list"
/>

{/*
<Publisher
sessionId={sessionId}
style={{ height: 100, width: 200, backgroundColor: 'black' }}
ref={ref => {
/* $FlowFixMe */
this.ref = ref;
}}
/>
/> */}
</View>
);
}
Expand Down
2 changes: 1 addition & 1 deletion example/android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ def enableProguardInReleaseBuilds = false

android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
buildToolsVersion '25.0.0'

defaultConfig {
applicationId "com.example"
Expand Down
2 changes: 1 addition & 1 deletion example/android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,6 @@
</intent-filter>
</activity>
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
<meta-data android:name="OPENTOK_API_KEY" android:value="YOUR_OPENTOK_API_KEY" />
<meta-data android:name="OPENTOK_API_KEY" android:value="45955992" />
</application>
</manifest>
2 changes: 1 addition & 1 deletion example/android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
classpath 'com.android.tools.build:gradle:2.3.3'

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
Expand Down
3 changes: 2 additions & 1 deletion example/android/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#Thu Nov 30 19:58:02 CET 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
1 change: 1 addition & 0 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ export default {
on: (name: OpenTokEvent, callback: RNOpenTokEventCallback): void => {
if (listeners[name]) {
listeners[name].remove();
delete listeners[name];
}
listeners[name] = NativeEventEmitter.addListener(name, callback);
},
Expand Down