Changeset 4840


Ignore:
Timestamp:
May 9, 2014 8:47:06 AM (11 years ago)
Author:
bennylp
Message:

Re #1768: Fixed problems with Java garbage collection on call and buddy object

Location:
pjproject/trunk/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/CallActivity.java

    r4704 r4840  
    8484                                System.out.println(e); 
    8585                        } 
    86  
    87                         MainActivity.currentCall = null; 
    8886                } 
    8987        } 
     
    137135                                buttonHangup.setText("OK"); 
    138136                                call_state = "Call disconnected: " + ci.getLastReason(); 
    139                                 MainActivity.currentCall = null; 
    140137                        } 
    141138                } 
  • pjproject/trunk/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/MainActivity.java

    r4734 r4840  
    173173                                m2.sendToTarget(); 
    174174                        } 
    175                          
    176                         if (ci.getState() == pjsip_inv_state.PJSIP_INV_STATE_DISCONNECTED) 
    177                                 currentCall = null; 
    178175                         
    179176                } else if (m.what == MSG_TYPE.BUDDY_STATE) { 
     
    340337                        call.makeCall(buddy_uri, prm); 
    341338                } catch (Exception e) { 
    342                         currentCall = null; 
     339                        call.delete(); 
    343340                        return; 
    344341                } 
  • pjproject/trunk/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/MyApp.java

    r4734 r4840  
    4949        public void onCallState(OnCallStateParam prm) { 
    5050                MyApp.observer.notifyCallState(this); 
     51                try { 
     52                        CallInfo ci = getInfo(); 
     53                        if (ci.getState() == pjsip_inv_state.PJSIP_INV_STATE_DISCONNECTED) { 
     54                                this.delete(); 
     55                                MainActivity.currentCall = null; 
     56                        } 
     57                } catch (Exception e) { 
     58                        return; 
     59                } 
    5160        } 
    5261         
     
    101110                        bud.create(this, bud_cfg); 
    102111                } catch (Exception e) { 
     112                        bud.delete(); 
    103113                        bud = null; 
    104114                } 
     
    117127        public void delBuddy(MyBuddy buddy) { 
    118128                buddyList.remove(buddy); 
     129                buddy.delete(); 
    119130        } 
    120131         
    121132        public void delBuddy(int index) { 
     133                MyBuddy bud = buddyList.get(index); 
    122134                buddyList.remove(index); 
     135                bud.delete(); 
    123136        } 
    124137         
Note: See TracChangeset for help on using the changeset viewer.