Fix the re-entrance of VpnSetting issue.

bug:3292801
Change-Id: I77c57d789754f175ce9e43ad77ff2edb711c2316
This commit is contained in:
Chung-yih Wang
2011-01-14 16:53:36 +08:00
parent 6f8fb43617
commit a256b7c3b4

View File

@@ -190,30 +190,38 @@ public class VpnSettings extends SettingsPreferenceFragment
// for long-press gesture on a profile preference
registerForContextMenu(getListView());
// listen to vpn connectivity event
mVpnManager.registerConnectivityReceiver(mConnectivityReceiver);
retrieveVpnListFromStorage();
checkVpnConnectionStatusInBackground();
restoreInstanceState(savedInstanceState);
}
@Override
public void onPause() {
// ignore vpn connectivity event
mVpnManager.unregisterConnectivityReceiver(mConnectivityReceiver);
super.onPause();
}
@Override
public void onResume() {
super.onResume();
if (DEBUG)
Log.d(TAG, "onResume");
// listen to vpn connectivity event
mVpnManager.registerConnectivityReceiver(mConnectivityReceiver);
if ((mUnlockAction != null) && isKeyStoreUnlocked()) {
Runnable action = mUnlockAction;
mUnlockAction = null;
getActivity().runOnUiThread(action);
}
checkVpnConnectionStatusInBackground();
}
@Override
public void onDestroyView() {
unregisterForContextMenu(getListView());
mVpnManager.unregisterConnectivityReceiver(mConnectivityReceiver);
if ((mShowingDialog != null) && mShowingDialog.isShowing()) {
mShowingDialog.dismiss();
}