Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(695)

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/omnibox/OmniboxSuggestion.java

Issue 332943002: [AiS] Add a structured representation of Answer JSON. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Pull, respond to comments, add image property, add more tests. Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/omnibox/SuggestionAnswer.java » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.omnibox; 5 package org.chromium.chrome.browser.omnibox;
6 6
7 import android.text.TextUtils; 7 import android.text.TextUtils;
8 8
9 import com.google.common.annotations.VisibleForTesting; 9 import com.google.common.annotations.VisibleForTesting;
10 10
11 /** 11 /**
12 * Container class with information about each omnibox suggestion item. 12 * Container class with information about each omnibox suggestion item.
13 */ 13 */
14 @VisibleForTesting 14 @VisibleForTesting
15 public class OmniboxSuggestion { 15 public class OmniboxSuggestion {
16 16
17 private final Type mType; 17 private final Type mType;
18 private final String mDisplayText; 18 private final String mDisplayText;
19 private final String mDescription; 19 private final String mDescription;
20 private final String mAnswerContents; 20 private final String mAnswerContents;
21 private final String mAnswerType; 21 private final String mAnswerType;
22 private final SuggestionAnswer mAnswer;
22 private final String mFillIntoEdit; 23 private final String mFillIntoEdit;
23 private final String mUrl; 24 private final String mUrl;
24 private final String mFormattedUrl; 25 private final String mFormattedUrl;
25 private final int mRelevance; 26 private final int mRelevance;
26 private final int mTransition; 27 private final int mTransition;
27 private final boolean mIsStarred; 28 private final boolean mIsStarred;
28 private final boolean mIsDeletable; 29 private final boolean mIsDeletable;
29 30
30 /** 31 /**
31 * This should be kept in sync with AutocompleteMatch::Type 32 * This should be kept in sync with AutocompleteMatch::Type
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 mTransition = transition; 98 mTransition = transition;
98 mDisplayText = text; 99 mDisplayText = text;
99 mDescription = description; 100 mDescription = description;
100 mAnswerContents = answerContents; 101 mAnswerContents = answerContents;
101 mAnswerType = answerType; 102 mAnswerType = answerType;
102 mFillIntoEdit = TextUtils.isEmpty(fillIntoEdit) ? text : fillIntoEdit; 103 mFillIntoEdit = TextUtils.isEmpty(fillIntoEdit) ? text : fillIntoEdit;
103 mUrl = url; 104 mUrl = url;
104 mFormattedUrl = formattedUrl; 105 mFormattedUrl = formattedUrl;
105 mIsStarred = isStarred; 106 mIsStarred = isStarred;
106 mIsDeletable = isDeletable; 107 mIsDeletable = isDeletable;
108
109 if (!TextUtils.isEmpty(mAnswerContents)) {
110 // If any errors are encountered parsing the answer contents, this w ill return null and
111 // hasAnswer will return false, just as if there were no answer cont ents at all.
112 mAnswer = SuggestionAnswer.parseAnswerContents(mAnswerContents);
113 } else {
114 mAnswer = null;
115 }
107 } 116 }
108 117
109 /* TODO(groby): Remove - see http://crbug.com/375482 */ 118 /* TODO(groby): Remove - see http://crbug.com/375482 */
110 public OmniboxSuggestion(int nativeType, int relevance, int transition, 119 public OmniboxSuggestion(int nativeType, int relevance, int transition,
111 String text, String description, String fillIntoEdit, String url, 120 String text, String description, String fillIntoEdit, String url,
112 String formattedUrl, boolean isStarred, boolean isDeletable) { 121 String formattedUrl, boolean isStarred, boolean isDeletable) {
113 this(nativeType, relevance, transition, text, description, null, null, f illIntoEdit, url, 122 this(nativeType, relevance, transition, text, description, null, null, f illIntoEdit, url,
114 formattedUrl, isStarred, isDeletable); 123 formattedUrl, isStarred, isDeletable);
115 } 124 }
116 125
(...skipping 14 matching lines...) Expand all
131 } 140 }
132 141
133 public String getAnswerContents() { 142 public String getAnswerContents() {
134 return mAnswerContents; 143 return mAnswerContents;
135 } 144 }
136 145
137 public String getAnswerType() { 146 public String getAnswerType() {
138 return mAnswerType; 147 return mAnswerType;
139 } 148 }
140 149
150 public SuggestionAnswer getAnswer() {
151 return mAnswer;
152 }
153
154 public boolean hasAnswer() {
155 return mAnswer != null;
156 }
157
141 public String getFillIntoEdit() { 158 public String getFillIntoEdit() {
142 return mFillIntoEdit; 159 return mFillIntoEdit;
143 } 160 }
144 161
145 public String getUrl() { 162 public String getUrl() {
146 return mUrl; 163 return mUrl;
147 } 164 }
148 165
149 public String getFormattedUrl() { 166 public String getFormattedUrl() {
150 return mFormattedUrl; 167 return mFormattedUrl;
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 suggestion.mAnswerContents != null && 211 suggestion.mAnswerContents != null &&
195 mAnswerContents.equals(suggestion.mAnswerContents)); 212 mAnswerContents.equals(suggestion.mAnswerContents));
196 return mType == suggestion.mType 213 return mType == suggestion.mType
197 && mFillIntoEdit.equals(suggestion.mFillIntoEdit) 214 && mFillIntoEdit.equals(suggestion.mFillIntoEdit)
198 && mDisplayText.equals(suggestion.mDisplayText) 215 && mDisplayText.equals(suggestion.mDisplayText)
199 && answersAreEqual 216 && answersAreEqual
200 && mIsStarred == suggestion.mIsStarred 217 && mIsStarred == suggestion.mIsStarred
201 && mIsDeletable == suggestion.mIsDeletable; 218 && mIsDeletable == suggestion.mIsDeletable;
202 } 219 }
203 } 220 }
OLDNEW
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/omnibox/SuggestionAnswer.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698