Skip to content

Commit 73ed7de

Browse files
committed
Fixes #166: Fix NPE on onSharedPreferenceChanged
1 parent 202d7ad commit 73ed7de

File tree

2 files changed

+4
-8
lines changed
  • Examples/restcomm-messenger/app/src/main/java/com/telestax/restcomm_messenger
  • restcomm.android.client.sdk/src/main/java/org/mobicents/restcomm/android/client/sdk

2 files changed

+4
-8
lines changed

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ public class MainActivity extends Activity implements RCDeviceListener,
4949
protected void onCreate(Bundle savedInstanceState) {
5050
super.onCreate(savedInstanceState);
5151
setContentView(R.layout.activity_main);
52+
Log.i(TAG, "%% onCreate");
5253

5354
// initialize UI
5455
btnRegister = (Button)findViewById(R.id.button_register);
@@ -138,6 +139,7 @@ protected void onDestroy() {
138139
Log.i(TAG, "%% onDestroy");
139140
RCClient.shutdown();
140141
device = null;
142+
prefs.unregisterOnSharedPreferenceChangeListener(this);
141143
}
142144

143145
@Override

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

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -149,14 +149,6 @@ protected RCDevice(HashMap<String, Object> parameters, RCDeviceListener deviceLi
149149
state = DeviceState.OFFLINE;
150150

151151
// register broadcast receiver for reachability
152-
/*
153-
BroadcastReceiver networkStateReceiver = new BroadcastReceiver() {
154-
@Override
155-
public void onReceive(Context context, Intent intent) {
156-
onReachabilityChanged(checkReachability());
157-
}
158-
};
159-
*/
160152
Context context = RCClient.getContext();
161153
IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
162154
context.registerReceiver(this, filter);
@@ -226,6 +218,7 @@ public void run() {
226218
if (newState == ReachabilityState.REACHABILITY_NONE && state != DeviceState.OFFLINE) {
227219
Log.w(TAG, "Reachability changed; no connectivity");
228220
// TODO: here we need to unregister before shutting down, but for that we need to wait for the unREGISTER reply, which complicates things
221+
//DeviceImpl.GetInstance().Unregister();
229222
DeviceImpl.GetInstance().Shutdown();
230223
sipProfile = null;
231224
state = DeviceState.OFFLINE;
@@ -239,6 +232,7 @@ public void run() {
239232
if (state != DeviceState.OFFLINE) {
240233
Log.w(TAG, "Reachability action: wifi/mobile available from movile/wifi. Device state: " + state);
241234
// stop JAIN
235+
//DeviceImpl.GetInstance().Unregister();
242236
DeviceImpl.GetInstance().Shutdown();
243237
sipProfile = null;
244238
state = DeviceState.OFFLINE;

0 commit comments

Comments
 (0)