diff options
Diffstat (limited to 'pjsip-apps/src')
3 files changed, 14 insertions, 7 deletions
diff --git a/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/CallActivity.java b/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/CallActivity.java index 48e1bad3..aa749002 100644 --- a/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/CallActivity.java +++ b/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/CallActivity.java @@ -83,8 +83,6 @@ public class CallActivity extends Activity implements Handler.Callback { } catch (Exception e) { System.out.println(e); } - - MainActivity.currentCall = null; } } @@ -136,7 +134,6 @@ public class CallActivity extends Activity implements Handler.Callback { } else if (ci.getState() == pjsip_inv_state.PJSIP_INV_STATE_DISCONNECTED) { buttonHangup.setText("OK"); call_state = "Call disconnected: " + ci.getLastReason(); - MainActivity.currentCall = null; } } diff --git a/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/MainActivity.java b/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/MainActivity.java index d0ea68a7..89731839 100644 --- a/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/MainActivity.java +++ b/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/MainActivity.java @@ -173,9 +173,6 @@ public class MainActivity extends Activity implements Handler.Callback, MyAppObs m2.sendToTarget(); } - if (ci.getState() == pjsip_inv_state.PJSIP_INV_STATE_DISCONNECTED) - currentCall = null; - } else if (m.what == MSG_TYPE.BUDDY_STATE) { MyBuddy buddy = (MyBuddy) m.obj; @@ -339,7 +336,7 @@ public class MainActivity extends Activity implements Handler.Callback, MyAppObs try { call.makeCall(buddy_uri, prm); } catch (Exception e) { - currentCall = null; + call.delete(); return; } diff --git a/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/MyApp.java b/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/MyApp.java index 24cea9b9..cb083ffc 100644 --- a/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/MyApp.java +++ b/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/MyApp.java @@ -48,6 +48,15 @@ class MyCall extends Call { @Override public void onCallState(OnCallStateParam prm) { MyApp.observer.notifyCallState(this); + try { + CallInfo ci = getInfo(); + if (ci.getState() == pjsip_inv_state.PJSIP_INV_STATE_DISCONNECTED) { + this.delete(); + MainActivity.currentCall = null; + } + } catch (Exception e) { + return; + } } @Override @@ -100,6 +109,7 @@ class MyAccount extends Account { try { bud.create(this, bud_cfg); } catch (Exception e) { + bud.delete(); bud = null; } @@ -116,10 +126,13 @@ class MyAccount extends Account { public void delBuddy(MyBuddy buddy) { buddyList.remove(buddy); + buddy.delete(); } public void delBuddy(int index) { + MyBuddy bud = buddyList.get(index); buddyList.remove(index); + bud.delete(); } @Override |