[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
This commit is contained in:
Maurice Lam
2015-04-18 20:11:59 -07:00
parent c3385dc11b
commit 83301b5256
31 changed files with 355 additions and 1084 deletions

View File

@@ -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 @@ import android.widget.ListView;
* 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 @@ public class SetupChooseLockGeneric extends ChooseLockGeneric
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 @@ public class SetupChooseLockGeneric extends ChooseLockGeneric
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 @@ public class SetupChooseLockGeneric extends ChooseLockGeneric
SetupWizardUtils.copySetupExtras(getActivity().getIntent(), intent);
return intent;
}
@Override
public void onNavigateBack() {
Activity activity = getActivity();
if (activity != null) {
activity.onBackPressed();
}
}
@Override
public void onNavigateNext() {
}
}
}

View File

@@ -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 @@ import android.view.ViewGroup;
* 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 @@ public class SetupChooseLockPassword extends ChooseLockPassword
return intent;
}
private SetupWizardNavBar mNavigationBar;
private SetupChooseLockPasswordFragment mFragment;
@Override
protected boolean isValidFragment(String fragmentName) {
return SetupChooseLockPasswordFragment.class.getName().equals(fragmentName);
@@ -85,51 +83,22 @@ public class SetupChooseLockPassword extends ChooseLockPassword
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 @@ public class SetupChooseLockPassword extends ChooseLockPassword
@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();
}
}
}

View File

@@ -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 @@ import android.widget.Button;
* 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 @@ public class SetupChooseLockPattern extends ChooseLockPattern
return intent;
}
private SetupWizardNavBar mNavigationBar;
private SetupChooseLockPatternFragment mFragment;
@Override
protected boolean isValidFragment(String fragmentName) {
return SetupChooseLockPatternFragment.class.getName().equals(fragmentName);
@@ -77,43 +75,21 @@ public class SetupChooseLockPattern extends ChooseLockPattern
super.onApplyThemeResource(theme, resid, first);
}
@Override
public void onNavigationBarCreated(SetupWizardNavBar bar) {
mNavigationBar = bar;
SetupWizardUtils.setImmersiveMode(this);
}
@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 {
public static class SetupChooseLockPatternFragment extends ChooseLockPatternFragment
implements NavigationBar.NavigationBarListener {
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 @@ public class SetupChooseLockPattern extends ChooseLockPattern
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 @@ public class SetupChooseLockPattern extends ChooseLockPattern
@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 @@ public class SetupChooseLockPattern extends ChooseLockPattern
// 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();
}
}
}

View File

@@ -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 @@ import android.view.ViewGroup;
* 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 @@ public class SetupEncryptionInterstitial extends EncryptionInterstitial
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 @@ public class SetupEncryptionInterstitial extends EncryptionInterstitial
}
@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();
}
}
}
}

View File

@@ -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 @@ import android.view.ViewGroup;
* 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 @@ public class SetupRedactionInterstitial extends RedactionInterstitial
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();
}
}
}
}

View File

@@ -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 @@ public class SetupWizardUtils {
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);
}
}
}
}

View File

@@ -30,6 +30,8 @@ import android.widget.TextView;
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 @@ public class WifiSettingsForSetupWizard extends WifiSettings {
@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 @@ public class WifiSettingsForSetupWizard extends WifiSettings {
}
});
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);
}

View File

@@ -35,11 +35,10 @@ import android.util.Log;
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 @@ public class WifiSetupActivity extends WifiPickerActivity
// 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 @@ public class WifiSetupActivity extends WifiPickerActivity
}
}
@Override
public void onNavigationBarCreated(final SetupWizardNavBar bar) {
public void onNavigationBarCreated(final NavigationBar bar) {
mNavigationBar = bar;
bar.setNavigationBarListener(this);
SetupWizardUtils.setImmersiveMode(this);
}