Fix VPN settings flow.

Bug: 3053019
diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java
index 41ff87f..3c771f5 100644
--- a/src/com/android/settings/SettingsPreferenceFragment.java
+++ b/src/com/android/settings/SettingsPreferenceFragment.java
@@ -64,49 +64,11 @@
     private Button mNextButton;
 
     @Override
-    public void onResume() {
-        super.onResume();
-
-        final Fragment f = getTargetFragment();
-        final int requestCode = getTargetRequestCode();
-
-        // TargetFragment becomes invalid when this object is resumed. Notify it to
-        // FragmentManager. Without this code, FragmentManager wrongly take the TargetFragment
-        // as live, and throws IllegalStateException.
-        setTargetFragment(null, -1);
-
-        if (f != null && (f instanceof SettingsPreferenceFragment)) {
-            final SettingsPreferenceFragment spf = (SettingsPreferenceFragment)f;
-            final int resultCode = spf.getResultCode();
-            final Intent resultData = spf.getResultData();
-            onActivityResult(requestCode, resultCode, resultData);
-        }
-    }
-
-    @Override
     public void onActivityCreated(Bundle savedInstanceState) {
         super.onActivityCreated(savedInstanceState);
         setupButtonBar();
     }
 
-    public final void setResult(int resultCode) {
-        mResultCode = resultCode;
-        mResultData = null;
-    }
-
-    public final void setResult(int resultCode, Intent data) {
-        mResultCode = resultCode;
-        mResultData = data;
-    }
-
-    public final int getResultCode() {
-        return mResultCode;
-    }
-
-    public final Intent getResultData() {
-        return mResultData;
-    }
-
     /*
      * The name is intentionally made different from Activity#finish(), so that
      * users won't misunderstand its meaning.
@@ -196,9 +158,8 @@
             Fragment caller, String fragmentClass, int requestCode, Bundle extras) {
         if (getActivity() instanceof PreferenceActivity) {
             PreferenceActivity preferenceActivity = (PreferenceActivity)getActivity();
-            Fragment f = Fragment.instantiate(getActivity(), fragmentClass, extras);
-            caller.setTargetFragment(f, requestCode);
-            preferenceActivity.switchToHeader(fragmentClass, extras);
+            preferenceActivity.startPreferencePanel(fragmentClass, extras, 0, null, caller,
+                    requestCode);
             return true;
         } else {
             Log.w(TAG, "Parent isn't PreferenceActivity, thus there's no way to launch the "