Original publication date: December 21, 2021
Notes
1. New dependencies have been added:
androidx.window:window:1.0.0-alpha06
androidx.window:window-java:1.0.0-beta03
org.jetbrains.kotlin:kotlin-stdlib:1.5.21
androidx.core:core-ktx:1.6.0
androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0
androidx.lifecycle:lifecycle-runtime-ktx:2.4.0
com.airbnb.android:lottie:4.0.0
2. The following dependencies have been updated:
androidx.security:security-crypto:1.1.0-alpha02 to androidx.security:security-crypto:1.1.0-alpha03
com.google.android.exoplayer:exoplayer-core:2.12.3 to com.google.android.exoplayer:exoplayer-core:2.13.3
com.google.android.exoplayer:exoplayer-ui:2.12.3 to com.google.android.exoplayer:exoplayer-ui:2.13.3
androidx.swiperefreshlayout:swiperefreshlayout:1.0.0 to androidx.swiperefreshlayout:swiperefreshlayout:1.1.0
androidx.appcompat:appcompat:1.0.0 to androidx.appcompat:appcompat:1.3.1
androidx.constraintlayout:constraintlayout:2.0.4 to androidx.constraintlayout:constraintlayout:2.1.0
com.google.android.material:material:1.2.0-alpha03 to com.google.android.material:material:1.4.0
androidx.recyclerview:recyclerview:1.0.0 to androidx.recyclerview:recyclerview:1.2.1
3. You must upgrade the R8 tool in your project-level build.gradle to the following version:
dependencies {
...
classpath 'com.android.tools:r8:3.0.73'
}
4. To supportusesCleartextTraffic
false
, you must configure thenetwork_security_config.xml
, the default config is as follows:
(Note: The usesClearTextTraffic attribute defaults to false on APIs 28 and higher. If your app targets 28+, you must include this config or set it to true in your manifest.)
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">ocsp.digicert.com</domain>
<domain includeSubdomains="true">crl3.digicert.com</domain>
<domain includeSubdomains="true">crl4.digicert.com</domain>
<domain includeSubdomains="true">crl.godaddy.com</domain>
<domain includeSubdomains="true">certificates.godaddy.com</domain>
<domain includeSubdomains="true">crl.starfieldtech.com</domain>
<domain includeSubdomains="true">certificates.starfieldtech.com</domain>
<domain includeSubdomains="true">ocsp.godaddy.com</domain>
<domain includeSubdomains="true">ocsp.starfieldtech.com</domain>
</domain-config>
</network-security-config>
Added
-
New interfaces and callbacks to support live transcription.
-
New interfaces in
InMeetingLiveTranscriptionController
:
- void addListener(InMeetingLiveTranscriptionListener listener);
- void removeListener(InMeetingLiveTranscriptionListener listener);
- public boolean isMeetingSupportCC();
- public boolean canBeAssignedToSendCC(long userid);
- public MobileRTCSDKError assignCCPrivilege(long userid);
- public MobileRTCSDKError withdrawCCPrivilege(long userid);
- public boolean canAssignOthersToSendCC();
- public boolean isLiveTranscriptionFeatureEnabled();
- public MobileRTCLiveTranscriptionStatus getLiveTranscriptionStatus();
- public boolean canStartLiveTranscription();
- public MobileRTCSDKError startLiveTranscription();
- public MobileRTCSDKError stopLiveTranscription();
- public MobileRTCSDKError enableRequestLiveTranscription(boolean enable);
- public boolean isRequestToStartLiveTranscriptionEnabled();
- public MobileRTCSDKError requestToStartLiveTranscription(boolean requestAnonymous);
-
New callbacks in
InMeetingLiveTranscriptionController.InMeetingLiveTranscriptionListener
:
- void onLiveTranscriptionStatus(MobileRTCLiveTranscriptionStatus status);
- void onLiveTranscriptionMsgReceived(String msg, MobileRTCLiveTranscriptionOperationType type);
- void onRequestForLiveTranscriptReceived(long requesterUserId, boolean bAnonymous);
- void onRequestLiveTranscriptionStatusChange(boolean enabled);
-
New status in
InMeetingLiveTranscriptionController.MobileRTCLiveTranscriptionStatus
:
- MobileRTC_LiveTranscription_Status_Stop
- MobileRTC_LiveTranscription_Status_Start
- MobileRTC_LiveTranscription_Status_Connecting
-
New status in
InMeetingLiveTranscriptionController.MobileRTCLiveTranscriptionOperationType
- MobileRTC_LiveTranscription_OperationType_None
- MobileRTC_LiveTranscription_OperationType_Add
- MobileRTC_LiveTranscription_OperationType_Update
- MobileRTC_LiveTranscription_OperationType_Delete
-
New interface in
InMeetingService
:-
- InMeetingLiveTranscriptionController getInMeetingLiveTranscriptionController();
-
-
New interfaces and callbacks to support customizing the video view order in the gallery view. Only the host can order the gallery view.
-
New interfaces in
ISetVideoOrderHelper
:
- boolean isSupportFollowHostVideoOrder();
- boolean isFollowHostVideoOrderOn();
- List<Long> getVideoOrderList();
-
New callbacks in
InMeetingServiceListener.java
:
- void onVideoOrderUpdated(List<Long> orderList);
- void onFollowHostVideoOrderChanged(boolean bFollow);
-
New interface in
InMeetingVideoController.java
:-
- ISetVideoOrderHelper getSetVideoOrderHelper();
-
-
New interfaces and callbacks to support Breakout Room (BO) Options
-
New interfaces in
BOOption
:
- public boolean isParticipantCanChooseBO;
- public boolean isParticipantCanReturnToMainSessionAtAnyTime = true;
- public boolean isAutoMoveAllAssignedParticipantsEnabled;
- public boolean isBOTimerEnabled;
- public boolean isTimerAutoStopBOEnabled;
- public int timerDuration;
-
New callback in
IBOAdminEvent.java
:-
void onBOEndTimerUpdated(int remaining, boolean isTimesUpNotice);
-
-
New interface in
IBOAttendee.java
:-
- boolean isCanReturnMainSession();
-
-
New video tiles added in default UI when viewing the screen sharing content.
Changed and Fixed
-
Fixed an issue where
setLargeShareVideoSceneEnabled
wasn’t working properly. -
Updated the description in the comment of the interface
setKubiDeviceEnabled(boolean enabled);
-
Updated the description in comment of the interface
isKubiDeviceEnabled();
-
Updated the description in the comment of the interface
enable720p(boolean enable);
-
Fixed an issue where the interface
enable720(boolean enable)
and the interfaceis720PEnabled()
was not working properly. Note: 720p is only supported in the device with at least 4 gold cores. -
Fixed an issue where the recording consent dialog was displayed incorrectly.
-
Fixed an issue where the webinar attendee could not view the shared content.
-
Fixed an issue where passing an incorrect
userID
toBOData.getBOUserStatus
caused a crash.
Removed
-
Removed the email login interfaces:
-
Interfaces in
ZoomSDK
:-
- public int loginWithZoom(String email, String password)
-
- public boolean isEmailLoginEnable()
-
-
-
Removed the interface
getPreferredCameraAntibanding
inMeetingSettingHelper.java