summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chiao Cheng <chiaocheng@google.com> 2013-06-17 18:31:34 -0700
committer Chiao Cheng <chiaocheng@google.com> 2013-06-17 18:31:34 -0700
commit31b730a009cf439426a865aa428804912e9d7da0 (patch)
tree4e51f5573d5d13019fc51e92615dc0c96ea7182e
parent72b29c3abb3ef9771bf8d5871fa2d9093e9896ef (diff)
Remove un-used snippetize method from ContactsContract.
Bug: 7896653 Change-Id: I5db6f9a58ce747605f66c681036795cdd3ed5d01
-rw-r--r--core/java/android/provider/ContactsContract.java139
1 files changed, 2 insertions, 137 deletions
diff --git a/core/java/android/provider/ContactsContract.java b/core/java/android/provider/ContactsContract.java
index 220b99717aa3..e59f5b136165 100644
--- a/core/java/android/provider/ContactsContract.java
+++ b/core/java/android/provider/ContactsContract.java
@@ -5105,9 +5105,8 @@ public final class ContactsContract {
* Value of 1 implies true, 0 implies false when 0 is the default.
* When a cursor is returned to the client, it should check for an extra with the name
* {@link ContactsContract#DEFERRED_SNIPPETING} in the cursor. If it exists, the client
- * should do its own snippeting using {@link ContactsContract#snippetize}. If
- * it doesn't exist, the snippet column in the cursor should already contain a snippetized
- * string.
+ * should do its own snippeting. If it doesn't exist, the snippet column in the cursor
+ * should already contain a snippetized string.
*
* @hide
*/
@@ -8463,138 +8462,4 @@ public final class ContactsContract {
public static final String DATA_SET = "com.android.contacts.extra.DATA_SET";
}
}
-
- /**
- * Creates a snippet out of the given content that matches the given query.
- * @param content - The content to use to compute the snippet.
- * @param displayName - Display name for the contact - if this already contains the search
- * content, no snippet should be shown.
- * @param query - String to search for in the content.
- * @param snippetStartMatch - Marks the start of the matching string in the snippet.
- * @param snippetEndMatch - Marks the end of the matching string in the snippet.
- * @param snippetEllipsis - Ellipsis string appended to the end of the snippet (if too long).
- * @param snippetMaxTokens - Maximum number of words from the snippet that will be displayed.
- * @return The computed snippet, or null if the snippet could not be computed or should not be
- * shown.
- *
- * @hide
- */
- public static String snippetize(String content, String displayName, String query,
- char snippetStartMatch, char snippetEndMatch, String snippetEllipsis,
- int snippetMaxTokens) {
-
- String lowerQuery = query != null ? query.toLowerCase() : null;
- if (TextUtils.isEmpty(content) || TextUtils.isEmpty(query) ||
- TextUtils.isEmpty(displayName) || !content.toLowerCase().contains(lowerQuery)) {
- return null;
- }
-
- // If the display name already contains the query term, return empty - snippets should
- // not be needed in that case.
- String lowerDisplayName = displayName != null ? displayName.toLowerCase() : "";
- List<String> nameTokens = new ArrayList<String>();
- List<Integer> nameTokenOffsets = new ArrayList<Integer>();
- split(lowerDisplayName.trim(), nameTokens, nameTokenOffsets);
- for (String nameToken : nameTokens) {
- if (nameToken.startsWith(lowerQuery)) {
- return null;
- }
- }
-
- String[] contentLines = content.split("\n");
-
- // Locate the lines of the content that contain the query term.
- for (String contentLine : contentLines) {
- if (contentLine.toLowerCase().contains(lowerQuery)) {
-
- // Line contains the query string - now search for it at the start of tokens.
- List<String> lineTokens = new ArrayList<String>();
- List<Integer> tokenOffsets = new ArrayList<Integer>();
- split(contentLine, lineTokens, tokenOffsets);
-
- // As we find matches against the query, we'll populate this list with the marked
- // (or unchanged) tokens.
- List<String> markedTokens = new ArrayList<String>();
-
- int firstToken = -1;
- int lastToken = -1;
- for (int i = 0; i < lineTokens.size(); i++) {
- String token = lineTokens.get(i);
- String lowerToken = token.toLowerCase();
- if (lowerToken.startsWith(lowerQuery)) {
-
- // Query term matched; surround the token with match markers.
- markedTokens.add(snippetStartMatch + token + snippetEndMatch);
-
- // If this is the first token found with a match, mark the token
- // positions to use for assembling the snippet.
- if (firstToken == -1) {
- firstToken =
- Math.max(0, i - (int) Math.floor(
- Math.abs(snippetMaxTokens)
- / 2.0));
- lastToken =
- Math.min(lineTokens.size(), firstToken +
- Math.abs(snippetMaxTokens));
- }
- } else {
- markedTokens.add(token);
- }
- }
-
- // Assemble the snippet by piecing the tokens back together.
- if (firstToken > -1) {
- StringBuilder sb = new StringBuilder();
- if (firstToken > 0) {
- sb.append(snippetEllipsis);
- }
- for (int i = firstToken; i < lastToken; i++) {
- String markedToken = markedTokens.get(i);
- String originalToken = lineTokens.get(i);
- sb.append(markedToken);
- if (i < lastToken - 1) {
- // Add the characters that appeared between this token and the next.
- sb.append(contentLine.substring(
- tokenOffsets.get(i) + originalToken.length(),
- tokenOffsets.get(i + 1)));
- }
- }
- if (lastToken < lineTokens.size()) {
- sb.append(snippetEllipsis);
- }
- return sb.toString();
- }
- }
- }
- return null;
- }
-
- /**
- * Pattern for splitting a line into tokens. This matches e-mail addresses as a single token,
- * otherwise splitting on any group of non-alphanumeric characters.
- *
- * @hide
- */
- private static Pattern SPLIT_PATTERN =
- Pattern.compile("([\\w-\\.]+)@((?:[\\w]+\\.)+)([a-zA-Z]{2,4})|[\\w]+");
-
- /**
- * Helper method for splitting a string into tokens. The lists passed in are populated with the
- * tokens and offsets into the content of each token. The tokenization function parses e-mail
- * addresses as a single token; otherwise it splits on any non-alphanumeric character.
- * @param content Content to split.
- * @param tokens List of token strings to populate.
- * @param offsets List of offsets into the content for each token returned.
- *
- * @hide
- */
- private static void split(String content, List<String> tokens, List<Integer> offsets) {
- Matcher matcher = SPLIT_PATTERN.matcher(content);
- while (matcher.find()) {
- tokens.add(matcher.group());
- offsets.add(matcher.start());
- }
- }
-
-
}