Protect url editing from progress changes

    Also fixes url bar disappearing when selection mode is entered

Change-Id: I87ec4ac9bb3abd9e472df9f565bf8b0f6d1f510e
diff --git a/src/com/android/browser/TitleBarXLarge.java b/src/com/android/browser/TitleBarXLarge.java
index f1c6c6b..496246c 100644
--- a/src/com/android/browser/TitleBarXLarge.java
+++ b/src/com/android/browser/TitleBarXLarge.java
@@ -186,6 +186,11 @@
      * @param clearInput clear the input field
      */
     void onEditUrl(boolean clearInput) {
+        // editing takes preference of progress
+        mContainer.setVisibility(View.VISIBLE);
+        if (mUseQuickControls) {
+            mProgressView.setVisibility(View.GONE);
+        }
         if (!mUrlInput.hasFocus()) {
             mUrlInput.requestFocus();
         }
@@ -341,16 +346,21 @@
      */
     @Override
     void setProgress(int newProgress) {
+        boolean blockvisuals = mUseQuickControls && isEditingUrl();
         if (newProgress >= PROGRESS_MAX) {
-            mProgressView.setProgress(PageProgressView.MAX_PROGRESS);
-            mProgressView.setVisibility(View.GONE);
+            if (!blockvisuals) {
+                mProgressView.setProgress(PageProgressView.MAX_PROGRESS);
+                mProgressView.setVisibility(View.GONE);
+                mStopButton.setImageDrawable(mReloadDrawable);
+            }
             mInLoad = false;
-            mStopButton.setImageDrawable(mReloadDrawable);
         } else {
             if (!mInLoad) {
-                mProgressView.setVisibility(View.VISIBLE);
+                if (!blockvisuals) {
+                    mProgressView.setVisibility(View.VISIBLE);
+                    mStopButton.setImageDrawable(mStopDrawable);
+                }
                 mInLoad = true;
-                mStopButton.setImageDrawable(mStopDrawable);
             }
             mProgressView.setProgress(newProgress * PageProgressView.MAX_PROGRESS
                     / PROGRESS_MAX);
diff --git a/src/com/android/browser/XLargeUi.java b/src/com/android/browser/XLargeUi.java
index 7f9baa7..11642af 100644
--- a/src/com/android/browser/XLargeUi.java
+++ b/src/com/android/browser/XLargeUi.java
@@ -174,13 +174,15 @@
         if (tab.inForeground()) {
             mFakeTitleBar.setProgress(progress);
             if (progress == 100) {
-                hideFakeTitleBar();
-                if (mUseQuickControls) {
-                    mFakeTitleBar.setShowProgressOnly(false);
-                    setFakeTitleBarGravity(Gravity.BOTTOM);
+                if (!mFakeTitleBar.isEditingUrl()) {
+                    hideFakeTitleBar();
+                    if (mUseQuickControls) {
+                        mFakeTitleBar.setShowProgressOnly(false);
+                        setFakeTitleBarGravity(Gravity.BOTTOM);
+                    }
                 }
             } else {
-                if (mUseQuickControls) {
+                if (mUseQuickControls && !mFakeTitleBar.isEditingUrl()) {
                     mFakeTitleBar.setShowProgressOnly(true);
                     if (!isFakeTitleBarShowing()) {
                         setFakeTitleBarGravity(Gravity.TOP);
@@ -269,6 +271,8 @@
     }
 
     void showFakeTitleBarAndEdit() {
+        mFakeTitleBar.setShowProgressOnly(false);
+        setFakeTitleBarGravity(Gravity.BOTTOM);
         showFakeTitleBar();
         mFakeTitleBar.onEditUrl(false);
     }
@@ -306,7 +310,7 @@
 
     @Override
     public void onActionModeStarted(ActionMode mode) {
-        if (mFakeTitleBar.isEditingUrl()) {
+        if (!mFakeTitleBar.isEditingUrl()) {
             // hide the fake title bar when CAB is shown
             hideFakeTitleBar();
         }