Merge "Fix memory leak in ApnSettings-activity"
This commit is contained in:
@@ -81,6 +81,7 @@ public class ApnSettings extends PreferenceActivity implements
|
|||||||
|
|
||||||
private RestoreApnUiHandler mRestoreApnUiHandler;
|
private RestoreApnUiHandler mRestoreApnUiHandler;
|
||||||
private RestoreApnProcessHandler mRestoreApnProcessHandler;
|
private RestoreApnProcessHandler mRestoreApnProcessHandler;
|
||||||
|
private HandlerThread mRestoreDefaultApnThread;
|
||||||
|
|
||||||
private String mSelectedKey;
|
private String mSelectedKey;
|
||||||
|
|
||||||
@@ -145,6 +146,15 @@ public class ApnSettings extends PreferenceActivity implements
|
|||||||
unregisterReceiver(mMobileStateReceiver);
|
unregisterReceiver(mMobileStateReceiver);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
super.onDestroy();
|
||||||
|
|
||||||
|
if (mRestoreDefaultApnThread != null) {
|
||||||
|
mRestoreDefaultApnThread.quit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void fillList() {
|
private void fillList() {
|
||||||
String where = "numeric=\""
|
String where = "numeric=\""
|
||||||
+ android.os.SystemProperties.get(TelephonyProperties.PROPERTY_ICC_OPERATOR_NUMERIC, "")
|
+ android.os.SystemProperties.get(TelephonyProperties.PROPERTY_ICC_OPERATOR_NUMERIC, "")
|
||||||
@@ -273,12 +283,13 @@ public class ApnSettings extends PreferenceActivity implements
|
|||||||
mRestoreApnUiHandler = new RestoreApnUiHandler();
|
mRestoreApnUiHandler = new RestoreApnUiHandler();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mRestoreApnProcessHandler == null) {
|
if (mRestoreApnProcessHandler == null ||
|
||||||
HandlerThread restoreDefaultApnThread = new HandlerThread(
|
mRestoreDefaultApnThread == null) {
|
||||||
|
mRestoreDefaultApnThread = new HandlerThread(
|
||||||
"Restore default APN Handler: Process Thread");
|
"Restore default APN Handler: Process Thread");
|
||||||
restoreDefaultApnThread.start();
|
mRestoreDefaultApnThread.start();
|
||||||
mRestoreApnProcessHandler = new RestoreApnProcessHandler(
|
mRestoreApnProcessHandler = new RestoreApnProcessHandler(
|
||||||
restoreDefaultApnThread.getLooper(), mRestoreApnUiHandler);
|
mRestoreDefaultApnThread.getLooper(), mRestoreApnUiHandler);
|
||||||
}
|
}
|
||||||
|
|
||||||
mRestoreApnProcessHandler
|
mRestoreApnProcessHandler
|
||||||
|
Reference in New Issue
Block a user