capacitor-plugin-vonage 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CapacitorPluginVonage.podspec +20 -0
- package/README.md +126 -0
- package/android/build.gradle +76 -0
- package/android/src/main/AndroidManifest.xml +6 -0
- package/android/src/main/java/com/managemyhealth/plugin/vonage/VideoCallActivity.java +434 -0
- package/android/src/main/java/com/managemyhealth/plugin/vonage/vonage.java +11 -0
- package/android/src/main/java/com/managemyhealth/plugin/vonage/vonagePlugin.java +125 -0
- package/android/src/main/res/.gitkeep +0 -0
- package/android/src/main/res/drawable/callend.png +0 -0
- package/android/src/main/res/drawable/callstart.png +0 -0
- package/android/src/main/res/drawable/cameraoff.png +0 -0
- package/android/src/main/res/drawable/cameraonwhite.png +0 -0
- package/android/src/main/res/drawable/cameraswitch.png +0 -0
- package/android/src/main/res/drawable/ic_launcher_background.xml +170 -0
- package/android/src/main/res/drawable/microphoneoff.png +0 -0
- package/android/src/main/res/drawable/microphoneonwhite.png +0 -0
- package/android/src/main/res/layout/activity_main.xml +36 -0
- package/android/src/main/res/layout/video_call_layout.xml +282 -0
- package/android/src/main/res.zip +0 -0
- package/dist/docs.json +370 -0
- package/dist/esm/definitions.d.ts +12 -0
- package/dist/esm/definitions.js +2 -0
- package/dist/esm/definitions.js.map +1 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/web.d.ts +12 -0
- package/dist/esm/web.js +13 -0
- package/dist/esm/web.js.map +1 -0
- package/dist/plugin.cjs.js +29 -0
- package/dist/plugin.cjs.js.map +1 -0
- package/dist/plugin.js +32 -0
- package/dist/plugin.js.map +1 -0
- package/ios/Plugin/Info.plist +24 -0
- package/ios/Plugin/VideoChatViewController.swift +387 -0
- package/ios/Plugin/vonage.swift +8 -0
- package/ios/Plugin/vonagePlugin.h +10 -0
- package/ios/Plugin/vonagePlugin.m +9 -0
- package/ios/Plugin/vonagePlugin.swift +80 -0
- package/package.json +78 -0
@@ -0,0 +1,125 @@
|
|
1
|
+
package com.managemyhealth.plugin.vonage;
|
2
|
+
import com.getcapacitor.annotation.ActivityCallback;
|
3
|
+
import com.opentok.android.OpentokError;
|
4
|
+
import com.opentok.android.Session;
|
5
|
+
import com.opentok.android.Publisher;
|
6
|
+
import com.opentok.android.Stream;
|
7
|
+
import com.opentok.android.Subscriber;
|
8
|
+
|
9
|
+
import android.app.Activity;
|
10
|
+
import android.content.Intent;
|
11
|
+
import android.os.Handler;
|
12
|
+
import android.util.Log;
|
13
|
+
|
14
|
+
import com.getcapacitor.JSObject;
|
15
|
+
import com.getcapacitor.Plugin;
|
16
|
+
import com.getcapacitor.PluginCall;
|
17
|
+
import com.getcapacitor.PluginMethod;
|
18
|
+
import com.getcapacitor.annotation.CapacitorPlugin;
|
19
|
+
|
20
|
+
|
21
|
+
@CapacitorPlugin(name = "vonage",requestCodes = {999})
|
22
|
+
public class vonagePlugin extends Plugin {
|
23
|
+
|
24
|
+
private Session session;
|
25
|
+
|
26
|
+
private String TAG = "Capacitor_Vonage_plugin";
|
27
|
+
@PluginMethod()
|
28
|
+
public void openVideoCallWindow(PluginCall call) {
|
29
|
+
|
30
|
+
JSObject eventData = new JSObject();
|
31
|
+
eventData.put("key", "value test value");
|
32
|
+
final String API_KEY = call.getString("apiKey");
|
33
|
+
final String SESSION_ID = call.getString("sessionId");
|
34
|
+
final String TOKEN = call.getString("token");
|
35
|
+
final String PUBLISHERNAME = call.getString("publisherName");
|
36
|
+
final String SUBSCRIBERNAME = call.getString("subscriberName");
|
37
|
+
final Boolean ISPROVIDER = call.getBoolean("isProvider");
|
38
|
+
// initializeSession(API_KEY, SESSION_ID, TOKEN);
|
39
|
+
Intent intent = new Intent(getContext(), VideoCallActivity.class);
|
40
|
+
intent.putExtra("apiKey",API_KEY);
|
41
|
+
intent.putExtra("sessionId",SESSION_ID);
|
42
|
+
intent.putExtra("token",TOKEN);
|
43
|
+
intent.putExtra("subscriberName",SUBSCRIBERNAME);
|
44
|
+
intent.putExtra("publisherName",PUBLISHERNAME);
|
45
|
+
intent.putExtra("publisherName",PUBLISHERNAME);
|
46
|
+
intent.putExtra("isProvider",ISPROVIDER);
|
47
|
+
// intent.putExtra("callbackIdentifier", );
|
48
|
+
// notifyListeners("onDataReceived", );
|
49
|
+
// StartedCall();
|
50
|
+
Handler handler = new Handler();
|
51
|
+
int delayMillis = 5000;
|
52
|
+
|
53
|
+
handler.postDelayed(new Runnable() {
|
54
|
+
@Override
|
55
|
+
public void run() {
|
56
|
+
|
57
|
+
eventData.put("isProvider", ISPROVIDER);
|
58
|
+
notifyListeners("VideoCallStarted",eventData);
|
59
|
+
}
|
60
|
+
}, delayMillis);
|
61
|
+
startActivityForResult(call,intent,999);
|
62
|
+
call.resolve();
|
63
|
+
|
64
|
+
}
|
65
|
+
|
66
|
+
|
67
|
+
|
68
|
+
@Override
|
69
|
+
protected void handleOnActivityResult(int requestCode, int resultCode, Intent data) {
|
70
|
+
super.handleOnActivityResult(requestCode, resultCode, data);
|
71
|
+
JSObject eventData = new JSObject();
|
72
|
+
Log.d(TAG,"resultCode");
|
73
|
+
Log.d(TAG, String.valueOf(resultCode));
|
74
|
+
Log.d(TAG, String.valueOf(requestCode));
|
75
|
+
Log.d(TAG, String.valueOf(data));
|
76
|
+
String result = data.getStringExtra("result_key");
|
77
|
+
if(result == "999"){
|
78
|
+
eventData.put("isProvider", true);
|
79
|
+
notifyListeners("VideoCallEnded",eventData);
|
80
|
+
|
81
|
+
|
82
|
+
}else{
|
83
|
+
eventData.put("isProvider", false);
|
84
|
+
Log.d(TAG,"CODE 98 -----------" );
|
85
|
+
notifyListeners("VideoCallEnded",eventData);
|
86
|
+
}
|
87
|
+
}
|
88
|
+
|
89
|
+
// private Session.SessionListener sessionListener = new Session.SessionListener() {
|
90
|
+
// @Override
|
91
|
+
// public void onConnected(Session session) {
|
92
|
+
// Log.d(TAG, "onConnected: Connected to session: " + session.getSessionId());
|
93
|
+
// }
|
94
|
+
//
|
95
|
+
// @Override
|
96
|
+
// public void onDisconnected(Session session) {
|
97
|
+
// Log.d(TAG, "onDisconnected: Disconnected from session: " + session.getSessionId());
|
98
|
+
// }
|
99
|
+
//
|
100
|
+
// @Override
|
101
|
+
// public void onStreamReceived(Session session, Stream stream) {
|
102
|
+
// Log.d(TAG, "onStreamReceived: New Stream Received " + stream.getStreamId() + " in session: " + session.getSessionId());
|
103
|
+
// }
|
104
|
+
//
|
105
|
+
// @Override
|
106
|
+
// public void onStreamDropped(Session session, Stream stream) {
|
107
|
+
// Log.d(TAG, "onStreamDropped: Stream Dropped: " + stream.getStreamId() + " in session: " + session.getSessionId());
|
108
|
+
// }
|
109
|
+
//
|
110
|
+
// @Override
|
111
|
+
// public void onError(Session session, OpentokError opentokError) {
|
112
|
+
// Log.e(TAG, "Session error: " + opentokError.getMessage());
|
113
|
+
// }
|
114
|
+
// };
|
115
|
+
|
116
|
+
// private void initializeSession(String apiKey, String sessionId, String token) {
|
117
|
+
// Log.i(TAG, "apiKey: " + apiKey);
|
118
|
+
// Log.i(TAG, "sessionId: " + sessionId);
|
119
|
+
// Log.i(TAG, "token: " + token);
|
120
|
+
//
|
121
|
+
// session = new Session.Builder(getContext(), apiKey, sessionId).build();
|
122
|
+
// session.setSessionListener(sessionListener);
|
123
|
+
// session.connect(token);
|
124
|
+
// }
|
125
|
+
}
|
File without changes
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,170 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
3
|
+
android:width="108dp"
|
4
|
+
android:height="108dp"
|
5
|
+
android:viewportWidth="108"
|
6
|
+
android:viewportHeight="108">
|
7
|
+
<path
|
8
|
+
android:fillColor="#3DDC84"
|
9
|
+
android:pathData="M0,0h108v108h-108z" />
|
10
|
+
<path
|
11
|
+
android:fillColor="#00000000"
|
12
|
+
android:pathData="M9,0L9,108"
|
13
|
+
android:strokeWidth="0.8"
|
14
|
+
android:strokeColor="#33FFFFFF" />
|
15
|
+
<path
|
16
|
+
android:fillColor="#00000000"
|
17
|
+
android:pathData="M19,0L19,108"
|
18
|
+
android:strokeWidth="0.8"
|
19
|
+
android:strokeColor="#33FFFFFF" />
|
20
|
+
<path
|
21
|
+
android:fillColor="#00000000"
|
22
|
+
android:pathData="M29,0L29,108"
|
23
|
+
android:strokeWidth="0.8"
|
24
|
+
android:strokeColor="#33FFFFFF" />
|
25
|
+
<path
|
26
|
+
android:fillColor="#00000000"
|
27
|
+
android:pathData="M39,0L39,108"
|
28
|
+
android:strokeWidth="0.8"
|
29
|
+
android:strokeColor="#33FFFFFF" />
|
30
|
+
<path
|
31
|
+
android:fillColor="#00000000"
|
32
|
+
android:pathData="M49,0L49,108"
|
33
|
+
android:strokeWidth="0.8"
|
34
|
+
android:strokeColor="#33FFFFFF" />
|
35
|
+
<path
|
36
|
+
android:fillColor="#00000000"
|
37
|
+
android:pathData="M59,0L59,108"
|
38
|
+
android:strokeWidth="0.8"
|
39
|
+
android:strokeColor="#33FFFFFF" />
|
40
|
+
<path
|
41
|
+
android:fillColor="#00000000"
|
42
|
+
android:pathData="M69,0L69,108"
|
43
|
+
android:strokeWidth="0.8"
|
44
|
+
android:strokeColor="#33FFFFFF" />
|
45
|
+
<path
|
46
|
+
android:fillColor="#00000000"
|
47
|
+
android:pathData="M79,0L79,108"
|
48
|
+
android:strokeWidth="0.8"
|
49
|
+
android:strokeColor="#33FFFFFF" />
|
50
|
+
<path
|
51
|
+
android:fillColor="#00000000"
|
52
|
+
android:pathData="M89,0L89,108"
|
53
|
+
android:strokeWidth="0.8"
|
54
|
+
android:strokeColor="#33FFFFFF" />
|
55
|
+
<path
|
56
|
+
android:fillColor="#00000000"
|
57
|
+
android:pathData="M99,0L99,108"
|
58
|
+
android:strokeWidth="0.8"
|
59
|
+
android:strokeColor="#33FFFFFF" />
|
60
|
+
<path
|
61
|
+
android:fillColor="#00000000"
|
62
|
+
android:pathData="M0,9L108,9"
|
63
|
+
android:strokeWidth="0.8"
|
64
|
+
android:strokeColor="#33FFFFFF" />
|
65
|
+
<path
|
66
|
+
android:fillColor="#00000000"
|
67
|
+
android:pathData="M0,19L108,19"
|
68
|
+
android:strokeWidth="0.8"
|
69
|
+
android:strokeColor="#33FFFFFF" />
|
70
|
+
<path
|
71
|
+
android:fillColor="#00000000"
|
72
|
+
android:pathData="M0,29L108,29"
|
73
|
+
android:strokeWidth="0.8"
|
74
|
+
android:strokeColor="#33FFFFFF" />
|
75
|
+
<path
|
76
|
+
android:fillColor="#00000000"
|
77
|
+
android:pathData="M0,39L108,39"
|
78
|
+
android:strokeWidth="0.8"
|
79
|
+
android:strokeColor="#33FFFFFF" />
|
80
|
+
<path
|
81
|
+
android:fillColor="#00000000"
|
82
|
+
android:pathData="M0,49L108,49"
|
83
|
+
android:strokeWidth="0.8"
|
84
|
+
android:strokeColor="#33FFFFFF" />
|
85
|
+
<path
|
86
|
+
android:fillColor="#00000000"
|
87
|
+
android:pathData="M0,59L108,59"
|
88
|
+
android:strokeWidth="0.8"
|
89
|
+
android:strokeColor="#33FFFFFF" />
|
90
|
+
<path
|
91
|
+
android:fillColor="#00000000"
|
92
|
+
android:pathData="M0,69L108,69"
|
93
|
+
android:strokeWidth="0.8"
|
94
|
+
android:strokeColor="#33FFFFFF" />
|
95
|
+
<path
|
96
|
+
android:fillColor="#00000000"
|
97
|
+
android:pathData="M0,79L108,79"
|
98
|
+
android:strokeWidth="0.8"
|
99
|
+
android:strokeColor="#33FFFFFF" />
|
100
|
+
<path
|
101
|
+
android:fillColor="#00000000"
|
102
|
+
android:pathData="M0,89L108,89"
|
103
|
+
android:strokeWidth="0.8"
|
104
|
+
android:strokeColor="#33FFFFFF" />
|
105
|
+
<path
|
106
|
+
android:fillColor="#00000000"
|
107
|
+
android:pathData="M0,99L108,99"
|
108
|
+
android:strokeWidth="0.8"
|
109
|
+
android:strokeColor="#33FFFFFF" />
|
110
|
+
<path
|
111
|
+
android:fillColor="#00000000"
|
112
|
+
android:pathData="M19,29L89,29"
|
113
|
+
android:strokeWidth="0.8"
|
114
|
+
android:strokeColor="#33FFFFFF" />
|
115
|
+
<path
|
116
|
+
android:fillColor="#00000000"
|
117
|
+
android:pathData="M19,39L89,39"
|
118
|
+
android:strokeWidth="0.8"
|
119
|
+
android:strokeColor="#33FFFFFF" />
|
120
|
+
<path
|
121
|
+
android:fillColor="#00000000"
|
122
|
+
android:pathData="M19,49L89,49"
|
123
|
+
android:strokeWidth="0.8"
|
124
|
+
android:strokeColor="#33FFFFFF" />
|
125
|
+
<path
|
126
|
+
android:fillColor="#00000000"
|
127
|
+
android:pathData="M19,59L89,59"
|
128
|
+
android:strokeWidth="0.8"
|
129
|
+
android:strokeColor="#33FFFFFF" />
|
130
|
+
<path
|
131
|
+
android:fillColor="#00000000"
|
132
|
+
android:pathData="M19,69L89,69"
|
133
|
+
android:strokeWidth="0.8"
|
134
|
+
android:strokeColor="#33FFFFFF" />
|
135
|
+
<path
|
136
|
+
android:fillColor="#00000000"
|
137
|
+
android:pathData="M19,79L89,79"
|
138
|
+
android:strokeWidth="0.8"
|
139
|
+
android:strokeColor="#33FFFFFF" />
|
140
|
+
<path
|
141
|
+
android:fillColor="#00000000"
|
142
|
+
android:pathData="M29,19L29,89"
|
143
|
+
android:strokeWidth="0.8"
|
144
|
+
android:strokeColor="#33FFFFFF" />
|
145
|
+
<path
|
146
|
+
android:fillColor="#00000000"
|
147
|
+
android:pathData="M39,19L39,89"
|
148
|
+
android:strokeWidth="0.8"
|
149
|
+
android:strokeColor="#33FFFFFF" />
|
150
|
+
<path
|
151
|
+
android:fillColor="#00000000"
|
152
|
+
android:pathData="M49,19L49,89"
|
153
|
+
android:strokeWidth="0.8"
|
154
|
+
android:strokeColor="#33FFFFFF" />
|
155
|
+
<path
|
156
|
+
android:fillColor="#00000000"
|
157
|
+
android:pathData="M59,19L59,89"
|
158
|
+
android:strokeWidth="0.8"
|
159
|
+
android:strokeColor="#33FFFFFF" />
|
160
|
+
<path
|
161
|
+
android:fillColor="#00000000"
|
162
|
+
android:pathData="M69,19L69,89"
|
163
|
+
android:strokeWidth="0.8"
|
164
|
+
android:strokeColor="#33FFFFFF" />
|
165
|
+
<path
|
166
|
+
android:fillColor="#00000000"
|
167
|
+
android:pathData="M79,19L79,89"
|
168
|
+
android:strokeWidth="0.8"
|
169
|
+
android:strokeColor="#33FFFFFF" />
|
170
|
+
</vector>
|
Binary file
|
Binary file
|
@@ -0,0 +1,36 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
3
|
+
xmlns:app="http://schemas.android.com/apk/res-auto"
|
4
|
+
xmlns:tools="http://schemas.android.com/tools"
|
5
|
+
android:layout_width="match_parent"
|
6
|
+
android:layout_height="match_parent"
|
7
|
+
tools:context=".VideoCallActivity">
|
8
|
+
|
9
|
+
<FrameLayout
|
10
|
+
android:layout_width="fill_parent"
|
11
|
+
android:layout_height="fill_parent"
|
12
|
+
app:layout_constraintBottom_toBottomOf="parent"
|
13
|
+
app:layout_constraintEnd_toEndOf="parent"
|
14
|
+
app:layout_constraintStart_toStartOf="parent"
|
15
|
+
android:background="#DDDDDD"
|
16
|
+
app:layout_constraintTop_toTopOf="parent">
|
17
|
+
|
18
|
+
<FrameLayout
|
19
|
+
android:id="@+id/subscriber_container"
|
20
|
+
android:layout_width="fill_parent"
|
21
|
+
android:layout_height="fill_parent" />
|
22
|
+
|
23
|
+
<FrameLayout
|
24
|
+
android:id="@+id/publisher_container"
|
25
|
+
android:layout_width="90dp"
|
26
|
+
android:layout_height="120dp"
|
27
|
+
android:layout_gravity="bottom|end"
|
28
|
+
android:layout_marginEnd="16dp"
|
29
|
+
android:layout_marginRight="16dp"
|
30
|
+
android:layout_marginBottom="16dp"
|
31
|
+
android:background="#FFFFFF"
|
32
|
+
android:padding="2dp" />
|
33
|
+
|
34
|
+
</FrameLayout>
|
35
|
+
|
36
|
+
</androidx.constraintlayout.widget.ConstraintLayout>
|
@@ -0,0 +1,282 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
|
3
|
+
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
4
|
+
xmlns:app="http://schemas.android.com/apk/res-auto"
|
5
|
+
xmlns:tools="http://schemas.android.com/tools"
|
6
|
+
android:layout_width="match_parent"
|
7
|
+
android:layout_height="match_parent"
|
8
|
+
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
|
9
|
+
tools:context=".VideoCallActivity">
|
10
|
+
|
11
|
+
<androidx.constraintlayout.widget.ConstraintLayout
|
12
|
+
android:layout_width="match_parent"
|
13
|
+
android:layout_height="match_parent"
|
14
|
+
>
|
15
|
+
|
16
|
+
|
17
|
+
<LinearLayout
|
18
|
+
android:id="@+id/main"
|
19
|
+
android:layout_width="match_parent"
|
20
|
+
android:layout_height="match_parent"
|
21
|
+
>
|
22
|
+
|
23
|
+
|
24
|
+
<FrameLayout
|
25
|
+
|
26
|
+
android:layout_width="fill_parent"
|
27
|
+
android:layout_height="fill_parent"
|
28
|
+
android:background="#DDDDDD"
|
29
|
+
app:layout_constraintBottom_toBottomOf="parent"
|
30
|
+
app:layout_constraintEnd_toEndOf="parent"
|
31
|
+
app:layout_constraintStart_toStartOf="parent"
|
32
|
+
app:layout_constraintTop_toTopOf="parent">
|
33
|
+
|
34
|
+
<FrameLayout
|
35
|
+
android:id="@+id/subscriber_container"
|
36
|
+
android:layout_width="fill_parent"
|
37
|
+
android:layout_height="match_parent" />
|
38
|
+
|
39
|
+
<TextView
|
40
|
+
android:id="@+id/subscriberName"
|
41
|
+
android:layout_width="140dp"
|
42
|
+
android:layout_height="157dp"
|
43
|
+
android:layout_gravity="bottom|start"
|
44
|
+
android:paddingLeft="10dp"
|
45
|
+
android:paddingBottom="120dp"
|
46
|
+
android:text="Publisher Name"
|
47
|
+
android:textColor="@android:color/background_dark"
|
48
|
+
android:textSize="16sp"
|
49
|
+
android:visibility="visible" />
|
50
|
+
<TextView
|
51
|
+
android:id="@+id/timerTextView"
|
52
|
+
android:layout_width="140dp"
|
53
|
+
android:layout_height="wrap_content"
|
54
|
+
android:layout_gravity="bottom|start"
|
55
|
+
android:paddingBottom="100dp"
|
56
|
+
android:paddingLeft="10dp"
|
57
|
+
android:text="00:00:00"
|
58
|
+
android:visibility="visible"
|
59
|
+
android:textColor="@android:color/background_dark"
|
60
|
+
android:textSize="16sp" />
|
61
|
+
|
62
|
+
<FrameLayout
|
63
|
+
android:id="@+id/publisher_container"
|
64
|
+
android:layout_width="100dp"
|
65
|
+
android:layout_height="120dp"
|
66
|
+
android:layout_gravity="bottom|end"
|
67
|
+
android:layout_marginEnd="16dp"
|
68
|
+
android:layout_marginRight="16dp"
|
69
|
+
android:layout_marginBottom="80dp"
|
70
|
+
android:background="#FFFFFF"
|
71
|
+
android:padding="2dp" >
|
72
|
+
<TextView
|
73
|
+
android:id="@+id/publisherName"
|
74
|
+
android:layout_width="wrap_content"
|
75
|
+
android:layout_height="wrap_content"
|
76
|
+
android:layout_gravity="bottom|start"
|
77
|
+
android:textSize="12sp"
|
78
|
+
android:text="Subscriber Name"
|
79
|
+
android:paddingBottom="5dp"
|
80
|
+
android:visibility="visible"
|
81
|
+
android:textColor="@android:color/background_dark" />
|
82
|
+
</FrameLayout>
|
83
|
+
|
84
|
+
</FrameLayout>
|
85
|
+
|
86
|
+
</LinearLayout>
|
87
|
+
<androidx.constraintlayout.widget.Guideline
|
88
|
+
android:id="@+id/guidelineBottom"
|
89
|
+
android:layout_width="wrap_content"
|
90
|
+
android:layout_height="wrap_content"
|
91
|
+
app:layout_constraintGuide_percent="0.9" />
|
92
|
+
|
93
|
+
<LinearLayout
|
94
|
+
android:layout_width="fill_parent"
|
95
|
+
android:layout_height="49dp"
|
96
|
+
android:layout_alignParentBottom="false"
|
97
|
+
android:gravity="clip_horizontal"
|
98
|
+
android:orientation="horizontal"
|
99
|
+
app:layout_constraintBottom_toBottomOf="@+id/main"
|
100
|
+
app:layout_constraintStart_toStartOf="parent"
|
101
|
+
android:layout_marginBottom="16dp">
|
102
|
+
|
103
|
+
<!-- Image resource for the FAB -->
|
104
|
+
|
105
|
+
<!-- Set the background image using android:background -->
|
106
|
+
<ImageView
|
107
|
+
android:id="@+id/imageView1"
|
108
|
+
android:layout_width="0dp"
|
109
|
+
android:layout_height="50dp"
|
110
|
+
android:layout_weight="1"
|
111
|
+
android:src="@drawable/callend"
|
112
|
+
android:contentDescription="EndCall"
|
113
|
+
/>
|
114
|
+
<ImageView
|
115
|
+
android:id="@+id/imageView4"
|
116
|
+
android:layout_width="0dp"
|
117
|
+
android:layout_height="50dp"
|
118
|
+
android:layout_weight="1"
|
119
|
+
android:contentDescription="Switch Camera"
|
120
|
+
android:src="@drawable/cameraswitch" />
|
121
|
+
|
122
|
+
<ImageView
|
123
|
+
android:id="@+id/imageView3"
|
124
|
+
android:layout_width="0dp"
|
125
|
+
android:layout_height="50dp"
|
126
|
+
android:layout_weight="1"
|
127
|
+
android:src="@drawable/cameraonwhite"
|
128
|
+
android:contentDescription="Camera On/Off"
|
129
|
+
/>
|
130
|
+
|
131
|
+
|
132
|
+
<ImageView
|
133
|
+
android:id="@+id/imageView2"
|
134
|
+
android:layout_width="0dp"
|
135
|
+
android:layout_height="50dp"
|
136
|
+
android:layout_weight="1"
|
137
|
+
android:src="@drawable/microphoneonwhite"
|
138
|
+
android:contentDescription="Mute"
|
139
|
+
/>
|
140
|
+
|
141
|
+
////////////////////////////
|
142
|
+
</LinearLayout>
|
143
|
+
</androidx.constraintlayout.widget.ConstraintLayout>
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
</androidx.constraintlayout.widget.ConstraintLayout>
|
148
|
+
|
149
|
+
<!--</androidx.core.widget.NestedScrollView>-->
|
150
|
+
<!--<?xml version="1.0" encoding="utf-8"?>-->
|
151
|
+
<!--<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"-->
|
152
|
+
<!-- xmlns:app="http://schemas.android.com/apk/res-auto"-->
|
153
|
+
<!-- xmlns:tools="http://schemas.android.com/tools"-->
|
154
|
+
<!-- android:layout_width="match_parent"-->
|
155
|
+
<!-- android:layout_height="match_parent"-->
|
156
|
+
<!-- tools:context=".VideoCallActivity">-->
|
157
|
+
|
158
|
+
|
159
|
+
<!-- <LinearLayout-->
|
160
|
+
<!-- android:layout_width="match_parent"-->
|
161
|
+
<!-- android:layout_height="match_parent"-->
|
162
|
+
<!-- android:id="@+id/main"-->
|
163
|
+
<!-- android:orientation="vertical"-->
|
164
|
+
<!-- android:padding="16dp">-->
|
165
|
+
|
166
|
+
|
167
|
+
<!-- <FrameLayout-->
|
168
|
+
<!-- android:layout_width="fill_parent"-->
|
169
|
+
<!-- android:layout_height="fill_parent"-->
|
170
|
+
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
|
171
|
+
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
172
|
+
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
173
|
+
<!-- android:background="#DDDDDD"-->
|
174
|
+
<!-- app:layout_constraintTop_toTopOf="parent">-->
|
175
|
+
|
176
|
+
<!-- <FrameLayout-->
|
177
|
+
<!-- android:id="@+id/subscriber_container"-->
|
178
|
+
<!-- android:layout_width="fill_parent"-->
|
179
|
+
<!-- android:layout_height="match_parent" />-->
|
180
|
+
|
181
|
+
<!-- <FrameLayout-->
|
182
|
+
<!-- android:id="@+id/publisher_container"-->
|
183
|
+
<!-- android:layout_width="90dp"-->
|
184
|
+
<!-- android:layout_height="120dp"-->
|
185
|
+
<!-- android:layout_gravity="bottom|end"-->
|
186
|
+
<!-- android:layout_marginEnd="16dp"-->
|
187
|
+
<!-- android:layout_marginRight="16dp"-->
|
188
|
+
<!-- android:layout_marginBottom="80dp"-->
|
189
|
+
<!-- android:background="#FFFFFF"-->
|
190
|
+
<!-- android:padding="2dp" />-->
|
191
|
+
|
192
|
+
<!-- </FrameLayout>-->
|
193
|
+
|
194
|
+
<!-- </LinearLayout>-->
|
195
|
+
<!-- <LinearLayout-->
|
196
|
+
<!-- android:layout_width="match_parent"-->
|
197
|
+
<!-- android:layout_height="wrap_content"-->
|
198
|
+
<!-- android:layout_alignParentBottom="true"-->
|
199
|
+
<!-- android:orientation="horizontal"-->
|
200
|
+
<!-- app:layout_constraintBottom_toBottomOf ="@+id/main"-->
|
201
|
+
<!-- android:gravity="center_horizontal">-->
|
202
|
+
<!-- <com.google.android.material.floatingactionbutton.FloatingActionButton-->
|
203
|
+
<!-- android:id="@+id/fabEndCall"-->
|
204
|
+
<!-- android:layout_width="wrap_content"-->
|
205
|
+
<!-- android:layout_height="wrap_content"-->
|
206
|
+
<!-- android:layout_margin="16dp"-->
|
207
|
+
<!-- app:backgroundTint="@android:color/holo_red_dark"-->
|
208
|
+
<!-- app:elevation="6dp"-->
|
209
|
+
<!-- android:layout_alignParentBottom="true"-->
|
210
|
+
<!-- app:layout_constraintTop_toTopOf="parent"-->
|
211
|
+
<!-- app:srcCompat="@drawable/callend"-->
|
212
|
+
<!-- app:layout_constraintLeft_toLeftOf="parent"-->
|
213
|
+
<!-- android:contentDescription="End"-->
|
214
|
+
<!-- android:layout_centerHorizontal="true" />-->
|
215
|
+
|
216
|
+
<!-- <!– FAB for mute audio –>-->
|
217
|
+
<!-- <com.google.android.material.floatingactionbutton.FloatingActionButton-->
|
218
|
+
<!-- android:id="@+id/fabMuteAudio"-->
|
219
|
+
<!-- android:layout_width="wrap_content"-->
|
220
|
+
<!-- android:layout_height="wrap_content"-->
|
221
|
+
<!-- android:layout_margin="16dp"-->
|
222
|
+
<!-- app:backgroundTint="@android:color/black"-->
|
223
|
+
<!-- app:elevation="6dp"-->
|
224
|
+
<!-- app:srcCompat="@drawable/microphoneonwhite"-->
|
225
|
+
<!-- android:layout_above="@id/fabEndCall"-->
|
226
|
+
<!-- app:layout_constraintTop_toTopOf="parent"-->
|
227
|
+
<!-- android:contentDescription="Mute"-->
|
228
|
+
<!-- app:layout_constraintLeft_toLeftOf="parent"-->
|
229
|
+
<!-- android:layout_centerHorizontal="true" />-->
|
230
|
+
|
231
|
+
<!-- <!– FAB for camera off –>-->
|
232
|
+
<!-- <com.google.android.material.floatingactionbutton.FloatingActionButton-->
|
233
|
+
<!-- android:id="@+id/fabCameraOff"-->
|
234
|
+
<!-- android:layout_width="wrap_content"-->
|
235
|
+
<!-- android:layout_height="wrap_content"-->
|
236
|
+
<!-- android:contentDescription="Cam"-->
|
237
|
+
<!-- app:srcCompat="@drawable/cameraonwhite"-->
|
238
|
+
<!-- android:layout_margin="16dp"-->
|
239
|
+
<!-- app:backgroundTint="@android:color/black"-->
|
240
|
+
<!-- app:elevation="6dp"-->
|
241
|
+
|
242
|
+
<!-- android:layout_above="@id/fabMuteAudio"-->
|
243
|
+
<!-- app:layout_constraintTop_toTopOf="parent"-->
|
244
|
+
<!-- app:layout_constraintLeft_toLeftOf="parent"-->
|
245
|
+
<!-- android:layout_centerHorizontal="true" />-->
|
246
|
+
<!-- </LinearLayout>-->
|
247
|
+
|
248
|
+
|
249
|
+
|
250
|
+
<!--</androidx.constraintlayout.widget.ConstraintLayout>-->
|
251
|
+
|
252
|
+
|
253
|
+
|
254
|
+
<!-- <!–<?xml version="1.0" encoding="utf-8"?>–>-->
|
255
|
+
<!--<!–<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"–>-->
|
256
|
+
<!--<!– android:layout_width="match_parent"–>-->
|
257
|
+
<!--<!– android:layout_height="match_parent"–>-->
|
258
|
+
<!--<!– xmlns:tools="http://schemas.android.com/tools"–>-->
|
259
|
+
<!--<!– tools:context=".VideoCallActivity">–>-->
|
260
|
+
|
261
|
+
<!--<!– <!– Remote Video View –>–>-->
|
262
|
+
<!--<!– <FrameLayout–>-->
|
263
|
+
<!--<!– android:id="@+id/remoteVideoContainer"–>-->
|
264
|
+
<!--<!– android:layout_width="match_parent"–>-->
|
265
|
+
<!--<!– android:layout_height="match_parent">–>-->
|
266
|
+
<!--<!– </FrameLayout>–>-->
|
267
|
+
|
268
|
+
<!--<!– <!– Local Video View (Floating on top of Remote) with Margin –>–>-->
|
269
|
+
<!--<!– <FrameLayout–>-->
|
270
|
+
<!--<!– android:id="@+id/localVideoContainer"–>-->
|
271
|
+
<!--<!– android:layout_width="120dp"–>-->
|
272
|
+
<!--<!– android:layout_height="160dp"–>-->
|
273
|
+
<!--<!– android:layout_marginEnd="35dp"–>-->
|
274
|
+
<!--<!– android:layout_marginBottom="80dp"–>-->
|
275
|
+
<!--<!– android:layout_alignParentEnd="true"–>-->
|
276
|
+
<!--<!– android:layout_alignParentBottom="true">–>-->
|
277
|
+
<!--<!– </FrameLayout>–>-->
|
278
|
+
|
279
|
+
<!--<!– <!– Call Controls (e.g., buttons for ending the call, muting audio, etc.) –>–>-->
|
280
|
+
<!--<!– <!– Add your call control UI elements here –>–>-->
|
281
|
+
|
282
|
+
<!--<!–</RelativeLayout>–>-->
|
Binary file
|