[Setup] Use SetupWizardLayout

Use SetupWizardLayout for the screens that show in Settings to get
better visual consistency and new features like showing a progress
bar in list view.

Bug: 19594252
Change-Id: I53ab17a4c2d922a362e3762f1cdccb512f7d8f6e
diff --git a/src/com/android/settings/SetupChooseLockGeneric.java b/src/com/android/settings/SetupChooseLockGeneric.java
index f2da8cc..82157c0 100644
--- a/src/com/android/settings/SetupChooseLockGeneric.java
+++ b/src/com/android/settings/SetupChooseLockGeneric.java
@@ -16,8 +16,10 @@
 
 package com.android.settings;
 
-import com.android.setupwizard.navigationbar.SetupWizardNavBar;
+import com.android.setupwizardlib.SetupWizardListLayout;
+import com.android.setupwizardlib.view.NavigationBar;
 
+import android.app.Activity;
 import android.app.admin.DevicePolicyManager;
 import android.content.Context;
 import android.content.Intent;
@@ -37,8 +39,7 @@
  * Other changes should be done to ChooseLockGeneric class instead and let this class inherit
  * those changes.
  */
-public class SetupChooseLockGeneric extends ChooseLockGeneric
-        implements SetupWizardNavBar.NavigationBarListener {
+public class SetupChooseLockGeneric extends ChooseLockGeneric {
 
     @Override
     protected boolean isValidFragment(String fragmentName) {
@@ -56,33 +57,16 @@
         super.onApplyThemeResource(theme, resid, first);
     }
 
-    @Override
-    public void onNavigationBarCreated(SetupWizardNavBar bar) {
-        SetupWizardUtils.setImmersiveMode(this);
-        bar.getNextButton().setEnabled(false);
-    }
-
-    @Override
-    public void onNavigateBack() {
-        onBackPressed();
-    }
-
-    @Override
-    public void onNavigateNext() {
-    }
-
-    public static class SetupChooseLockGenericFragment extends ChooseLockGenericFragment {
+    public static class SetupChooseLockGenericFragment extends ChooseLockGenericFragment
+            implements NavigationBar.NavigationBarListener {
 
         @Override
         public View onCreateView(LayoutInflater inflater, ViewGroup container,
                 Bundle savedInstanceState) {
-            final View view = inflater.inflate(R.layout.setup_preference, container, false);
-            ListView list = (ListView) view.findViewById(android.R.id.list);
-            View title = view.findViewById(R.id.title);
-            if (title == null) {
-                final View header = inflater.inflate(R.layout.setup_wizard_header, list, false);
-                list.addHeaderView(header, null, false);
-            }
+            final SetupWizardListLayout layout = (SetupWizardListLayout) inflater.inflate(
+                    R.layout.setup_choose_lock_generic, container, false);
+            layout.setHeaderText(getActivity().getTitle());
+            ListView list = layout.getListView();
             final FingerprintManager fpm = (FingerprintManager)
                     getActivity().getSystemService(Context.FINGERPRINT_SERVICE);
             if (fpm != null && fpm.isHardwareDetected()) {
@@ -90,15 +74,18 @@
                         R.layout.setup_screen_lock_fingerprint_details, list, false);
                 list.addFooterView(footer, null, false);
             }
-            return view;
+
+            final NavigationBar navigationBar = layout.getNavigationBar();
+            navigationBar.getNextButton().setEnabled(false);
+            navigationBar.setNavigationBarListener(this);
+
+            return layout;
         }
 
         @Override
         public void onViewCreated(View view, Bundle savedInstanceState) {
             super.onViewCreated(view, savedInstanceState);
-            SetupWizardUtils.setIllustration(getActivity(),
-                    R.drawable.setup_illustration_lock_screen);
-            SetupWizardUtils.setHeaderText(getActivity(), getActivity().getTitle());
+            SetupWizardUtils.setImmersiveMode(getActivity());
         }
 
         @Override
@@ -192,5 +179,17 @@
             SetupWizardUtils.copySetupExtras(getActivity().getIntent(), intent);
             return intent;
         }
+
+        @Override
+        public void onNavigateBack() {
+            Activity activity = getActivity();
+            if (activity != null) {
+                activity.onBackPressed();
+            }
+        }
+
+        @Override
+        public void onNavigateNext() {
+        }
     }
 }
diff --git a/src/com/android/settings/SetupChooseLockPassword.java b/src/com/android/settings/SetupChooseLockPassword.java
index 461b67c..6f384a4 100644
--- a/src/com/android/settings/SetupChooseLockPassword.java
+++ b/src/com/android/settings/SetupChooseLockPassword.java
@@ -16,9 +16,11 @@
 
 package com.android.settings;
 
-import com.android.setupwizard.navigationbar.SetupWizardNavBar;
+import com.android.setupwizardlib.SetupWizardLayout;
 import com.android.setupwizardlib.util.SystemBarHelper;
+import com.android.setupwizardlib.view.NavigationBar;
 
+import android.app.Activity;
 import android.app.Fragment;
 import android.content.Context;
 import android.content.Intent;
@@ -35,8 +37,7 @@
  * Other changes should be done to ChooseLockPassword class instead and let this class inherit
  * those changes.
  */
-public class SetupChooseLockPassword extends ChooseLockPassword
-        implements SetupWizardNavBar.NavigationBarListener {
+public class SetupChooseLockPassword extends ChooseLockPassword {
 
     public static Intent createIntent(Context context, int quality,
             int minLength, final int maxLength, boolean requirePasswordToDecrypt,
@@ -66,9 +67,6 @@
         return intent;
     }
 
-    private SetupWizardNavBar mNavigationBar;
-    private SetupChooseLockPasswordFragment mFragment;
-
     @Override
     protected boolean isValidFragment(String fragmentName) {
         return SetupChooseLockPasswordFragment.class.getName().equals(fragmentName);
@@ -85,51 +83,22 @@
         super.onApplyThemeResource(theme, resid, first);
     }
 
-    @Override
-    public void onNavigationBarCreated(SetupWizardNavBar bar) {
-        mNavigationBar = bar;
-        SetupWizardUtils.setImmersiveMode(this);
-    }
+    public static class SetupChooseLockPasswordFragment extends ChooseLockPasswordFragment
+            implements NavigationBar.NavigationBarListener {
 
-    @Override
-    public void onNavigateBack() {
-        onBackPressed();
-    }
-
-    @Override
-    public void onNavigateNext() {
-        if (mFragment != null) {
-            mFragment.handleNext();
-        }
-    }
-
-    @Override
-    public void onAttachFragment(Fragment fragment) {
-        super.onAttachFragment(fragment);
-        if (fragment instanceof SetupChooseLockPasswordFragment) {
-            mFragment = (SetupChooseLockPasswordFragment) fragment;
-        }
-    }
-
-    public static class SetupChooseLockPasswordFragment extends ChooseLockPasswordFragment {
+        private NavigationBar mNavigationBar;
 
         @Override
         public View onCreateView(LayoutInflater inflater, ViewGroup container,
                 Bundle savedInstanceState) {
-            final View view = inflater.inflate(R.layout.setup_template, container, false);
-            View scrollView = view.findViewById(R.id.bottom_scroll_view);
-            SystemBarHelper.setImeInsetView(scrollView);
-            ViewGroup setupContent = (ViewGroup) view.findViewById(R.id.setup_content);
-            inflater.inflate(R.layout.setup_choose_lock_password, setupContent, true);
-            return view;
-        }
-
-        @Override
-        public void onViewCreated(View view, Bundle savedInstanceState) {
-            super.onViewCreated(view, savedInstanceState);
-            SetupWizardUtils.setIllustration(getActivity(),
-                    R.drawable.setup_illustration_lock_screen);
-            SetupWizardUtils.setHeaderText(getActivity(), getActivity().getTitle());
+            final SetupWizardLayout layout = (SetupWizardLayout) inflater.inflate(
+                    R.layout.setup_choose_lock_password, container, false);
+            SystemBarHelper.setImeInsetView(layout.findViewById(R.id.suw_bottom_scroll_view));
+            mNavigationBar = layout.getNavigationBar();
+            mNavigationBar.setNavigationBarListener(this);
+            layout.setHeaderText(getActivity().getTitle());
+            SetupWizardUtils.setImmersiveMode(getActivity());
+            return layout;
         }
 
         @Override
@@ -141,14 +110,25 @@
 
         @Override
         protected void setNextEnabled(boolean enabled) {
-            SetupChooseLockPassword activity = (SetupChooseLockPassword) getActivity();
-            activity.mNavigationBar.getNextButton().setEnabled(enabled);
+            mNavigationBar.getNextButton().setEnabled(enabled);
         }
 
         @Override
         protected void setNextText(int text) {
-            SetupChooseLockPassword activity = (SetupChooseLockPassword) getActivity();
-            activity.mNavigationBar.getNextButton().setText(text);
+            mNavigationBar.getNextButton().setText(text);
+        }
+
+        @Override
+        public void onNavigateBack() {
+            final Activity activity = getActivity();
+            if (activity != null) {
+                activity.onBackPressed();
+            }
+        }
+
+        @Override
+        public void onNavigateNext() {
+            handleNext();
         }
     }
 }
diff --git a/src/com/android/settings/SetupChooseLockPattern.java b/src/com/android/settings/SetupChooseLockPattern.java
index ca79744..2ea8d4a 100644
--- a/src/com/android/settings/SetupChooseLockPattern.java
+++ b/src/com/android/settings/SetupChooseLockPattern.java
@@ -16,8 +16,10 @@
 
 package com.android.settings;
 
-import com.android.setupwizard.navigationbar.SetupWizardNavBar;
+import com.android.setupwizardlib.SetupWizardLayout;
+import com.android.setupwizardlib.view.NavigationBar;
 
+import android.app.Activity;
 import android.app.Fragment;
 import android.content.Context;
 import android.content.Intent;
@@ -35,8 +37,7 @@
  * Other changes should be done to ChooseLockPattern class instead and let this class inherit
  * those changes.
  */
-public class SetupChooseLockPattern extends ChooseLockPattern
-        implements SetupWizardNavBar.NavigationBarListener {
+public class SetupChooseLockPattern extends ChooseLockPattern {
 
     public static Intent createIntent(Context context, boolean requirePassword,
             boolean confirmCredentials) {
@@ -58,9 +59,6 @@
         return intent;
     }
 
-    private SetupWizardNavBar mNavigationBar;
-    private SetupChooseLockPatternFragment mFragment;
-
     @Override
     protected boolean isValidFragment(String fragmentName) {
         return SetupChooseLockPatternFragment.class.getName().equals(fragmentName);
@@ -77,43 +75,21 @@
         super.onApplyThemeResource(theme, resid, first);
     }
 
-    @Override
-    public void onNavigationBarCreated(SetupWizardNavBar bar) {
-        mNavigationBar = bar;
-        SetupWizardUtils.setImmersiveMode(this);
-    }
+    public static class SetupChooseLockPatternFragment extends ChooseLockPatternFragment
+            implements NavigationBar.NavigationBarListener {
 
-    @Override
-    public void onNavigateBack() {
-        onBackPressed();
-    }
-
-    @Override
-    public void onNavigateNext() {
-        if (mFragment != null) {
-            mFragment.handleRightButton();
-        }
-    }
-
-    @Override
-    public void onAttachFragment(Fragment fragment) {
-        super.onAttachFragment(fragment);
-        if (fragment instanceof ChooseLockPatternFragment) {
-            mFragment = (SetupChooseLockPatternFragment) fragment;
-        }
-    }
-
-    public static class SetupChooseLockPatternFragment extends ChooseLockPatternFragment {
-
+        private NavigationBar mNavigationBar;
         private Button mRetryButton;
 
         @Override
         public View onCreateView(LayoutInflater inflater, ViewGroup container,
                 Bundle savedInstanceState) {
-            final View view = inflater.inflate(R.layout.setup_template, container, false);
-            ViewGroup setupContent = (ViewGroup) view.findViewById(R.id.setup_content);
-            inflater.inflate(R.layout.setup_choose_lock_pattern, setupContent, true);
-            return view;
+            final SetupWizardLayout layout = (SetupWizardLayout) inflater.inflate(
+                    R.layout.setup_choose_lock_pattern, container, false);
+            mNavigationBar = layout.getNavigationBar();
+            mNavigationBar.setNavigationBarListener(this);
+            layout.setHeaderText(getActivity().getTitle());
+            return layout;
         }
 
         @Override
@@ -121,9 +97,7 @@
             mRetryButton = (Button) view.findViewById(R.id.retryButton);
             mRetryButton.setOnClickListener(this);
             super.onViewCreated(view, savedInstanceState);
-            SetupWizardUtils.setIllustration(getActivity(),
-                    R.drawable.setup_illustration_lock_screen);
-            SetupWizardUtils.setHeaderText(getActivity(), getActivity().getTitle());
+            SetupWizardUtils.setImmersiveMode(getActivity());
         }
 
         @Override
@@ -144,14 +118,12 @@
 
         @Override
         protected void setRightButtonEnabled(boolean enabled) {
-            SetupChooseLockPattern activity = (SetupChooseLockPattern) getActivity();
-            activity.mNavigationBar.getNextButton().setEnabled(enabled);
+            mNavigationBar.getNextButton().setEnabled(enabled);
         }
 
         @Override
         protected void setRightButtonText(int text) {
-            SetupChooseLockPattern activity = (SetupChooseLockPattern) getActivity();
-            activity.mNavigationBar.getNextButton().setText(text);
+            mNavigationBar.getNextButton().setText(text);
         }
 
         @Override
@@ -160,5 +132,18 @@
             // Only enable the button for retry
             mRetryButton.setEnabled(stage == Stage.FirstChoiceValid);
         }
+
+        @Override
+        public void onNavigateBack() {
+            final Activity activity = getActivity();
+            if (activity != null) {
+                activity.onBackPressed();
+            }
+        }
+
+        @Override
+        public void onNavigateNext() {
+            handleRightButton();
+        }
     }
 }
diff --git a/src/com/android/settings/SetupEncryptionInterstitial.java b/src/com/android/settings/SetupEncryptionInterstitial.java
index 8d5f613..61ff81c 100644
--- a/src/com/android/settings/SetupEncryptionInterstitial.java
+++ b/src/com/android/settings/SetupEncryptionInterstitial.java
@@ -16,8 +16,10 @@
 
 package com.android.settings;
 
-import com.android.setupwizard.navigationbar.SetupWizardNavBar;
+import com.android.setupwizardlib.SetupWizardLayout;
+import com.android.setupwizardlib.view.NavigationBar;
 
+import android.app.Activity;
 import android.app.admin.DevicePolicyManager;
 import android.content.Context;
 import android.content.Intent;
@@ -34,8 +36,7 @@
  * Setup Wizard. Other changes should be done to EncryptionInterstitial class instead and let this
  * class inherit those changes.
  */
-public class SetupEncryptionInterstitial extends EncryptionInterstitial
-        implements SetupWizardNavBar.NavigationBarListener{
+public class SetupEncryptionInterstitial extends EncryptionInterstitial {
 
     public static Intent createStartIntent(Context ctx, int quality,
             boolean requirePasswordDefault) {
@@ -66,32 +67,29 @@
         super.onApplyThemeResource(theme, resid, first);
     }
 
-    @Override
-    public void onNavigationBarCreated(SetupWizardNavBar bar) {
-        SetupWizardUtils.setImmersiveMode(this);
-    }
-
-    @Override
-    public void onNavigateBack() {
-        onBackPressed();
-    }
-
-    @Override
-    public void onNavigateNext() {
-        setResult(RESULT_OK, getResultIntentData());
-        finish();
-    }
-
-    public static class SetupEncryptionInterstitialFragment extends EncryptionInterstitialFragment {
+    public static class SetupEncryptionInterstitialFragment extends EncryptionInterstitialFragment
+            implements NavigationBar.NavigationBarListener {
 
         @Override
         public View onCreateView(LayoutInflater inflater, ViewGroup container,
                 Bundle savedInstanceState) {
-            View view = inflater.inflate(R.layout.setup_template, container, false);
-            ViewGroup setupContent = (ViewGroup) view.findViewById(R.id.setup_content);
-            View content = super.onCreateView(inflater, setupContent, savedInstanceState);
-            setupContent.addView(content);
-            return view;
+            final SetupWizardLayout layout = new SetupWizardLayout(inflater.getContext());
+            layout.setIllustration(R.drawable.setup_illustration_lock_screen,
+                    R.drawable.setup_illustration_horizontal_tile);
+            layout.setBackgroundTile(R.drawable.setup_illustration_tile);
+            final int headerTextResource = getHeaderTextResource();
+            layout.setHeaderText(headerTextResource);
+
+            View content = super.onCreateView(inflater, layout, savedInstanceState);
+            layout.addView(content);
+            layout.getNavigationBar().setNavigationBarListener(this);
+
+            Activity activity = getActivity();
+            if (activity != null) {
+                activity.setTitle(headerTextResource);
+                SetupWizardUtils.setImmersiveMode(activity);
+            }
+            return layout;
         }
 
         private int getHeaderTextResource() {
@@ -108,13 +106,21 @@
         }
 
         @Override
-        public void onViewCreated(View view, Bundle savedInstanceState) {
-            super.onViewCreated(view, savedInstanceState);
-            SetupWizardUtils.setIllustration(getActivity(),
-                    R.drawable.setup_illustration_lock_screen);
-            final int title = getHeaderTextResource();
-            getActivity().setTitle(title);
-            SetupWizardUtils.setHeaderText(getActivity(), title);
+        public void onNavigateBack() {
+            final Activity activity = getActivity();
+            if (activity != null) {
+                activity.onBackPressed();
+            }
+        }
+
+        @Override
+        public void onNavigateNext() {
+            final SetupEncryptionInterstitial activity =
+                    (SetupEncryptionInterstitial) getActivity();
+            if (activity != null) {
+                activity.setResult(RESULT_OK, activity.getResultIntentData());
+                finish();
+            }
         }
     }
 }
diff --git a/src/com/android/settings/SetupRedactionInterstitial.java b/src/com/android/settings/SetupRedactionInterstitial.java
index 266a0490..c6437e0 100644
--- a/src/com/android/settings/SetupRedactionInterstitial.java
+++ b/src/com/android/settings/SetupRedactionInterstitial.java
@@ -17,8 +17,10 @@
 package com.android.settings;
 
 import com.android.settings.notification.RedactionInterstitial;
-import com.android.setupwizard.navigationbar.SetupWizardNavBar;
+import com.android.setupwizardlib.SetupWizardLayout;
+import com.android.setupwizardlib.view.NavigationBar;
 
+import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
 import android.content.res.Resources;
@@ -34,8 +36,7 @@
  * Wizard. Other changes should be done to RedactionInterstitial class instead and let this class
  * inherit those changes.
  */
-public class SetupRedactionInterstitial extends RedactionInterstitial
-        implements SetupWizardNavBar.NavigationBarListener{
+public class SetupRedactionInterstitial extends RedactionInterstitial {
 
     public static Intent createStartIntent(Context ctx) {
         Intent startIntent = RedactionInterstitial.createStartIntent(ctx);
@@ -64,41 +65,43 @@
         super.onApplyThemeResource(theme, resid, first);
     }
 
-    @Override
-    public void onNavigationBarCreated(SetupWizardNavBar bar) {
-        SetupWizardUtils.setImmersiveMode(this);
-        bar.getBackButton().setEnabled(false);
-    }
-
-    @Override
-    public void onNavigateBack() {
-        onBackPressed();
-    }
-
-    @Override
-    public void onNavigateNext() {
-        setResult(RESULT_OK, getResultIntentData());
-        finish();
-    }
-
-    public static class SetupEncryptionInterstitialFragment extends RedactionInterstitialFragment {
+    public static class SetupEncryptionInterstitialFragment extends RedactionInterstitialFragment
+            implements NavigationBar.NavigationBarListener {
 
         @Override
         public View onCreateView(LayoutInflater inflater, ViewGroup container,
                 Bundle savedInstanceState) {
-            View view = inflater.inflate(R.layout.setup_template, container, false);
-            ViewGroup setupContent = (ViewGroup) view.findViewById(R.id.setup_content);
-            View content = super.onCreateView(inflater, setupContent, savedInstanceState);
-            setupContent.addView(content);
-            return view;
+            final SetupWizardLayout layout = new SetupWizardLayout(inflater.getContext());
+            layout.setIllustration(R.drawable.setup_illustration_lock_screen,
+                    R.drawable.setup_illustration_horizontal_tile);
+            layout.setBackgroundTile(R.drawable.setup_illustration_tile);
+            layout.setHeaderText(R.string.notification_section_header);
+
+            View content = super.onCreateView(inflater, layout, savedInstanceState);
+            layout.addView(content);
+
+            final NavigationBar navigationBar = layout.getNavigationBar();
+            navigationBar.setNavigationBarListener(this);
+            navigationBar.getBackButton().setEnabled(false);
+            SetupWizardUtils.setImmersiveMode(getActivity());
+            return layout;
         }
 
         @Override
-        public void onViewCreated(View view, Bundle savedInstanceState) {
-            super.onViewCreated(view, savedInstanceState);
-            SetupWizardUtils.setIllustration(getActivity(),
-                    R.drawable.setup_illustration_lock_screen);
-            SetupWizardUtils.setHeaderText(getActivity(), R.string.notification_section_header);
+        public void onNavigateBack() {
+            final Activity activity = getActivity();
+            if (activity != null) {
+                activity.onBackPressed();
+            }
+        }
+
+        @Override
+        public void onNavigateNext() {
+            final SetupRedactionInterstitial activity = (SetupRedactionInterstitial) getActivity();
+            if (activity != null) {
+                activity.setResult(RESULT_OK, activity.getResultIntentData());
+                finish();
+            }
         }
     }
 }
diff --git a/src/com/android/settings/SetupWizardUtils.java b/src/com/android/settings/SetupWizardUtils.java
index d91ba13..7c4267c 100644
--- a/src/com/android/settings/SetupWizardUtils.java
+++ b/src/com/android/settings/SetupWizardUtils.java
@@ -16,17 +16,12 @@
 
 package com.android.settings;
 
-import com.android.settings.widget.SetupWizardIllustration;
 import com.android.setupwizardlib.util.SystemBarHelper;
 import com.android.setupwizardlib.util.WizardManagerHelper;
 
 import android.app.Activity;
 import android.app.Dialog;
 import android.content.Intent;
-import android.graphics.drawable.BitmapDrawable;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.LayerDrawable;
-import android.widget.TextView;
 
 public class SetupWizardUtils {
     private static final String TAG = "SetupWizardUtils";
@@ -75,42 +70,10 @@
         SystemBarHelper.hideSystemBars(dialog);
     }
 
-    public static TextView getHeader(Activity activity) {
-        return (TextView) activity.findViewById(R.id.title);
-    }
-
-    public static void setHeaderText(Activity activity, int text) {
-        getHeader(activity).setText(text);
-    }
-
-    public static void setHeaderText(Activity activity, CharSequence text) {
-        getHeader(activity).setText(text);
-    }
-
     public static void copySetupExtras(Intent fromIntent, Intent toIntent) {
         toIntent.putExtra(WizardManagerHelper.EXTRA_THEME,
                 fromIntent.getStringExtra(WizardManagerHelper.EXTRA_THEME));
         toIntent.putExtra(WizardManagerHelper.EXTRA_USE_IMMERSIVE_MODE,
                 fromIntent.getBooleanExtra(WizardManagerHelper.EXTRA_USE_IMMERSIVE_MODE, false));
     }
-
-    public static void setIllustration(Activity activity, int asset) {
-        SetupWizardIllustration illustration =
-                (SetupWizardIllustration) activity.findViewById(R.id.setup_illustration);
-        if (illustration != null) {
-            Drawable drawable = activity.getDrawable(R.drawable.setup_illustration);
-            Drawable newIllustration = activity.getDrawable(asset);
-            if (drawable instanceof LayerDrawable) {
-                LayerDrawable layers = (LayerDrawable) drawable;
-                Drawable oldIllustration = layers.findDrawableByLayerId(R.id.illustration_image);
-                if (newIllustration instanceof BitmapDrawable
-                        && oldIllustration instanceof BitmapDrawable) {
-                    final int gravity = ((BitmapDrawable) oldIllustration).getGravity();
-                    ((BitmapDrawable) newIllustration).setGravity(gravity);
-                }
-                layers.setDrawableByLayerId(R.id.illustration_image, newIllustration);
-                illustration.setForeground(layers);
-            }
-        }
-    }
 }
diff --git a/src/com/android/settings/wifi/WifiSettingsForSetupWizard.java b/src/com/android/settings/wifi/WifiSettingsForSetupWizard.java
index 4dfea08..ba78794 100644
--- a/src/com/android/settings/wifi/WifiSettingsForSetupWizard.java
+++ b/src/com/android/settings/wifi/WifiSettingsForSetupWizard.java
@@ -30,6 +30,8 @@
 
 import com.android.settings.R;
 import com.android.settings.SetupWizardUtils;
+import com.android.setupwizardlib.SetupWizardListLayout;
+import com.android.setupwizardlib.view.NavigationBar;
 
 /**
  * This customized version of WifiSettings is shown to the user only during Setup Wizard. Menu
@@ -48,15 +50,9 @@
     @Override
     public View onCreateView(final LayoutInflater inflater, ViewGroup container,
             Bundle savedInstanceState) {
-
-        final View view = inflater.inflate(R.layout.setup_preference, container, false);
-
-        final ListView list = (ListView) view.findViewById(android.R.id.list);
-        final View title = view.findViewById(R.id.title);
-        if (title == null) {
-            final View header = inflater.inflate(R.layout.setup_wizard_header, list, false);
-            list.addHeaderView(header, null, false);
-        }
+        final SetupWizardListLayout layout = (SetupWizardListLayout) inflater.inflate(
+                R.layout.setup_wifi_layout, container, false);
+        final ListView list = layout.getListView();
 
         mAddOtherNetworkItem = inflater.inflate(R.layout.setup_wifi_add_network, list, false);
         list.addFooterView(mAddOtherNetworkItem, null, true);
@@ -69,19 +65,19 @@
             }
         });
 
-        return view;
+        final NavigationBar navigationBar = layout.getNavigationBar();
+        if (navigationBar != null) {
+            WifiSetupActivity activity = (WifiSetupActivity) getActivity();
+            activity.onNavigationBarCreated(navigationBar);
+        }
+
+        return layout;
     }
 
     @Override
     public void onActivityCreated(Bundle savedInstanceState) {
         super.onActivityCreated(savedInstanceState);
 
-        getView().setSystemUiVisibility(
-                View.STATUS_BAR_DISABLE_HOME |
-                View.STATUS_BAR_DISABLE_RECENT |
-                View.STATUS_BAR_DISABLE_NOTIFICATION_ALERTS |
-                View.STATUS_BAR_DISABLE_CLOCK);
-
         if (hasNextButton()) {
             getNextButton().setVisibility(View.GONE);
         }
diff --git a/src/com/android/settings/wifi/WifiSetupActivity.java b/src/com/android/settings/wifi/WifiSetupActivity.java
index 7d7fe3b..4f5d5f6 100644
--- a/src/com/android/settings/wifi/WifiSetupActivity.java
+++ b/src/com/android/settings/wifi/WifiSetupActivity.java
@@ -35,11 +35,10 @@
 import com.android.settings.ButtonBarHandler;
 import com.android.settings.R;
 import com.android.settings.SetupWizardUtils;
-import com.android.setupwizard.navigationbar.SetupWizardNavBar;
-import com.android.setupwizard.navigationbar.SetupWizardNavBar.NavigationBarListener;
+import com.android.setupwizardlib.view.NavigationBar;
 
 public class WifiSetupActivity extends WifiPickerActivity
-        implements ButtonBarHandler, NavigationBarListener {
+        implements ButtonBarHandler, NavigationBar.NavigationBarListener {
     private static final String TAG = "WifiSetupActivity";
 
     // this boolean extra specifies whether to auto finish when connection is established
@@ -72,7 +71,7 @@
     // Whether the device is connected to WiFi
     private boolean mWifiConnected;
 
-    private SetupWizardNavBar mNavigationBar;
+    private NavigationBar mNavigationBar;
 
     private IntentFilter mFilter = new IntentFilter();
     private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@@ -209,9 +208,9 @@
         }
     }
 
-    @Override
-    public void onNavigationBarCreated(final SetupWizardNavBar bar) {
+    public void onNavigationBarCreated(final NavigationBar bar) {
         mNavigationBar = bar;
+        bar.setNavigationBarListener(this);
         SetupWizardUtils.setImmersiveMode(this);
     }