|
@@ -62,6 +62,9 @@ public class JitsiMeetConferenceOptions {
|
62
|
62
|
*/
|
63
|
63
|
private Boolean welcomePageEnabled;
|
64
|
64
|
|
|
65
|
+ /**
|
|
66
|
+ * Class used to build the immutable {@link JitsiMeetConferenceOptions} object.
|
|
67
|
+ */
|
65
|
68
|
public static class Builder {
|
66
|
69
|
private URL serverURL;
|
67
|
70
|
private String room;
|
|
@@ -78,54 +81,103 @@ public class JitsiMeetConferenceOptions {
|
78
|
81
|
public Builder() {
|
79
|
82
|
}
|
80
|
83
|
|
|
84
|
+ /**\
|
|
85
|
+ * Sets the server URL.
|
|
86
|
+ * @param url - {@link URL} of the server where the conference should take place.
|
|
87
|
+ * @return - The {@link Builder} object itself so the method calls can be chained.
|
|
88
|
+ */
|
81
|
89
|
public Builder setServerURL(URL url) {
|
82
|
90
|
this.serverURL = url;
|
83
|
91
|
|
84
|
92
|
return this;
|
85
|
93
|
}
|
86
|
94
|
|
|
95
|
+ /**
|
|
96
|
+ * Sets the room where the conference will take place.
|
|
97
|
+ * @param room - Name of the room.
|
|
98
|
+ * @return - The {@link Builder} object itself so the method calls can be chained.
|
|
99
|
+ */
|
87
|
100
|
public Builder setRoom(String room) {
|
88
|
101
|
this.room = room;
|
89
|
102
|
|
90
|
103
|
return this;
|
91
|
104
|
}
|
92
|
105
|
|
|
106
|
+ /**
|
|
107
|
+ * Sets the JWT token to be used for authentication when joining a conference.
|
|
108
|
+ * @param token - The JWT token to be used for authentication.
|
|
109
|
+ * @return - The {@link Builder} object itself so the method calls can be chained.
|
|
110
|
+ */
|
93
|
111
|
public Builder setToken(String token) {
|
94
|
112
|
this.token = token;
|
95
|
113
|
|
96
|
114
|
return this;
|
97
|
115
|
}
|
98
|
116
|
|
|
117
|
+ /**
|
|
118
|
+ * Sets the color scheme override so the app is themed. See:
|
|
119
|
+ * https://github.com/jitsi/jitsi-meet/blob/master/react/features/base/color-scheme/defaultScheme.js
|
|
120
|
+ * for the structure.
|
|
121
|
+ * @param colorScheme - A color scheme to be applied to the app.
|
|
122
|
+ * @return - The {@link Builder} object itself so the method calls can be chained.
|
|
123
|
+ */
|
99
|
124
|
public Builder setColorScheme(Bundle colorScheme) {
|
100
|
125
|
this.colorScheme = colorScheme;
|
101
|
126
|
|
102
|
127
|
return this;
|
103
|
128
|
}
|
104
|
129
|
|
|
130
|
+ /**
|
|
131
|
+ * Indicates the conference will be joined with the microphone muted.
|
|
132
|
+ * @param muted - Muted indication.
|
|
133
|
+ * @return - The {@link Builder} object itself so the method calls can be chained.
|
|
134
|
+ */
|
105
|
135
|
public Builder setAudioMuted(boolean muted) {
|
106
|
136
|
this.audioMuted = muted;
|
107
|
137
|
|
108
|
138
|
return this;
|
109
|
139
|
}
|
110
|
140
|
|
|
141
|
+ /**
|
|
142
|
+ * Indicates the conference will be joined in audio-only mode. In this mode no video is
|
|
143
|
+ * sent or received.
|
|
144
|
+ * @param audioOnly - Audio-mode indicator.
|
|
145
|
+ * @return - The {@link Builder} object itself so the method calls can be chained.
|
|
146
|
+ */
|
111
|
147
|
public Builder setAudioOnly(boolean audioOnly) {
|
112
|
148
|
this.audioOnly = audioOnly;
|
113
|
149
|
|
114
|
150
|
return this;
|
115
|
151
|
}
|
116
|
|
-
|
|
152
|
+ /**
|
|
153
|
+ * Indicates the conference will be joined with the camera muted.
|
|
154
|
+ * @param videoMuted - Muted indication.
|
|
155
|
+ * @return - The {@link Builder} object itself so the method calls can be chained.
|
|
156
|
+ */
|
117
|
157
|
public Builder setVideoMuted(boolean videoMuted) {
|
118
|
158
|
this.videoMuted = videoMuted;
|
119
|
159
|
|
120
|
160
|
return this;
|
121
|
161
|
}
|
122
|
162
|
|
|
163
|
+ /**
|
|
164
|
+ * Sets the welcome page enabled / disabled. The welcome page lists recent meetings and
|
|
165
|
+ * calendar appointments and it's meant to be used by standalone applications. Defaults to
|
|
166
|
+ * false.
|
|
167
|
+ * @param enabled - Whether the welcome page should be enabled or not.
|
|
168
|
+ * @return - The {@link Builder} object itself so the method calls can be chained.
|
|
169
|
+ */
|
123
|
170
|
public Builder setWelcomePageEnabled(boolean enabled) {
|
124
|
171
|
this.welcomePageEnabled = enabled;
|
125
|
172
|
|
126
|
173
|
return this;
|
127
|
174
|
}
|
128
|
175
|
|
|
176
|
+ /**
|
|
177
|
+ * Builds the immutable {@link JitsiMeetConferenceOptions} object with the configuration
|
|
178
|
+ * that this {@link Builder} instance specified.
|
|
179
|
+ * @return - The built {@link JitsiMeetConferenceOptions} object.
|
|
180
|
+ */
|
129
|
181
|
public JitsiMeetConferenceOptions build() {
|
130
|
182
|
JitsiMeetConferenceOptions options = new JitsiMeetConferenceOptions();
|
131
|
183
|
|