Revert "Fix bug #15001610 Java crash in settings is observed while adding Google account on wiped device"

This reverts commit 18d271c73b17c9eb5570689247415a1d70583894.

Change-Id: I04f89dbb13ad1db92276c91a7ee63d3a5dd33e62
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index ab5ee91..36e1904 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -518,7 +518,7 @@
      * entire activity.
      *
      * @param context The context.
-     * @param fragmentClass The class name of the fragment to display.
+     * @param fragmentName The name of the fragment to display.
      * @param args Optional arguments to supply to the fragment.
      * @param resultTo Option fragment that should receive the result of
      * the activity launch.
@@ -526,9 +526,9 @@
      * code in which to report the result.
      * @param title String to display for the title of this set of preferences.
      */
-    public static void startWithFragment(Context context, String fragmentClass, Bundle args,
+    public static void startWithFragment(Context context, String fragmentName, Bundle args,
             Fragment resultTo, int resultRequestCode, CharSequence title) {
-        Intent intent = onBuildStartFragmentIntent(context, fragmentClass, args, title);
+        Intent intent = onBuildStartFragmentIntent(context, fragmentName, args, title);
         if (resultTo == null) {
             context.startActivity(intent);
         } else {
@@ -542,17 +542,17 @@
      * appropriate arguments to display the fragment.
      *
      * @param context The Context.
-     * @param fragmentClass The class name of the fragment to display.
+     * @param fragmentName The name of the fragment to display.
      * @param args Optional arguments to supply to the fragment.
      * @param title Optional title to show for this item.
      * @return Returns an Intent that can be launched to display the given
      * fragment.
      */
-    public static Intent onBuildStartFragmentIntent(Context context, String fragmentClass,
+    public static Intent onBuildStartFragmentIntent(Context context, String fragmentName,
             Bundle args, CharSequence title) {
         Intent intent = new Intent(Intent.ACTION_MAIN);
         intent.setClass(context, SubSettings.class);
-        intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT, fragmentClass);
+        intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT, fragmentName);
         intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS, args);
         intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE, title);
         return intent;
diff --git a/src/com/android/settings/wifi/WifiPickerActivity.java b/src/com/android/settings/wifi/WifiPickerActivity.java
index e7ae462..deef8fa 100644
--- a/src/com/android/settings/wifi/WifiPickerActivity.java
+++ b/src/com/android/settings/wifi/WifiPickerActivity.java
@@ -16,7 +16,6 @@
 package com.android.settings.wifi;
 
 import com.android.settings.ButtonBarHandler;
-import com.android.settings.SettingsActivity;
 import com.android.settings.wifi.p2p.WifiP2pSettings;
 
 import android.app.Fragment;
@@ -25,7 +24,7 @@
 import android.preference.PreferenceActivity;
 import android.widget.Button;
 
-public class WifiPickerActivity extends SettingsActivity implements ButtonBarHandler {
+public class WifiPickerActivity extends PreferenceActivity implements ButtonBarHandler {
 
     // Same as what are in PreferenceActivity as private.
     private static final String EXTRA_PREFS_SHOW_BUTTON_BAR = "extra_prefs_show_button_bar";
@@ -40,6 +39,7 @@
         if (!modIntent.hasExtra(EXTRA_SHOW_FRAGMENT)) {
             modIntent.putExtra(EXTRA_SHOW_FRAGMENT, WifiSettings.class.getName());
         }
+        modIntent.putExtra(EXTRA_NO_HEADERS, true);
         return modIntent;
     }
 
@@ -52,14 +52,18 @@
     }
 
     /**
-     * Add additional codes for button bar handling.
+     * Almost dead copy of
+     * {@link PreferenceActivity#startWithFragment(String, Bundle, Fragment, int)}, except this has
+     * additional codes for button bar handling.
      */
-    public void startPreferencePanel(String fragmentClass, Bundle args, int titleRes,
-        CharSequence titleText, Fragment resultTo, int resultRequestCode) {
+    @Override
+    public void startWithFragment(String fragmentName, Bundle args,
+            Fragment resultTo, int resultRequestCode) {
         Intent intent = new Intent(Intent.ACTION_MAIN);
         intent.setClass(this, getClass());
-        intent.putExtra(EXTRA_SHOW_FRAGMENT, fragmentClass);
+        intent.putExtra(EXTRA_SHOW_FRAGMENT, fragmentName);
         intent.putExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS, args);
+        intent.putExtra(EXTRA_NO_HEADERS, true);
 
         final Intent orgIntent = getIntent();
         if (orgIntent.hasExtra(EXTRA_PREFS_SHOW_BUTTON_BAR)) {
@@ -83,8 +87,11 @@
                     orgIntent.getBooleanExtra(EXTRA_WIFI_SHOW_MENUS, true));
         }
 
-        super.startPreferencePanel(fragmentClass, args, titleRes, titleText, resultTo,
-                resultRequestCode);
+        if (resultTo == null) {
+            startActivity(intent);
+        } else {
+            resultTo.startActivityForResult(intent, resultRequestCode);
+        }
     }
 
     @Override