Breaking changes

New dependencies added:

androidx.fragment:fragment-ktx:1.4.1

Dependencies updated:

  • com.google.android.exoplayer:exoplayer-core:2.13.3 to com.google.android.exoplayer:exoplayer-core:2.16.1

  • com.google.android.exoplayer:exoplayer-ui:2.13.3 to com.google.android.exoplayer:exoplayer-ui:2.16.1

  • androidx.window:window:1.0.0-alpha06 to androidx.window:window:1.0.0

  • androidx.window:window-java:1.0.0-beta03 to
    androidx.window:window-java:1.0.0

  • org.jetbrains.kotlin:kotlin-stdlib:1.5.21 to
    org.jetbrains.kotlin:kotlin-stdlib:1.6.0

  • androidx.core:core-ktx:1.6.0 to androidx.core:core-ktx:1.7.0

  • compileSdkVersion updates to 31

New Permissions added to support Android 12:

android.permission.BLUETOOTH_SCAN

Interface changes:

  • In InMeetingServiceListener:

    • onUserNameChanged(long userId, String name) is deprecated, replaced by
      void onUserNamesChanged(List<Long> userList)

    • void onMeetingCoHostChanged(long userId)` is deprecated, replaced by
      void onMeetingCoHostChange(long userId, boolean isCoHost)

  • In InMeetingService:

    • MobileRTCSDKError lowerAllHands(); changed to
      MobileRTCSDKError lowerAllHands(boolean forWebinarAttendees);

    • void onLocalRecordingStatus(RecordingStatus status);` changed to
      void onLocalRecordingStatus(long userId, RecordingStatus status);

Added

  • New interface to allow API user to customize the polling link

    • New interface in ZoomUIService:

      MobileRTCSDKError setCustomizedPollingUrl(String pollingURL, boolean bCreate);
  • New interfaces for Android 12 Custom UI

    • New interface in InMeetingService:

      boolean updatePermissions(String[] permissions, int[] grantResults);
    • New callback in InMeetingServiceListener:

      void onPermissionRequested(String[] permissions);
  • New interface to support local gallery order change

    • New interface in InMeetingServiceListener:

      void onLocalVideoOrderUpdated(List<Long> localOrderList);
  • New interface to support unSpotlight All Videos

    • New interface in InMeetingVideoController:

      MobileRTCSDKError unSpotlightAllVideos();
  • New interface to support lower all hands

    • New callback in InMeetingServiceListener:

      void onAllHandsLowered();
  • New interface to support renaming attendee

    • New callback in InMeetingServiceListener:

      void onUserNamesChanged(List<Long> userList);
  • New interface to support cohost changed

    • New callback

      void onMeetingCoHostChange(long userId, boolean isCoHost);
  • New interface to allow developer to disable the ability to clear the cache of WebKit

    • In MeetingSettingsHelper.java:

      void disableClearWebKitCache(boolean disabled);
      boolean isDisabledClearWebKitCache();

Enhanced

  • Increased the length of customerKey to 36 characters

  • Interface changes in InMeetingService:

    • MobileRTCSDKError lowerAllHands(); changed to
      MobileRTCSDKError lowerAllHands(boolean forWebinarAttendees);

    • void onLocalRecordingStatus(RecordingStatus status);` changed to

      void onLocalRecordingStatus(long userId, RecordingStatus status);

Deprecated

  • Deprecated interface in InMeetingServiceListener:

    void onUserNameChanged(long userId, String name);
    void onMeetingCoHostChanged(long userId);