Dim the window when URL is being edited.

Change-Id: Ib10a61413074baa095f264138567b4112e31abb6
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index e643d45..5d8ac35 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -75,6 +75,7 @@
 import android.view.MenuItem.OnMenuItemClickListener;
 import android.view.MotionEvent;
 import android.view.View;
+import android.view.WindowManager;
 import android.webkit.MimeTypeMap;
 import android.webkit.ValueCallback;
 import android.webkit.WebChromeClient.CustomViewCallback;
@@ -3314,6 +3315,17 @@
         mActivity.startActivityForResult(voice, VOICE_RESULT);
     }
 
+    public void setWindowDimming(float level) {
+        if (level != 0) {
+            WindowManager.LayoutParams lp = mActivity.getWindow().getAttributes();
+            lp.dimAmount = level;
+            mActivity.getWindow().setAttributes(lp);
+            mActivity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
+        } else {
+            mActivity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
+        }
+    }
+
     @Override
     public void setBlockEvents(boolean block) {
         mBlockEvents = block;
diff --git a/src/com/android/browser/NavigationBarPhone.java b/src/com/android/browser/NavigationBarPhone.java
index 796320a..076e4ad 100644
--- a/src/com/android/browser/NavigationBarPhone.java
+++ b/src/com/android/browser/NavigationBarPhone.java
@@ -228,6 +228,9 @@
             mTabSwitcher.setVisibility(View.VISIBLE);
             mTitleContainer.setBackgroundDrawable(null);
             mMore.setVisibility(mNeedsMenu ? View.VISIBLE : View.GONE);
+            if (mUiController != null) {
+                mUiController.setWindowDimming(0f);
+            }
             break;
         case StateListener.STATE_HIGHLIGHTED:
             mComboIcon.setVisibility(View.GONE);
@@ -240,11 +243,16 @@
             mTabSwitcher.setVisibility(View.GONE);
             mMore.setVisibility(View.GONE);
             mTitleContainer.setBackgroundDrawable(mTextfieldBgDrawable);
+
             if (!mUrlInput.getText().toString().equals(mUrlInput.getTag())) {
                 // only change text if different
                 mUrlInput.setText((String) mUrlInput.getTag(), false);
                 mUrlInput.selectAll();
             }
+
+            if (mUiController != null) {
+                mUiController.setWindowDimming(0.75f);
+            }
             break;
         case StateListener.STATE_EDITED:
             mComboIcon.setVisibility(View.GONE);
diff --git a/src/com/android/browser/UiController.java b/src/com/android/browser/UiController.java
index 36ee452..446083a 100644
--- a/src/com/android/browser/UiController.java
+++ b/src/com/android/browser/UiController.java
@@ -113,4 +113,6 @@
 
     void startVoiceRecognizer();
 
+    void setWindowDimming(float level);
+
 }