Fix the re-entrance of VpnSetting issue.

bug:3292801
Change-Id: I77c57d789754f175ce9e43ad77ff2edb711c2316
diff --git a/src/com/android/settings/vpn/VpnSettings.java b/src/com/android/settings/vpn/VpnSettings.java
index 0587619..960d37e 100644
--- a/src/com/android/settings/vpn/VpnSettings.java
+++ b/src/com/android/settings/vpn/VpnSettings.java
@@ -190,30 +190,38 @@
         // 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();
         }