DataConnectionTracker cleanup when disposed.
Change-Id: I4db442ae110531f33280ceb626fc260d392a1bd5
This commit is contained in:
committed by
Wink Saville
parent
e7cedad2b8
commit
3bbe33d703
@@ -247,6 +247,9 @@ public abstract class DataConnectionTracker extends Handler {
|
||||
/* Currently active APN */
|
||||
protected ApnSetting mActiveApn;
|
||||
|
||||
/* Once disposed dont handle any messages */
|
||||
protected boolean mIsDisposed = false;
|
||||
|
||||
protected BroadcastReceiver mIntentReceiver = new BroadcastReceiver ()
|
||||
{
|
||||
@Override
|
||||
@@ -327,6 +330,7 @@ public abstract class DataConnectionTracker extends Handler {
|
||||
}
|
||||
|
||||
public void dispose() {
|
||||
mIsDisposed = true;
|
||||
mPhone.getContext().unregisterReceiver(this.mIntentReceiver);
|
||||
}
|
||||
|
||||
|
||||
@@ -118,6 +118,8 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker {
|
||||
|
||||
@Override
|
||||
public void dispose() {
|
||||
cleanUpConnection(false, null);
|
||||
|
||||
super.dispose();
|
||||
|
||||
// Unregister from all events
|
||||
@@ -861,7 +863,7 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker {
|
||||
@Override
|
||||
public void handleMessage (Message msg) {
|
||||
|
||||
if (!mPhone.mIsTheCurrentActivePhone) {
|
||||
if (!mPhone.mIsTheCurrentActivePhone || mIsDisposed) {
|
||||
log("Ignore CDMA msgs since CDMA phone is inactive");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -192,6 +192,8 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
|
||||
|
||||
@Override
|
||||
public void dispose() {
|
||||
cleanUpAllConnections(false, null);
|
||||
|
||||
super.dispose();
|
||||
|
||||
//Unregister for all events
|
||||
@@ -1791,7 +1793,7 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
|
||||
public void handleMessage (Message msg) {
|
||||
if (DBG) log("GSMDataConnTrack handleMessage "+msg);
|
||||
|
||||
if (!mPhone.mIsTheCurrentActivePhone) {
|
||||
if (!mPhone.mIsTheCurrentActivePhone || mIsDisposed) {
|
||||
log("Ignore GSM msgs since GSM phone is inactive");
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user