-
Notifications
You must be signed in to change notification settings - Fork 93
/
Copy pathCHANGELOG.md
756 lines (585 loc) · 33.6 KB
/
CHANGELOG.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
# CHANGELOG
## Obtaining SDK packages from Marketplace
We are pleased to inform you that starting from v5.4.3.603, the Zoom SDK packages are moving to the Zoom App Marketplace. The packages are now available in the same location as your SDK Key & Secret. This change aims to provide you with a unified and seamless experience so that you can access the required SDK resources in one place.
If you have not used Zoom SDK before, please follow the steps in https://marketplace.zoom.us/docs/guides/build/sdk-app to create an SDK app on the Marketplace.
If you already have an SDK app created, login to the **[Zoom App Marketplace](https://marketplace.zoom.us/)** using your developer account, click the **Manage** button on the top-right corner and locate your SDK app.
<img src="https://s3-us-west-1.amazonaws.com/sdk.zoom.us/mkt-01.png" style="margin:1vh 1vw;"/>
Click on your SDK app, you can find the desired SDK packages from the **Download** tab
<img src="https://s3-us-west-1.amazonaws.com/sdk.zoom.us/mkt-02.png" style="margin:1vh 1vw;"/>
## Note
### :red_circle: Non-AndroidX Version (EOL: 01/01/2020)
**Per Google's suggestions and guidance, we have upgraded our regular Android SDK to support AndroidX. We used to offer a non-AndroidX version to help you migrate to the AndroidX project. However, the previous non-AndroidX version has reached its End-of-Life (01/01/20). Please plan to upgrade your Android project to AndroidX to use the latest Android SDK**
## 2020-11-17 @ v5.2.42043.1112
## Added:
* Added new feature for supporting language interpreters within meetings. For more information regarding this feature, please visit https://support.zoom.us/hc/en-us/articles/360034919791-Language-interpretation-in-meetings-and-webinars
The new interfaces can be found in `InMeetingInterpretationController.java`
* `- InMeetingInterpretationController getInMeetingInterpretationController()`
* New interface in `IInterpretationLanguage.java`
* `- int getLanguageID()`
* `- String getLanguageAbbreviations()`
* `- String getLanguageName()`
* New interface in `IInterpreter.java`
* `- long getUserID()`
* `- int getLanguageID1()`
* `- int getLanguageID2()`
* New interface in `IMeetingInterpretationControllerEvent.java`
* `- void onInterpretationStart()`
* `- void onInterpretationStop()`
* `- void onInterpreterRoleChanged(int userID, boolean isInterpreter)`
* `- void onInterpreterActiveLanguageChanged(int userID, int activeLanID)`
* `- void onInterpreterLanguageChanged(int lanID1, int lanID2)`
* `- void onAvailableLanguageListUpdated(List<IInterpretationLanguage> pAvailableLanguageList)`
* New interface for `InMeetingInterpretationController.java`
* `- void setEvent(IMeetingInterpretationControllerEvent event)`
* `- boolean isInterpretationEnabled()`
* `- boolean isInterpretationStarted()`
* `- boolean isInterpreter()`
* `- IInterpretationLanguage getInterpretationLanguageByID(int lanID)`
* `- List<IInterpretationLanguage> getAllLanguageList()`
* `- List<IInterpreter> getInterpreterList()`
* `- boolean addInterpreter(long userID, int lanID1, int lanID2)`
* `- boolean removeInterpreter(long userID)`
* `- boolean modifyInterpreter(long userID, int lanID1, int lanID2)`
* `- MobileRTCSDKError startInterpretation()`
* `- MobileRTCSDKError stopInterpretation()`
* `- List<IInterpretationLanguage> getAvailableLanguageList()`
* `- MobileRTCSDKError joinLanguageChannel(int lanID)`
* `- int getJoinedLanguageID()`
* `- MobileRTCSDKError turnOffMajorAudio()`
* `- MobileRTCSDKError turnOnMajorAudio()`
* `- boolean isMajorAudioTurnOff()`
* `- List<Integer> getInterpreterLans();`
* `- MobileRTCSDKError setInterpreterActiveLan(int activeLanID);`
* `- int getInterpreterActiveLan()`
* Add interfaces to support Direct share. For info about this feature, please visit: https://support.zoom.us/hc/en-us/articles/214629303-Direct-sharing-in-Zoom-Rooms
New interface for `IDirectShareServiceHelper.java`
* `- void setEvent(IDirectShareServiceHelperEvent listener)`
* `- boolean canStartDirectShare()`
* `- boolean isDirectShareInProgress()`
* `- MobileRTCSDKError startDirectShare()`
* `- MobileRTCSDKError stopDirectShare()`
New interface for `IDirectShareViaMeetingIDOrPairingCodeHandler.java`
* `- MobileRTCSDKError tryWithMeetingNumber(long meetingNumber)`
* `- MobileRTCSDKError tryWithPairingCode(String pairingCode)`
* `- MobileRTCSDKError cancel()`
The added callback interface in `IDirectShareServiceHelperEvent.java`
* `- void onDirectShareStatusUpdate(DirectShareStatus status, IDirectShareViaMeetingIDOrPairingCodeHandler handler) `
* Added new callback to notify the end-user that their video subscription failed when using Custom Meeting UI
The added callback interface in `ICustomizedVideoSink.java`
* `- void onSubscribeUserFail(int errorCode, int size, long userId)`
* Added methods to enable/disable copying Zoom URL when long-pressing meeting ID
New method in `MeetingSettingsHelper.java`
* `- void disableCopyMeetingUrl(boolean disable)`
* Removed the watermark by default. If you wish to retain the Zoom watermark, please contact us via [email protected].
## Changed & Fixed:
* Fixed an issue that disabling the bottom toolbar hides the end meeting button.
* Fixed an issue that the `raiseMyHand` or `lowerHand` is not working properly when in a webinar.
* Fixed an issue that the option to hide the meeting password is not working.
* Fixed an issue that the option `no_dial_in_via_phone` and `no_dial_out_to_phone` do not hide the dial-in/dial-out menu.
## 2020-10-09 @ v5.2.41735.0928
## Added
* Added Android 11 support
* Upgraded Zoom default UI to match Zoom client 5.2.1.
* Added new interfaces to enable mini meeting window.
* `ZoomUIService.enableMinimizeMeeting(boolean enable)`
* Added new interfaces to delete QA questions.
* `InMeetingQAController.deleteQuestion(String questionID)`
* Added new interfaces to delete QA answers.
* `InMeetingQAController.deleteAnswer(String answerID)`
* Added new interfaces for the feature "Allow participants to unmute Themselves".
* `InMeetingService.allowParticipantsToUnmuteSelf(boolean allow)`
* Added new interfaces for the feature "Allow participants to rename Themselves"
* `InMeetingService.allowParticipantsToRename(boolean allow)`
* Added new interfaces to get participant ID.
* `InMeetingUserInfo.getParticipantID()`
* Added new interfaces to get current breakout room name.
* `IBOData.getCurrentBoName()`
* Added new interfaces to get chat message type.
* `InMeetingChatMessage.getChatMessageType()`
* Added new interfaces to join webinar with token.
* `JoinMeetingParams.webinarToken`
* Added new callbacks for free meeting upgrade.
* In `InMeetingServiceListener`:
* `onFreeMeetingNeedToUpgrade`
* `onFreeMeetingUpgradeToGiftFreeTrialStart`
* `onFreeMeetingUpgradeToGiftFreeTrialStop`
* `onFreeMeetingUpgradeToProMeeting`
* Added new callbacks for the host/cohost asked to mute/unmute video.
* In `InMeetingServiceListener`:
* `onHostAskStartVideo`
* `onUserVideoStatusChanged`
* `VideoStatus.Video_Mute_ByHost`
* Added new callbacks for the event when user deletes a question.
* `InMeetingQAController.onDeleteQuestion(List<String> questionList)`
* Added new callbacks for the event when user deletes an answer.
* `InMeetingQAController. onDeleteAnswer(List<String> answerList)`
* Added Vietnamese and Italian language support.
## Changed & Fixed
* SDK now requires that the following dependencies need to be added to your SDK project
* implementation 'com.google.android.material:material:1.2.0-alpha02'
* implementation 'com.google.android:flexbox:2.0.1'
* implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.0.0'
* Refine the breakout room interfaces.
* Updated the proguard rules
* Fixed the Bluetooth connectivity issue.
* Fixed an issue that webinar attendees cannot get other's screen share.
* Fixed an issue that switching domain while in meeting results in error.
* Fixed an issue that customizing the notification channel ID results in error.
* Fixed an issue that the meeting UI does not respect the screen orientation settings.
* Fixed an issue that the "More" menu is not shown/hidden correctly.
## Deprecated & Removed:
* `MobileRTCSDKError allowAttendeeChat()`
* `MobileRTCSDKError disallowAttendeeChat()`
## 2020-07-09 @ v5.0.24437.0708
## Changed & Fixed
* Fixed an issue that API user is not able to start some kind of pre-scheduled meetings with tokens.
## 2020-06-30 @ v5.0.24433.0616
## Added:
* Upgraded Zoom default UI to match Zoom client 5.0.
* Added a new interface to catch crash dump(java and native):
* `ZoomSDKInitParams.enableGenerateDump`
* Added a new callback for the event when the username has changed
* `InMeetingServiceListener.onUserNameChanged`
* Added a new interface to check whether the PMI option is enabled on the account.
* `PreMeetingService.isDisabledPMI`
* Added new status to the H323 callout status
* `CallOutRoomSystemStatus.CallOutRoomSystem_Busy`
* `CallOutRoomSystemStatus.CallOutRoomSystem_Decline`
* Added new interfaces for the "Use Original Sound" option in the meeting settings.
* `MeetingSettingsHelper.enableMicOriginalInput`
* Added a new interface to show/hide the "Disconnect audio" button.
* `ZoomUIService.hideDisconnectAudio`
* Added a new interface related to setting 'Always show video preview when joining a video meeting' feature.
* `MeetingSettingsHelper.disableShowVideoPreviewWhenJoinMeeting`
* Added a new interface to modify the 'meeting topic' in the 'meeting information' page.
* `InMeetingService.setMeetingTopic`
* Added text avatar in the participant list.
## Changed & Fixed:
* Fixed an issue that the interface `setConfNotificatonChannelId` results in unexpected behavior on Android 8.0.
* Fixed an issue that the local video screen in Zoom UI will freeze when switching the camera using the interface.
* Fixed an issue that the presenter cannot colors in the annotation toolbar while sharing the screen.
* Fixed an issue that the "Allow to talk" dialog will show up multiple times.
* Temporary remove the USB camera support. (Follow Zoom client's change).
* Temporary remove the "Unmute all" interface.
* `InMeetingAudioController.unmuteAllAttendeeAudio`
* Re-define start meeting interface
* `startMeetingWithParams(Context context, StartMeetingParams param, MeetingOptions opts)`
## Deprecated & Removed
* `startMeeting(Context context, String meetingNo)`
* `startMeeting(Context context, String meetingNo, MeetingOptions opts)`
* `startMeeting(Context context, String userId, String zoomToken, int userType, String meetingNo, String displayName)`
* `startMeeting(Context context, String userId, String zoomToken, int userType, String meetingNo, String displayName, MeetingOptions opts)`
* `startMeetingWithParams(Context context, StartMeetingParams param)`
* `startInstantMeeting(Context context)`
* `startInstantMeeting(Context context, String userId, String zoomToken, int userType, String displayName);`
* `startInstantMeeting(Context context, String userId, String zoomToken, int userType, String displayName, MeetingOptions opts);`
* `joinMeeting(Context context, String meetingNo, String displayName)`
* `joinMeeting(Context context, String meetingNo, String displayName, String password);`
* `joinMeeting(Context context, String meetingNo, String displayName, MeetingOptions opts);`
* `joinMeeting(Context context, String meetingNo, String displayName, String password, MeetingOptions opts);`
* `joinMeetingWithParams(Context context, JoinMeetingParams param)`
* `InMeetingAudioController.unmuteAllAttendeeAudio`
## 2020-04-29 @ v4.6.21666.0429
## Added:
* Added support for AES 256-bit GCM encryption.
* **Please plan to upgrade your SDK accordingly. See the announcement in [README](https://github.com/zoom/zoom-sdk-android) for more information**
* Added a new interface to hide Reaction emoji
* `hideReactionsOnMeetingUI()`
* Added a new interface to allow more customization of the invite action
* You could show your own invitation menu and handle the onClick event for the menu options
## Changed & Fixed:
* Upgraded OpenSSL to version 1.1.1e
* Fixed an issue that sometimes user might not be able to use vanityId to join a meeting
## Deprecated
* Deprecated the interface to get user's email: `InMeetingUserInfo().getEmail()`
## 2020-04-04 @ v4.6.15801.0403
## Added:
* Add new interfaces for customizing [breakout room](https://support.zoom.us/hc/en-us/articles/206476093-Getting-Started-with-Breakout-Rooms), new interfaces can be found in the following classes:
* `InMeetingBOController`
* `IBOCreator`
* `IBOAssistant`
* `IBOAdmin`
* `IBOMeeting`
* `IBOData`
* `BOCtrlUserStatus`
* Add new interfaces and options for schedule meeting
* Add a new interface to allow customizing meeting notification
* In `MeetingSettingsHelper`
* `setCustomizedNotificationData(CustomizedNotificationData data,InMeetingNotificationHandle handle)`
* Add a new interface for "Lower all hands"
* In `InMeetingService`
* `lowerAllHands()`
* Add new interfaces to reclaim host
* In `InMeetingService`
* `canReclaimHost()`
* `reclaimHost()`
* Add new interfaces to control views under gallery view in Zoom UI
* In `ZoomUIService`
* `switchToNextPage()`
* `switchToPreviousPage()`
* `switchToActiveSpeaker()`
* `switchToDriveScene()`
* `switchToVideoWall()`
* Add an interface to allow webinar participants to pre-enter the registration information, and skip the pop-up
* In `ZoomUIService`
* `prePopulateWebinarRegistrationInfo(String email, String username)`
* Add new interfaces and callbacks to configure the chat privilege of the meeting/webinar attendees and to get notified on the corresponding events.
* In `InMeetingChatController`
* `allowAttendeeChat(MobileRTCWebinarChatPriviledge priviledge)`
* `changeAttendeeChatPriviledge(MobileRTCMeetingChatPriviledge priviledge)`
* In `InMeetingServiceListener`
* `onSinkAttendeeChatPriviledgeChanged(int privilege)`
* `onSinkAllowAttendeeChatNotification(int privilege)`
## Changed & Fixed:
* Fixed an issue that the interface `setNoUserJoinOrLeaveTipEnabled` results in unexpected behavior
* Fixed an issue that the SDK is not working on non-standard Android device
* Fixed an issue that the interface `setVideoOnWhenMyShare` in `MeetingSettingsHelper` is not working properly
## 2020-02-10 @ v4.6.15086.0209
## Added:
* Add new features in Zoom default UI
* Allow Call-In Attendees to unmute in the webinar
* Closed captioning in breakout sessions
* Support for multiple pages on the whiteboard
* Audio setting for auto-select based on network
* Switch between video and content sharing
* Zoom in/out on their camera
* Annotation enhancements
* Reduced volume for entering/exiting chime
* Rename meeting hosted with personal meeting ID
* Push notification for contact requests
* Rename webinar attendees
* Send a message to participants in a waiting room
* Settings to disable meeting notifications
* Merge participant's video and Audio
* Hide non-video participants
* Meeting reactions
* View other participant's audio status
* Add support for the Korean language.
* Add a new callback for the event when the active video user has changed.
* `onMeetingActiveVideo`
## Changed & Fixed:
* Enhanced security and upgraded OpenSSL to 1.0.2u.
* Fixed an issue that pictures from device storage cannot be shared.
## 2019-12-16 @ v4.4.57218.1211
## Added:
* Add new interfaces for SDK initialization with JWT token.
* `ZoomSDKInitParams.jwtToken`
* Add new interfaces for the Q&A feature in the webinar.
* `ZoomSDK.getInstance().getInMeetingService().getInMeetingQAController()`
* Add a new interface to get the attendeeID while in the meeting.
* `ZoomSDK.getInstance().getInMeetingService().getParticipantId()`
* Add a new interface to show/hide the "My Connected Time".
* `ZoomSDK.getInstance().getMeetingSettingsHelper().enableShowMyMeetingElapseTime(boolean show)`
* Add a new interface for users to get the meeting password while in the meeting.
* `ZoomSDK.getInstance().getInMeetingService().getMeetingPassword()`
* Add a callback to remind the user that the free meeting will be ended in 10 minutes.
* `InMeetingServiceListener onFreeMeetingReminder(boolean isOrignalHost, boolean canUpgrade, boolean isFirstGift)`
* Add a new callback for the event when the host asks to unmute the attendee's video.
* `InMeetingServiceListener onHostAskStartVideo(long userId)`
## Changed & Fixed:
* Fixed an issue that unable to share any files while using SDK with Android Q.
* Fixed an issue that the meeting restarts for a few times after pressing the end meeting button.
* Fixed an issue that the app crashes when sharing a PDF file and changing pages.
* Fixed an issue that the shared view is not responding while annotating.
* Fixed an issue that the host is unable to mute the attendee's audio.
## 2019-11-04 @ v4.4.56624.1028
## Added
* Add a new interface to hide the 'chat' button for zoom default UI
* Add a new interface to enable send video when my share start
* Add a new interface to hide the popup dialog when the host ask the attendee to unmute themselves
* Add a new interface for SDK initialization
* Add a new interface to hide the Q&A button and the POLL button
* Add a new interface to save shared bitmap
* Add a new interface to change the priority of the ongoing meeting notification
## Changed & Fixed
* Modified a behavior that separating the main session user event from the event in the breakout session
* Updated the ProGuard rule.
## Deprecated
* `initialize(Context context, String appKey, String appSecret, ZoomSDKInitializeListener listener)`
* `initialize(Context context, String appKey, String appSecret, boolean autoRetryVerifyApp, ZoomSDKInitializeListener listener)`
* `initialize(Context context, String appKey, String appSecret, String domain, boolean autoRetryVerifyApp, ZoomSDKInitializeListener listener)`
* `initialize(Context context, String appKey, String appSecret, String domain, boolean autoRetryVerifyApp, ZoomSDKInitializeListener listener, boolean enableLog)`
* `initialize(Context context, String appKey, String appSecret, String domain, boolean autoRetryVerifyApp, ZoomSDKInitializeListener listener, boolean enableLog, int logSize)`
* `initialize(Context context, String appKey, String appSecret, String domain, ZoomSDKInitializeListener listener)`
* `initialize(Context context, String appKey, String appSecret, String domain, ZoomSDKInitializeListener listener, boolean enableLog)`
* `initialize(Context context, String appKey, String appSecret, String domain, ZoomSDKInitializeListener listener, boolean enableLog, int logSize)`
## 2019-09-04 @ v4.4.55968.0904
## Added
* **Add an SDK version that does not require AndroidX (End-of-Life: 01/01/2020)**
* Add support for Android Q (Android 10)
* Add a new interface to hide the "Chat" button in Zoom UI
* `MeetingSettingsHelper:disableChatUI(boolean disable)`
* Add a new interface to keep the video on when sharing content with others
* `MeetingSettingsHelper:setVideoOnWhenMyShare(boolean videoOnWhenMyShare)`
* Add a new interface to hide the popup dialog when the host requests to unmute an attendee
* `MeetingOptions.no_unmute_confirm_dialog`
* Add a new interface for SDK initialization
* `ZoomSDK:initialize(Context context, ZoomSDKInitializeListener listener, ZoomSDKInitParams params)`
## Changed & Fixed
* Fixed a compatibility issue with 64-bit `arm64-v8a` ABI.
* Fixed an issue that the video is turned off by default when starting a meeting with ZAK
* Fixed an issue that the system notification remains after the SDK app is closed from Recent Apps
* Fixed an issue that the participant cannot annotate when the host is sharing
* Fixed an issue that the PDF sharing is not working properly with 64-bit ABIs
* Separate the main session user events from the breakout session
* Updated the ProGuard rule
## Deprecating
We are going to deprecate the following interfaces in the near future. Please plan to use the latest interface accordingly.
* `initialize(Context context, String appKey, String appSecret, ZoomSDKInitializeListener listener)`
* `initialize(Context context, String appKey, String appSecret, boolean autoRetryVerifyApp, ZoomSDKInitializeListener listener)`
* `initialize(Context context, String appKey, String appSecret, String domain, boolean autoRetryVerifyApp, ZoomSDKInitializeListener listener)`
* `initialize(Context context, String appKey, String appSecret, String domain, boolean autoRetryVerifyApp, ZoomSDKInitializeListener listener, boolean enableLog)`
* `initialize(Context context, String appKey, String appSecret, String domain, boolean autoRetryVerifyApp, ZoomSDKInitializeListener listener, boolean enableLog, int logSize)`
* `initialize(Context context, String appKey, String appSecret, String domain, ZoomSDKInitializeListener listener)`
* `initialize(Context context, String appKey, String appSecret, String domain, ZoomSDKInitializeListener listener, boolean enableLog)`
* `initialize(Context context, String appKey, String appSecret, String domain, ZoomSDKInitializeListener listener, boolean enableLog, int logSize)`
## 2019-07-15 @ v4.4.55130.0712
**Added**
* **Add arm64-v8a, x86_64 library and provide Android 64-bit support**
* Introduce new Zoom meeting UI
* Add a new interface to distinguish H.323 user and telephone user
* `InMeetingUserInfo.isH323User`
* `InMeetingUserInfo.isPureCallInUser`
* Add a new interface to hide/show “Webinar need register” dialog
* `MeetingOptions.no_webinar_register_dialog`
* Add a new interface to query video quality
* `VideoStatus.videoQuality`
* Add a new parameter to the SDK initialization method to customize the log size, the range is from 1MB to 50MB per log file, and by default is 5MB. The maximum number of the log file is 5.
* `ZoomSDK initialize(Context context, String appKey, String appSecret, String domain, ZoomSDKInitializeListener listener, boolean enableLog,int logSize)`
* Add a new callback to listen to the events when the end button is clicked
* `MeetingActivity onClickEndButton()`
* Add a new callback to listen to the changes in the user’s network quality
* `InMeetingServiceListener onUserNetworkQualityChanged(long userId)`
**Changed & Fixed**
* Fixed an issue that sometimes the app crashes when trying to end a meeting while the Bluetooth is connected
* Fixed an issue that the top/bottom bar in the Zoom UI is hidden unexpected
* Fixed an issue that the app occasionally crashes when trying to start live streaming
* Fixed an issue that the setting of muting the attendee’s audio is not working
## 2019-03-25 @ v4.3.1.47200.0322
**Added**
* Introduce new Zoom meeting UI
* Add new interfaces to control “disable viewer’s annotate” on the share sender site
* Add new interfaces to customize the sub-tab pages in H323 invite page and customize all tab pages in the invite dialog
* Add support to customize invite dialog
**Changed & Fixed**
* Fix an issue that the avatar will stretch when switching video on/off
* Fix an issue that the SDK is not properly translating county translations in ‘Call My Phone’ screen
* Fix an issue that the poll view does not show up and does not update during the webinar
* Enhanced security
## 2019-01-23 @ v4.3.0.53571.0118
**Added**
* Support for the x86 emulator.
* New functional documentation.
* A new refactorized demo project that provides clear instructions on how to implement major features.
* New callback method for the case when active video changed in the meeting.
* New logging feature that stores logs with the maximum size of 5MB.
* A new method to join/start meeting directly via url, such as zoommtg://zoom.us/join?action=....
* Support to select dial-in country while scheduling a meeting.
**Changed & Fixed**
* Join audio improvements
* Some issues that cause crashes
**Deprecated**
* MeetingService.joinMeeting(Context, String, String)
* MeetingService.joinMeeting(Context, String, String, MeetingOptions)
* MeetingService.joinMeeting(Context, String, String, String)
* MeetingService.joinMeeting(Context, String, String, String, MeetingOptions)
* ZoomSDK.setBoxAppKeyPair(Context, String, String)
* ZoomSDK.setDropBoxAppKeyPair(Context, String, String)
* ZoomSDK.setGoogleDriveInfo(Context, String, String)
* ZoomSDK.setOneDriveClientId(Context, String)
* MeetingService.startInstantMeeting(Context, String, String, int, String)
* MeetingService.startInstantMeeting(Context, String, String, int, String, MeetingOptions)
* MeetingService.startMeeting(Context, String)
* MeetingService.startMeeting(Context, String, MeetingOptions)
* MeetingService.startMeeting(Context, String, String, int, String, String)
* MeetingService.startMeeting(Context, String, String, int, String, String, MeetingOptions)
## 2018-10-24 @ v4.1.34082.1024
1. Added support for Android API Level 27;
2. Added support to schedule meeting for a specified user;
3. Added support to third party audio;
4. Added support to specified a domain;
5. Added support to only allow signed in user to join the meeting;
6. Enhanced Custom Meeting UI feature;
7. Enhanced meeting scheduling feature;
## 2018-09-11 @ v4.1.32128.0910
1. Schedule Meeting Feature Enhancement
2. Bug fixes
## 2018-08-20 @ v4.1.30378.0817
1. Custom Meeting UI (support basic meeting function, except for Webinar and Breakout Session)
2. Single process to replace previous two processes implement - meeting will not run in a separate process (no meeting process any more)
3. Remove protobuf library dependency from SDK
4. Support Android 8.0
5. Change MeetingServiceListener callback from onMeetingEvent to onMeetingStatusChanged and enchance MeetingStatus
6. SDK Meeting Interface refactor, InMeetingService category cluster for specific Service Module:
InMeetingAudioController for Audio service;
InMeetingVideoController for Video service;
InMeetingChatController for Chat service;
InMeetingShareController for Share service;
7. Support In-meeting Chat related common feature
8. Support In-meeting Share related common feature
9. Support Annotate and Remote Control for custom Meeting UI
10. Bug fixes
## 2018-07-26 @ v4.1.28807.0726
The start meeting logic for API users has changed. Please read below before upgrading to this version.
**Added**
1.New start/join meeting interfaces
We added a new parameter, zoom access token (ZAK), which can be retrieved through REST API:
https://zoom.github.io/api/#retrieve-a-users-permissions
Old API User start meeting logic:
```
StartMeetingOptions opts = new StartMeetingOptions();
//opts.no_driving_mode = true;
//……………
int ret = meetingService.startMeeting(this, USER_ID, ZOOM_TOKEN,
USER _TYPE, meetingNo, DISPLAY_NAME, opts);
```
New API User start meeting logic:
```
StartMeetingParamsWithoutLogin params = new StartMeetingParamsWithoutLogin();
params.userId = USER_ID;
params.zoomToken = ZOOM_TOKEN;
params.userType = STYPE;;
params.displayName = DISPLAY_NAME;
params.zoomAccessToken = ZOOM_ACCESS_TOKEN;
params.meetingNo = meetingNo;
StartMeetingOptions opts = new StartMeetingOptions();
//opts.no_driving_mode = true;
//……………
int ret = meetingService.startMeetingWithParams(this, params, opts);
```
2.Add interface to let host assign&revoke Cohost
3.Add an interface which set Host Key to claim Host
4.Support join/start meeting with vanity ID
5.Add interface to start 3rd live stream
6.Default not auto retry to auth SDK after auth failed
7.Bugs fix
## 2017-05-28 @ v4.1.25388.0528
**Added**
1.Update Android SDK target version to 25(Android7.0)
2.Add in meeting chat message callback event;
3.New interface to set meeting large share video layout (side by side) when view other’s sharing;
4.Interface for getting current meeting room device list and inviting room system interfaces refactor;
5.Support to config DSCP for audio video session;
6.Support set domain start with http:// or https://;
## 2017-10-30 @ v4.0.11726.1030
**Added**
1. No longer support zoom mobilertc version for ADT(eclipse)
2. Support SSO login
3. Add interfaces to auto connect device audio / always , mute my microphone / always turn off my video when joining
meeting
4. Add interfaces to check if meeting support inviting by phone and room system
5. Add interfaces to mute and unmute my audio&video , mute and unmute all participants'audio
6. Add interfaces to disable video gallery view
7. Add interfaces to hide user enter/leave popup
8. PreMeeting functions error code refactor
9. Bugs fix:
System statusbar will overlap zoom watermark if the android device support immersive mode
If meeting activity has been destroyed, meeting process can not exit correctly after main process stopped
If there is no internet connection, a NullPointerException is thrown from inside the Zoom SDK shortly after
scheduleMeeting was called
Fix zoom mobilertc meeting no_disconnect_audio option does not work issue
## 2017-06-19 @ v4.0.36490.0619
**Added**
Add interfaces to get a list of participants’ profile and status in meeting
the name of the interfaces are InMeetingServiceListener and InMeetingService
APIs provided in the interface are:
1. void onLowOrRaiseHandStatusChanged(long userId, boolean isRaiseHand)
Sink the event of Low Or Raise Hand Status changed
2. void onMeetingHostChanged(long userId)
Sink the event of meeting host changed
3. void onMeetingUserJoin(long userId)
Sink the event of meeting new user join
4. void onMeetingUserLeave(long userId)
Sink the event of meeting user leave
5. void onMeetingUserUpdated(long userId)
Sink the event of meeting user info updated
6. void onSpotlightVideoChanged(boolean on)
Sink the event of meeting host changed
7. void onUserAudioStatusChanged(long userId)
Sink the event of user's audio status changed
8. void onUserAudioTypeChanged(long userId)
Sink the event of user's audio type changed
9. void onUserVideoStatusChanged(long userId)
Sink the event of user's video status changed
10. long activeShareUserID()
This method is used to get active share user id in the meeting.
11. long activeVideoUserID()
This method is used to get active video user id in the meeting.
12. void addListener(InMeetingServiceListener listener)
Register a listener for in-meeting event
13. boolean changeName(java.lang.String inputName, long userId)
This method is used to change user's display name in meeting.
14. InMeetingUserList getInMeetingUserList()
Note: Don't call this interface frequently.
15. long getMyUserID()
This method is used to get my user id in the meeting.
16. InMeetingUserInfo getMyUserInfo()
This method is used to get my user info in the meeting.
17. InMeetingUserInfo getUserInfoById(long userId)
This method is used to get user info by certain userId
18. boolean isHostUser(long userId)
This method is used to check the user is host or not.
19. boolean isMeetingLocked()
This method is used to tell whether the meeting is locked by host or not.
20. boolean isMuteOnEntryOn()
This method is used to check whether MuteOnEntry is on in the meeting.
21. boolean isMyself(long userId)
This method is used to check the user is myself or not.
22. boolean isPlayChimeOn()
This method is used to check PlayChime or not while user join/leave meeting.
23. boolean isSameUser(long user1, long user2)
This method is used to judge the same user.
24. boolean isShareLocked()
This method is used to tell whether the screen share is locked by host or not.
25. boolean isUserVideoSpotLighted(long userId)
This method is used to check the user's video spotlighted or not.
26. boolean lowerHand(long userId)
This method is used to lower user's hand.
27. boolean makeHost(long userId)
This method is used to assign host role to another user in the meeting.
28. boolean raiseMyHand()
This method is used to raise my hand.
29. void removeListener(InMeetingServiceListener listener)
Unregister a listener
30. boolean removeUser(long userId)
This method is used to remove a user in the meeting.
31. boolean setMuteOnEntry(boolean on)
This method is used to set whether MuteOnEntry is on in the meeting.
32. boolean setPlayChimeOnOff(boolean on)
This method is used to set PlayChime or not while user join/leave meeting.
33. boolean spotLightVideo(boolean on, long userId)
This method is used to spotlight the user's video or not.
## 2017-03-13 @ v4.0.26490.0313
**Added**
Add interfaces to call room device directly:
-Public interface InviteRoomSystemHelper
Field:
-Static int ROOMDEVICE_H323
-Static int ROOMDEVICE_SIP
Method detail:
1. void addEventListener(InviteRoomSystemListener listener)
Usage: Register a invite room system listener
Parameter:listener - the listener instance
2. void removeEventListener(InviteRoomSystemListener listener)
Usage: Unregister a invite room system listener
Parameter: listener - the listener instance
3. java.lang.String[] getH323Address()
Usage: Get h323 address for current meeting
Returns: If the function succeeds, the return value is not null.
4. boolean sendMeetingPairingCode(long meetingId,
java.lang.String pairingCode)
Usage: Send Meeting pairing code
Parameters: meetingId – meeting to pairing, pairingCode – Code for pairing
Returns: success or failure
5. boolean callOutRoomSystem(java.lang.String address,
int deviceType)
Usage: Call out a room system
Parameters: address - ip address / e.164 number, deviceType - ROOMDEVICE_H323/ROOMDEVICE_SIP
Returns: success or failure
6. boolean cancelCallOutRoomSystem()
Usage: Cancel a room system call out.
Returns: success or failure
## 2017-01-18 @ v4.0.21754.0118
**Added**
1. Support to join Webinar with Panelist member;
2. Add option to show/hide thumbnail video while viewing/starting share in meeting;
3. Add option to hide “Leave Meeting” item in host side;
4. Add watermark in MobileRTC