Skip to content

Commit c521f0e

Browse files
committed
#134: Sporadically ringing sound for incoming call isn't heard
1 parent c2c20e7 commit c521f0e

File tree

2 files changed

+20
-10
lines changed
  • restcomm.android.client.sdk/src/main/java/org/mobicents/restcomm/android/client/sdk
  • sipua/src/main/java/org/mobicents/restcomm/android/sipua/impl

2 files changed

+20
-10
lines changed

restcomm.android.client.sdk/src/main/java/org/mobicents/restcomm/android/client/sdk/RCDevice.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ public void run() {
278278
DeviceImpl.GetInstance().Shutdown();
279279
}
280280
};
281-
mainHandler.postDelayed(myRunnable, 2000);
281+
mainHandler.postDelayed(myRunnable, 500);
282282
}
283283
state = DeviceState.OFFLINE;
284284
}

sipua/src/main/java/org/mobicents/restcomm/android/sipua/impl/SoundManager.java

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ public void run() {
8787
int result = audioManager.requestAudioFocus(sm, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
8888
if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
8989
ringingPlayer.start();
90+
Log.i(TAG, "startRinging start()");
9091
}
9192
}
9293
};
@@ -100,16 +101,19 @@ public void stopRinging()
100101
Runnable myRunnable = new Runnable() {
101102
@Override
102103
public void run() {
103-
ringingPlayer.pause();
104-
// Abandon audio focus when playback complete
105-
audioManager.abandonAudioFocus(sm);
104+
if (ringingPlayer.isPlaying()) {
105+
ringingPlayer.pause();
106+
// Abandon audio focus when playback complete
107+
audioManager.abandonAudioFocus(sm);
108+
Log.i(TAG, "stopRinging pause()");
109+
}
106110
}
107111
};
108112
mainHandler.post(myRunnable);
109113
}
110114
public void startCalling()
111115
{
112-
if (outgoingOn == false) {
116+
if (!outgoingOn) {
113117
return;
114118
}
115119

@@ -122,6 +126,7 @@ public void run() {
122126
int result = audioManager.requestAudioFocus(sm, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
123127
if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
124128
callingPlayer.start();
129+
Log.i(TAG, "startCalling start()");
125130
}
126131
}
127132
};
@@ -135,16 +140,19 @@ public void stopCalling()
135140
Runnable myRunnable = new Runnable() {
136141
@Override
137142
public void run() {
138-
callingPlayer.pause();
139-
// Abandon audio focus when playback complete
140-
audioManager.abandonAudioFocus(sm);
143+
if (callingPlayer.isPlaying()) {
144+
callingPlayer.pause();
145+
// Abandon audio focus when playback complete
146+
audioManager.abandonAudioFocus(sm);
147+
Log.i(TAG, "stopCalling pause()");
148+
}
141149
}
142150
};
143151
mainHandler.post(myRunnable);
144152
}
145153
public void incomingMessage()
146154
{
147-
if (incomingOn == false) {
155+
if (!incomingOn) {
148156
return;
149157
}
150158

@@ -157,6 +165,7 @@ public void run() {
157165
int result = audioManager.requestAudioFocus(sm, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
158166
if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
159167
messagePlayer.start();
168+
Log.i(TAG, "incomingMessage start()");
160169
}
161170
}
162171
};
@@ -165,7 +174,7 @@ public void run() {
165174

166175
public void outgoingMessage()
167176
{
168-
if (outgoingOn == false) {
177+
if (!outgoingOn) {
169178
return;
170179
}
171180

@@ -178,6 +187,7 @@ public void run() {
178187
int result = audioManager.requestAudioFocus(sm, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
179188
if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
180189
messagePlayer.start();
190+
Log.i(TAG, "outgoingMessage start()");
181191
}
182192
}
183193
};

0 commit comments

Comments
 (0)