Fix NFC Intent and URL input behavior

SWE will show up for valid NFC intents.
When editing the URL, the voice input icon
shows up only when the url is empty.

Change-Id: If8338a03e4a18bcc78acfdb58bab331bec9af9cd
diff --git a/src/com/android/browser/NavigationBarBase.java b/src/com/android/browser/NavigationBarBase.java
index 8d34f13..48e23bd 100644
--- a/src/com/android/browser/NavigationBarBase.java
+++ b/src/com/android/browser/NavigationBarBase.java
@@ -765,11 +765,11 @@
     @Override
     public void onStateChanged(int state) {
         mVoiceButton.setVisibility(View.GONE);
+        mClearButton.setVisibility(View.GONE);
         switch(state) {
             case STATE_NORMAL:
                 mFaviconTile.setVisibility(View.VISIBLE);
                 mMagnify.setVisibility(View.GONE);
-                mClearButton.setVisibility(View.GONE);
                 mMore.setVisibility(View.VISIBLE);
                 if (mUiController != null) {
                     Tab currentTab = mUiController.getCurrentTab();
@@ -785,20 +785,24 @@
                 break;
             case STATE_HIGHLIGHTED:
                 mFaviconTile.setVisibility(View.GONE);
-                mMagnify.setVisibility(View.GONE);
-                mClearButton.setVisibility(View.GONE);
+                mMagnify.setVisibility(View.VISIBLE);
+                mClearButton.setVisibility(View.VISIBLE);
                 mMore.setVisibility(View.GONE);
                 if (mUiController != null) {
                     mUiController.setWindowDimming(0.75f);
-                    if (mUiController.supportsVoice()) {
-                        mVoiceButton.setVisibility(View.VISIBLE);
-                    }
                 }
                 break;
             case STATE_EDITED:
+                if (TextUtils.isEmpty(mUrlInput.getText()) &&
+                        mUiController != null &&
+                        mUiController.supportsVoice()) {
+                    mVoiceButton.setVisibility(View.VISIBLE);
+                }
+                else {
+                    mClearButton.setVisibility(View.VISIBLE);
+                }
                 mFaviconTile.setVisibility(View.GONE);
                 mMagnify.setVisibility(View.VISIBLE);
-                mClearButton.setVisibility(View.VISIBLE);
                 mMore.setVisibility(View.GONE);
                 break;
         }
diff --git a/src/com/android/browser/NavigationBarPhone.java b/src/com/android/browser/NavigationBarPhone.java
index 5b2bb75..a94cabd 100644
--- a/src/com/android/browser/NavigationBarPhone.java
+++ b/src/com/android/browser/NavigationBarPhone.java
@@ -147,7 +147,6 @@
                 mUrlInput.selectAll();
             }
 
-            mStopButton.setVisibility(View.VISIBLE);
             mTabSwitcher.setVisibility(View.GONE);
             mTabText.setVisibility(View.GONE);
 
diff --git a/src/com/android/browser/UrlInputView.java b/src/com/android/browser/UrlInputView.java
index 738aec8..8a70b6d 100755
--- a/src/com/android/browser/UrlInputView.java
+++ b/src/com/android/browser/UrlInputView.java
@@ -333,7 +333,8 @@
 
     @Override
     public void onTextChanged(CharSequence s, int start, int before, int count) {
-        if (StateListener.STATE_HIGHLIGHTED == mState) {
+        if (StateListener.STATE_HIGHLIGHTED == mState ||
+            StateListener.STATE_EDITED == mState) {
             changeState(StateListener.STATE_EDITED);
         }
     }