From 714be1a4909abd4464f0eb56875c26caa3ed1d9f Mon Sep 17 00:00:00 2001 From: cretin45 Date: Thu, 9 Apr 2015 10:44:41 -0700 Subject: [PATCH] SetupWizard: Aggressively hide nav bar on soft key devices Change-Id: Ic23fd7e605a323411fe2f581235ff3ed45bfcaed (cherry picked from commit 1d7988a4c78aa8a4c768e8ddb8e0ced2c8f8c530) --- AndroidManifest.xml | 5 ++-- .../setupwizard/ui/SetupWizardActivity.java | 25 ++++++++++++++++--- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index aeff8ca..7df896d 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -66,6 +66,7 @@ + android:immersive="true" + android:windowSoftInputMode="stateAlwaysHidden"> diff --git a/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java b/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java index 65a9806..f37b3f8 100644 --- a/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java +++ b/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java @@ -56,6 +56,12 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks, private static final String TAG = SetupWizardActivity.class.getSimpleName(); + private static final int UI_FLAGS = View.SYSTEM_UI_FLAG_LAYOUT_STABLE + | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN + | View.SYSTEM_UI_FLAG_IMMERSIVE + | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION + | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; + private View mRootView; private View mButtonBar; private Button mNextButton; @@ -77,12 +83,25 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks, public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + final View decorView = getWindow().getDecorView(); + decorView.setSystemUiVisibility(UI_FLAGS); + decorView.setOnSystemUiVisibilityChangeListener( + new View.OnSystemUiVisibilityChangeListener() { + + @Override + public void onSystemUiVisibilityChange(int visibility) { + if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) { + decorView.setSystemUiVisibility(UI_FLAGS); + } + } + }); if (sLaunchTime == 0) { SetupStats.addEvent(SetupStats.Categories.APP_LAUNCH, TAG); sLaunchTime = System.nanoTime(); } setContentView(R.layout.setup_main); mRootView = findViewById(R.id.root); + mRootView.setSystemUiVisibility(UI_FLAGS); mReveal = (ImageView)mRootView.findViewById(R.id.reveal); mButtonBar = findViewById(R.id.button_bar); mFinishingProgressBar = (ProgressBar)findViewById(R.id.finishing_bar); @@ -134,10 +153,8 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks, @Override protected void onResume() { - getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE - | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN - | View.SYSTEM_UI_FLAG_IMMERSIVE - | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); + final View decorView = getWindow().getDecorView(); + decorView.setSystemUiVisibility(UI_FLAGS); super.onResume(); if (mSetupData.isFinished()) { mHandler.postDelayed(new Runnable() {