Skip to content

Commit d96e16e

Browse files
committed
Fixes #102: With the latest changes for webrtc, if Messenger starts without Wifi, it crashes. Fixes #103: Implement mute for webrtc audio. Fixes #104: Minor UI enhancements in the call activity
1 parent 0eb55f3 commit d96e16e

File tree

4 files changed

+40
-15
lines changed

4 files changed

+40
-15
lines changed

Examples/restcomm-messenger/app/src/main/java/com/telestax/restcomm_messenger/MainActivity.java

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import android.content.res.Configuration;
1010
import android.media.AudioManager;
1111
import android.media.MediaPlayer;
12+
import android.net.wifi.WifiManager;
1213
import android.os.Bundle;
1314
import android.preference.PreferenceManager;
1415
import android.view.Menu;
@@ -88,7 +89,6 @@ public void onError(Exception exception) {
8889

8990
// preferences
9091
prefs.registerOnSharedPreferenceChangeListener(this);
91-
initializeSipFromPreferences();
9292

9393
txtUri.setText("sip:[email protected]:5080");
9494
//txtUri.setText("sip:[email protected]:5080");
@@ -118,10 +118,16 @@ public void onPrepared(MediaPlayer mp)
118118
// UI Events
119119
public void onClick(View view) {
120120
if (view.getId() == R.id.button_dial) {
121-
Intent intent = new Intent(this, CallActivity.class);
122-
intent.setAction(RCDevice.OUTGOING_CALL);
123-
intent.putExtra(RCDevice.EXTRA_DID, txtUri.getText().toString());
124-
startActivityForResult(intent, CONNECTION_REQUEST);
121+
WifiManager wifi = (WifiManager) getSystemService(WIFI_SERVICE);
122+
if (wifi.isWifiEnabled()) {
123+
Intent intent = new Intent(this, CallActivity.class);
124+
intent.setAction(RCDevice.OUTGOING_CALL);
125+
intent.putExtra(RCDevice.EXTRA_DID, txtUri.getText().toString());
126+
startActivityForResult(intent, CONNECTION_REQUEST);
127+
}
128+
else {
129+
showOkAlert("No Connectivity", "No network connectivity");
130+
}
125131
}
126132
else if (view.getId() == R.id.button_register) {
127133
device.updateParams(params);
@@ -259,6 +265,9 @@ protected void onResume() {
259265
// The activity has become visible (it is now "resumed").
260266
Log.i(TAG, "%% onResume");
261267
Intent intent = getIntent();
268+
269+
initializeSipFromPreferences();
270+
262271
// If reason for resume is that we got an intent designating either an incoming call or message
263272
if (intent.getAction() == RCDevice.INCOMING_CALL) {
264273
ArrayList<RCDevice> list = RCClient.getInstance().listDevices();

Examples/restcomm-messenger/app/src/main/res/layout/activity_call.xml

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,19 @@
1515
android:layout_alignParentLeft="true"
1616
android:layout_alignParentStart="true"
1717
android:layout_marginBottom="61dp"
18-
android:minWidth="100dp" />
18+
android:minWidth="100dp"
19+
android:layout_marginLeft="10dp" />
1920

2021
<Button
2122
android:layout_width="wrap_content"
2223
android:layout_height="wrap_content"
2324
android:text="Answer"
2425
android:id="@+id/button_answer"
26+
android:minWidth="100dp"
2527
android:layout_alignParentBottom="true"
26-
android:layout_alignParentRight="true"
2728
android:layout_alignParentEnd="true"
28-
android:minWidth="100dp" />
29+
android:layout_marginBottom="10dp"
30+
android:layout_marginRight="10dp" />
2931

3032
<Button
3133
android:layout_width="wrap_content"
@@ -35,17 +37,19 @@
3537
android:layout_alignParentBottom="true"
3638
android:layout_alignParentLeft="true"
3739
android:layout_alignParentStart="true"
38-
android:minWidth="100dp" />
40+
android:minWidth="100dp"
41+
android:layout_marginLeft="10dp"
42+
android:layout_marginBottom="10dp" />
3943

4044
<Button
4145
android:layout_width="wrap_content"
4246
android:layout_height="wrap_content"
4347
android:text="Cancel"
4448
android:id="@+id/button_cancel"
49+
android:minWidth="100dp"
50+
android:layout_marginRight="10dp"
4551
android:layout_alignTop="@+id/button_hangup"
46-
android:layout_alignParentRight="true"
47-
android:layout_alignParentEnd="true"
48-
android:minWidth="100dp" />
52+
android:layout_alignStart="@+id/button_answer" />
4953

5054
<CheckBox
5155
android:layout_width="wrap_content"
@@ -55,6 +59,7 @@
5559
android:layout_below="@+id/button_register"
5660
android:layout_alignParentLeft="true"
5761
android:layout_alignParentStart="true"
58-
android:layout_marginTop="17dp" />
62+
android:layout_marginTop="17dp"
63+
android:layout_marginLeft="10dp" />
5964

6065
</RelativeLayout>

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,14 @@ private void setMicrophoneMute(boolean on) {
302302
audioManager.setMicrophoneMute(on);
303303
}
304304

305+
public void setMute(boolean on) {
306+
audioManager.setMicrophoneMute(on);
307+
}
308+
309+
public boolean getMute() {
310+
return audioManager.isMicrophoneMute();
311+
}
312+
305313
/** Gets the current earpiece state. */
306314
private boolean hasEarpiece() {
307315
return apprtcContext.getPackageManager().hasSystemFeature(

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import android.opengl.GLSurfaceView;
2929
import android.os.Handler;
3030
import android.util.Log;
31+
import android.view.Gravity;
3132
import android.widget.Toast;
3233
import java.util.HashMap;
3334
import java.util.LinkedList;
@@ -300,7 +301,8 @@ public void disconnect()
300301
*/
301302
public void setMuted(boolean muted)
302303
{
303-
DeviceImpl.GetInstance().Mute(muted);
304+
audioManager.setMute(muted);
305+
//DeviceImpl.GetInstance().Mute(muted);
304306
}
305307

306308
/**
@@ -309,7 +311,7 @@ public void setMuted(boolean muted)
309311
*/
310312
public boolean isMuted()
311313
{
312-
return false;
314+
return audioManager.getMute();
313315
}
314316

315317
/**
@@ -693,6 +695,7 @@ private void logAndToast(String msg) {
693695
logToast.cancel();
694696
}
695697
logToast = Toast.makeText(RCClient.getInstance().context, msg, Toast.LENGTH_SHORT);
698+
logToast.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.CENTER_VERTICAL, 0, 0);
696699
logToast.show();
697700
}
698701

0 commit comments

Comments
 (0)