package com.google.zxing.client.android;
import android.content.Context;
+import android.graphics.Typeface;
import android.text.SpannableString;
+import android.text.Spannable;
import android.text.style.StyleSpan;
import android.util.AttributeSet;
import android.widget.LinearLayout;
import android.widget.TextView;
+/**
+ * A list item which displays the page number and snippet of this search result.
+ *
+ * @author dswitkin@google.com (Daniel Switkin)
+ */
public final class SearchBookContentsListItem extends LinearLayout {
-
- private TextView mPageNumberView;
- private TextView mSnippetView;
+ private TextView pageNumberView;
+ private TextView snippetView;
SearchBookContentsListItem(Context context) {
super(context);
@Override
protected void onFinishInflate() {
super.onFinishInflate();
- mPageNumberView = (TextView) findViewById(R.id.page_number_view);
- mSnippetView = (TextView) findViewById(R.id.snippet_view);
+ pageNumberView = (TextView) findViewById(R.id.page_number_view);
+ snippetView = (TextView) findViewById(R.id.snippet_view);
}
public void set(SearchBookContentsResult result) {
- mPageNumberView.setText(result.getPageNumber());
+ pageNumberView.setText(result.getPageNumber());
String snippet = result.getSnippet();
if (snippet.length() > 0) {
if (result.getValidSnippet()) {
String lowerQuery = SearchBookContentsResult.getQuery().toLowerCase();
String lowerSnippet = snippet.toLowerCase();
- SpannableString styledSnippet = new SpannableString(snippet);
- StyleSpan boldSpan = new StyleSpan(android.graphics.Typeface.BOLD);
+ Spannable styledSnippet = new SpannableString(snippet);
+ StyleSpan boldSpan = new StyleSpan(Typeface.BOLD);
int queryLength = lowerQuery.length();
int offset = 0;
while (true) {
int pos = lowerSnippet.indexOf(lowerQuery, offset);
- if (pos < 0) break;
+ if (pos < 0) {
+ break;
+ }
styledSnippet.setSpan(boldSpan, pos, pos + queryLength, 0);
offset = pos + queryLength;
}
- mSnippetView.setText(styledSnippet);
+ snippetView.setText(styledSnippet);
} else {
// This may be an error message, so don't try to bold the query terms within it
- mSnippetView.setText(snippet);
+ snippetView.setText(snippet);
}
} else {
- mSnippetView.setText("");
+ snippetView.setText("");
}
}
-
}