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
|