13d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda/* 23d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda * Copyright (C) 2011 The Android Open Source Project 33d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda * 43d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda * Licensed under the Apache License, Version 2.0 (the "License"); 53d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda * you may not use this file except in compliance with the License. 63d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda * You may obtain a copy of the License at 73d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda * 83d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda * http://www.apache.org/licenses/LICENSE-2.0 93d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda * 103d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda * Unless required by applicable law or agreed to in writing, software 113d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda * distributed under the License is distributed on an "AS IS" BASIS, 123d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 133d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda * See the License for the specific language governing permissions and 143d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda * limitations under the License. 153d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda */ 163d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda 173d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerdapackage com.android.contacts.format; 183d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda 193d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerdaimport com.android.contacts.widget.TextWithHighlighting; 203d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerdaimport com.android.contacts.widget.TextWithHighlightingFactory; 213d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda 223d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerdaimport android.database.CharArrayBuffer; 233d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerdaimport android.graphics.Typeface; 243d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerdaimport android.text.SpannableStringBuilder; 253d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerdaimport android.text.style.StyleSpan; 263d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda 273d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda/** A factory for {@link TextWithHighlighting} that wraps its parts in italics. */ 283d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerdapublic final class TestTextWithHighlightingFactory implements TextWithHighlightingFactory { 293d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda /** A {@link TextWithHighlighting} implementation that wraps its parts in italics. */ 303d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda private final static class TestTextWithHighlighting extends SpannableStringBuilder 313d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda implements TextWithHighlighting { 323d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda @Override 333d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda public void setText(CharArrayBuffer baseText, CharArrayBuffer highlightedText) { 343d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda append(new String(baseText.data, 0, baseText.sizeCopied)); 353d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda append(' '); 363d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda append(new String(highlightedText.data, 0, highlightedText.sizeCopied)); 373d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda setSpan(new StyleSpan(Typeface.ITALIC), 0, baseText.sizeCopied, 0); 383d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda setSpan(new StyleSpan(Typeface.ITALIC), baseText.sizeCopied + 1, 393d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda baseText.sizeCopied + 1 + highlightedText.sizeCopied, 0); 403d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda } 413d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda } 423d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda 433d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda @Override 443d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda public TextWithHighlighting createTextWithHighlighting() { 453d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda return new TestTextWithHighlighting(); 463d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda } 473d7311f76f3f41a5794b01536498c634b3ff2a69Flavio Lerda}