add source type to search queries

    Bug: http://b/issue?id=3237688
    add the source extra to search queries based on the source

Change-Id: Id39083a5904c7ff98431e7e625871f920f634bcf
diff --git a/src/com/android/browser/TitleBarXLarge.java b/src/com/android/browser/TitleBarXLarge.java
index de3c39f..42effe1 100644
--- a/src/com/android/browser/TitleBarXLarge.java
+++ b/src/com/android/browser/TitleBarXLarge.java
@@ -25,6 +25,7 @@
 import android.content.res.Resources;
 import android.graphics.Bitmap;
 import android.graphics.drawable.Drawable;
+import android.os.Bundle;
 import android.text.TextUtils;
 import android.util.AttributeSet;
 import android.view.LayoutInflater;
@@ -131,7 +132,8 @@
             stopOrRefresh();
         } else if (mGoButton == v) {
             if (!TextUtils.isEmpty(mUrlFocused.getText())) {
-                onAction(mUrlFocused.getText().toString(), null);
+                onAction(mUrlFocused.getText().toString(), null,
+                        UrlInputView.TYPED);
             }
         } else if (mClearButton == v) {
             mUrlFocused.setText("");
@@ -148,7 +150,7 @@
     // UrlInputListener implementation
 
     @Override
-    public void onAction(String text, String extra) {
+    public void onAction(String text, String extra, String source) {
         mUiController.getCurrentTopWebView().requestFocus();
         ((BaseUi) mUiController.getUi()).hideFakeTitleBar();
         Intent i = new Intent();
@@ -157,6 +159,11 @@
         if (extra != null) {
             i.putExtra(SearchManager.EXTRA_DATA_KEY, extra);
         }
+        if (source != null) {
+            Bundle appData = new Bundle();
+            appData.putString(com.android.common.Search.SOURCE, source);
+            i.putExtra(SearchManager.APP_DATA, appData);
+        }
         mUiController.handleNewIntent(i);
         setUrlMode(false);
         setDisplayTitle(text);
diff --git a/src/com/android/browser/UrlInputView.java b/src/com/android/browser/UrlInputView.java
index a4c2be3..0abea12 100644
--- a/src/com/android/browser/UrlInputView.java
+++ b/src/com/android/browser/UrlInputView.java
@@ -38,6 +38,10 @@
         implements OnFocusChangeListener, OnEditorActionListener,
         CompletionListener {
 
+
+    static final String TYPED = "browser-type";
+    static final String SUGGESTED = "browser-suggest";
+
     private UrlInputListener   mListener;
     private InputMethodManager mInputManager;
     private SuggestionsAdapter mAdapter;
@@ -121,7 +125,7 @@
 
     @Override
     public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
-        finishInput(getText().toString(), null);
+        finishInput(getText().toString(), null, TYPED);
         return true;
     }
 
@@ -130,7 +134,7 @@
         if (hasFocus) {
             forceIme();
         } else {
-            finishInput(null, null);
+            finishInput(null, null, null);
         }
         if (mWrappedFocusListener != null) {
             mWrappedFocusListener.onFocusChange(v, hasFocus);
@@ -145,14 +149,14 @@
         mInputManager.showSoftInput(this, 0);
     }
 
-    private void finishInput(String url, String extra) {
+    private void finishInput(String url, String extra, String source) {
         this.dismissDropDown();
         this.setSelection(0,0);
         mInputManager.hideSoftInputFromWindow(getWindowToken(), 0);
         if (TextUtils.isEmpty(url)) {
             mListener.onDismiss();
         } else {
-            mListener.onAction(url, extra);
+            mListener.onAction(url, extra, source);
         }
     }
 
@@ -165,14 +169,14 @@
 
     @Override
     public void onSelect(String url, String extra) {
-        finishInput(url, extra);
+        finishInput(url, extra, SUGGESTED);
     }
 
     @Override
     public boolean onKeyPreIme(int keyCode, KeyEvent evt) {
         if (keyCode == KeyEvent.KEYCODE_BACK) {
             // catch back key in order to do slightly more cleanup than usual
-            finishInput(null, null);
+            finishInput(null, null, null);
             return true;
         }
         return super.onKeyPreIme(keyCode, evt);
@@ -182,7 +186,7 @@
 
         public void onDismiss();
 
-        public void onAction(String text, String extra);
+        public void onAction(String text, String extra, String source);
 
         public void onEdit(String text);