summaryrefslogtreecommitdiff
path: root/android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/AudioStreamManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/AudioStreamManager.java')
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/AudioStreamManager.java38
1 files changed, 23 insertions, 15 deletions
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/AudioStreamManager.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/AudioStreamManager.java
index f7cc7b7a5..52b4db580 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/AudioStreamManager.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/audio/AudioStreamManager.java
@@ -40,6 +40,7 @@ import android.os.Handler;
import android.os.Looper;
import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
+import androidx.annotation.RestrictTo;
import com.smartdevicelink.SdlConnection.SdlSession;
import com.smartdevicelink.managers.CompletionListener;
@@ -185,6 +186,7 @@ public class AudioStreamManager extends BaseAudioStreamManager {
* Creates a new object of AudioStreamManager
* @param internalInterface The internal interface to the connected device.
*/
+ @RestrictTo(RestrictTo.Scope.LIBRARY)
public AudioStreamManager(@NonNull ISdl internalInterface, @NonNull Context context) {
super(internalInterface);
this.queue = new LinkedList<>();
@@ -218,25 +220,28 @@ public class AudioStreamManager extends BaseAudioStreamManager {
}
private void getAudioStreamingCapabilities(){
- internalInterface.getCapability(SystemCapabilityType.PCM_STREAMING, new OnSystemCapabilityListener() {
- @Override
- public void onCapabilityRetrieved(Object capability) {
- if(capability != null && capability instanceof AudioPassThruCapabilities){
- audioStreamingCapabilities = (AudioPassThruCapabilities) capability;
- checkState();
+ if (internalInterface.getSystemCapabilityManager() != null) {
+ internalInterface.getSystemCapabilityManager().getCapability(SystemCapabilityType.PCM_STREAMING, new OnSystemCapabilityListener() {
+ @Override
+ public void onCapabilityRetrieved(Object capability) {
+ if (capability != null && capability instanceof AudioPassThruCapabilities) {
+ audioStreamingCapabilities = (AudioPassThruCapabilities) capability;
+ checkState();
+ }
}
- }
- @Override
- public void onError(String info) {
- DebugTool.logError(TAG, "Error retrieving audio streaming capability: " + info);
- streamingStateMachine.transitionToState(StreamingStateMachine.ERROR);
- transitionToState(ERROR);
- }
- });
+ @Override
+ public void onError(String info) {
+ DebugTool.logError(TAG, "Error retrieving audio streaming capability: " + info);
+ streamingStateMachine.transitionToState(StreamingStateMachine.ERROR);
+ transitionToState(ERROR);
+ }
+ }, false);
+ }
}
@Override
+ @RestrictTo(RestrictTo.Scope.LIBRARY)
public void dispose() {
stopAudioStream(new CompletionListener() {
@Override
@@ -268,7 +273,10 @@ public class AudioStreamManager extends BaseAudioStreamManager {
return;
}
- AudioPassThruCapabilities capabilities = (AudioPassThruCapabilities) internalInterface.getCapability(SystemCapabilityType.PCM_STREAMING);
+ AudioPassThruCapabilities capabilities = null;
+ if (internalInterface.getSystemCapabilityManager() != null) {
+ capabilities = (AudioPassThruCapabilities) internalInterface.getSystemCapabilityManager().getCapability(SystemCapabilityType.PCM_STREAMING, null, false);
+ }
if (capabilities != null) {
switch (capabilities.getSamplingRate()) {