Changes between SDK versions for Android

TrueConfAbout 6 min

Changes between SDK versions for Android

Changes in version 3.0.0 compared to 2.2.0

  1. Methods are now grouped by different interfaces:

    For example, it was:

    TrueConfSDK.getInstance().joinConf(confId);
    TrueConfSDK.getInstance().logout();

    Became:

    TrueConfSDK.getConferenceManager().joinConf(confId);
    TrueConfSDK.getServerManager().logout();
  2. Significant changes have been made to audio management:

    • The methods isSpeakerMuted, getAudioDevices, and onAudioPairChanged have been removed.

    • To obtain the current list of audio output devices, you need to execute the requestAudioState query and implement the onAudioDeviceResponse method from the AudioDeviceCallback interface. Additionally, this callback includes the onAudioDeviceChanged and onAudioDeviceUpdate methods.

    • To change the default output device, you must first execute the requestAudioState query and only then set the device using the setDefaultAudioDevice method.

    • In the ConferenceFragment, IncomingCallFragment, and PlaceCallFragment fragments, the methods onSwitchMicApplied and onMuteSpeakerApplied have been removed. Instead, you need to implement the interface AudioDeviceCallback.

    • The methods muteMicrophone, muteSpeaker, and changeAudioDevice should only be used during a conference; otherwise, they will not work due to verification.

  3. Changes in video management:

    • Added the onVideoDeviceUpdate method to notify about changes in the camera status.

    • In the ConferenceFragment, IncomingCallFragment, and PlaceCallFragment, the onSwitchCameraApplied method has been removed.

    • The muteCamera method should only be used during a conference; otherwise, it will not work due to validation.

  4. Paths to some important classes have been changed, such as the custom button class, as well as TrueConfListener and CallCast.

    Was:

    com.trueconf.sdk.data.TCSDKExtraButton
    com.trueconf.sdk.interfaces.TrueConfListener
    com.trueconf.sdk.gui.activities.CallCast

    Became:

    com.trueconf.sdk.presentation.views.TCExtraButton
    com.trueconf.sdk.TrueConfListener
    com.trueconf.sdk.presentation.activities.CallCast
  5. The onStateChanged method receives the parameter FSM.State newState, which returns the new user status (userOffline, userOnline, userBusy, etc.). The list of statuses is provided in the table in the "Types. UserPresStatus" section.

  6. Some icon names for customization have been changed:

    • The ic_rotate icon now replaces the ic_selfie_icon. Additionally, a resize icon ic_minimize_fullscreen has been added to the self-view video.

    • The icons shape_circle_background_red_pressed and shape_circle_background_red are no longer used;

    • Added the conf_button_back icon to change the background of buttons.

    See the complete list in Example 5: Interface Customization.

  7. Libraries are built using Java 17 (previously Java 11).

  8. Within the SDK, the OpenSSL 1.1.1w and SQLite 3.47.0 libraries have been updated.

  9. Dragging your own video on the conference screen is supported.

  10. The versions of some dependencies required for the SDK have been changed. The complete list is provided in the integration with Android Studio section.

Changes in version 2.2.0 compared to 1.3.3

  1. Android SDK is now distributed through a Maven repository, accessible with a login and password provided upon request through your manager. You need to add the Maven repository in the repositories section of the Gradle file as follows:

    maven {
        credentials {
            username 'username'
            password 'password'
        }
        url 'https://sdk.trueconf.com/maven/repository/maven-public/'
    }
  2. To integrate the SDK, you need to add three libraries to the dependencies section in the .gradle configuration file:

    api 'com.trueconf:trueconfsdk:2.2.0.101@aar'
    api 'com.trueconf:media:2.2.0.101@aar'
    api 'com.trueconf:jnicore:2.2.0.101@aar'
  3. The minimum Android version is now 7.0 (minSdkVersion 24).

  4. Connect the SDK to the project classes using the following lines:

    import com.trueconf.sdk.TrueConfSDK;// to work with SDK methods
    import com.trueconf.sdk.TrueConfListener;    // to work with SDK events
  5. Before calling the start method, you need to call the registerApp method and pass a subclass of Application to it, for example:

    ```plaintext
    public class TestApp extends Application {
        @Override
        public void onCreate() {
            super.onCreate();
            TrueConfSDK.getInstance().registerApp(this);
            TrueConfSDK.getInstance().start("server.name", true);
            ...
        }
    }
  6. You need to call the setFallbackActivity method, specifying the Activity class to return to when the call ends. For example:

    ```java
    public class MainActivity extends AppCompatActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            TrueConfSDK.getInstance().setFallbackActivity(MainActivity.class);
        ...
        }
    }
  7. In the manifest file, it is no longer necessary to include the activity com.vc.gui.activities.Call, com.vc.gui.activities.PermissionActivity, and the service com.vc.service.ExternalSchemeHelperService.

  8. Customization options have been expanded: you can now place your own video and the video of conference participants in a separate fragment, as well as change the size and coordinates of participants' video windows. Details are described in the documentation for example 7.

  9. Some changes in the methods, namely:

    • The Context parameter has been removed from the start method;

    • Added the registerApp method, where you need to specify a subclass of Application.

    • A method setFallbackActivity has been added, where you need to specify the Activity class to which the system should return when the call ends.

    • Methods for managing speakers have been added (muteSpeaker, isSpeakerMuted, setDefaultSpeakerEnabled, getAudioDevices, getCurrentAudioDevice, setAudioDevice);

    • onContactListUpdate - an event in TrueConfListener.UserStatusEventsCallback that occurs when the contact list and their statuses are loaded after the user logs into the server.

    • A new interface has been added - TrueConfListener.AudioDeviceCallback, which contains two methods: onAudioPairChanged (called when the output device is changed) and onAudioDeviceListChanged (called when the device list is changed);

    • Added methods setDefaultAudioEnabled and setDefaultCameraEnabled to set the default state of the microphone and camera, respectively;

    • The methods microphoneMuted and cameraMuted have been renamed to isMicrophoneMuted and isCameraMuted, respectively;

    • The trueConfSDKLogEnable flag, which enabled advanced SDK logging, has been removed (now they are always recorded). The startSavingLogs and stopSavingLogs methods have also been removed since logs are automatically collected in the ./files/logs subdirectory.