start
Needs to be called before calling / using any of this class' methods.
Before calling this method, external storage permission must be granted (a com.swarovskioptik.comm.sdk.exception.PermissionNotGrantedException error will be emitted if not granted):
for devices targeting Android 13 or higher (Build.VERSION.SDK_INT>= 33), READ_MEDIA_IMAGES as well as READ_MEDIA_VIDEO need to be granted. This is also dependent on the MediaTypes passed at the .mediaType() method in the Builder that created this instance. So, if this MediaClient should handle Pictures and Videos, both permissions need to be granted. If only one MediaType was passed there, only the respective permission needs to be granted here.
for apps not targeting Android 13 but installed on devices running Android 11 and newer (Build.VERSION.SDK_INT>= 30), READ_EXTERNAL_STORAGE needs to be granted
for apps targeting Android 10 or higher (API Level >= 29), the ACCESS_MEDIA_LOCATION permission needs to be granted
for devices running any older version than SDK 30 (Android 10 and below), both READ_EXTERNAL_STORAGE and WRITE_EXTERNAL_STORAGE need to be granted
Note that calling this methods does not require an active connection to a remote device. The SOCommMediaClient will subscribe to the respective topics when there is a connection available (via the given com.swarovskioptik.comm.SOCommOutsideAPI). So you are still responsible to handle the connection (i.e. connect to the remote device), but if there is a connection alive with the given com.swarovskioptik.comm.SOCommOutsideAPI, then this SOCommMediaClient will automatically use the respective contexts / do its work.
Scheduler: The returned Completable will operate on the IO Scheduler.
Return
a Completable which completes once the initialization of this manager is done.