# Changes between SDK versions for Android

# What has changed in version 3.0.0 compared to 2.2.0

  1. Methods are now grouped by different interfaces:

  2. IServerManager

  3. IConferenceManager

  4. IChatManager

  5. IContactsManager

  6. IVisicallManager

  7. IVideoDeviceController

  8. IAudioDeviceController

  9. IExtraButtonController

  10. ICallScreenController

For example, it was:

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

Changed to:

TrueConfSDK.getConferenceManager().joinConf(confId);
TrueConfSDK.getServerManager().logout();

2. Significant changes have been made to audio management:

  • methods isSpeakerMuted, getAudioDevices, onAudioPairChanged have been removed;

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

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

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

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

3. Changes in video management:

  • added the onVideoDeviceUpdate method to notify about camera status changes;

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

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

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

Changed to:

com.trueconf.sdk.presentation.views.TCExtraButton
com.trueconf.sdk.TrueConfListener
com.trueconf.sdk.presentation.activities.CallCast

5. The onStateChanged method received the FSM.State newState parameter, 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:

  • Instead of ic_selfie_icon, ic_rotate is now used. 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 for changing the button background.

See the full list in Example 5 "Interface Customization".

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

8. The SDK now includes updated libraries OpenSSL 1.1.1w and SQLite 3.47.0.

9. Drag-and-drop support for personal video on the conference screen is enabled.

10. The versions of some dependencies required for the SDK have been updated. The full list is provided in the Integration with Android Studio section.

# What has changed in version 2.2.0 compared to 1.3.3

  1. The Android SDK is now distributed through a Maven repository, accessible via a login and password provided upon request through your manager. You need to add the Maven repository to the repositories section in 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 dependencies 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 must call the registerApp method and pass a subclass of Application to it, for example:

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, where you should specify the Activity class to return to when the call ends, for example:

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

8. Customization features have been expanded: it is now possible to place your own video and conference participant videos in a separate Fragment, as well as to change the sizes and coordinates of the video layout for participants. Details are described in the documentation for example 7.

9. Some changes in the methods, namely:

  • In the start method, the Context parameter has been removed.

  • Added the registerApp method, where a subclass of Application must be specified;

  • Added the setFallbackActivity method, where you need to specify the Activity class to return to when the call ends;

  • Added methods for managing speakers (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 in to the server;

  • A new interface has been added - TrueConfListener.AudioDeviceCallback, which contains 2 methods - onAudioPairChanged (invoked when the output device changes) and onAudioDeviceListChanged (invoked when the list of devices changes);

  • 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 detailed SDK logs, has been removed (they are now always recorded). Additionally, the methods startSavingLogs and stopSavingLogs have been removed, as logs are automatically collected in the ./files/logs subdirectory.