package com.android.phone;
import android.text.method.SingleLineTransformationMethod;
import android.widget.TextView;
public class SpecialTextViewTool {
public static void specialDisplayPWForPhoneNumberTextView(TextView textView) {
textView.setTransformationMethod(t);
}
public static String commaSemicolonToPW(String phoneNumberStr) {
String retStr = "";
if (phoneNumberStr == null || phoneNumberStr.length() == 0) {
return retStr;
}
if (phoneNumberStr.indexOf(',') != -1) {
phoneNumberStr = phoneNumberStr.replace(",", "P");
}
if (phoneNumberStr.indexOf(';') != -1) {
phoneNumberStr = phoneNumberStr.replace(";", "W");
}
return phoneNumberStr;
}
private static specialReplacementTransformationMethod t = new specialReplacementTransformationMethod();
static class specialReplacementTransformationMethod extends SingleLineTransformationMethod {
@Override
protected char[] getOriginal() {
// TODO Auto-generated method stub
char[] singleLineCharArray = super.getOriginal();
int singleLineLength = singleLineCharArray.length;
char[] retOriginalCharArray = new char[singleLineLength + 2];
System.arraycopy(singleLineCharArray, 0, retOriginalCharArray, 0, singleLineLength);
retOriginalCharArray[singleLineLength] = ',';
retOriginalCharArray[singleLineLength + 1] = ';';
return retOriginalCharArray;
}
@Override
protected char[] getReplacement() {
// TODO Auto-generated method stub
char[] singleLineReplaceCharArray = super.getOriginal();
int singleLineReplaceLength = singleLineReplaceCharArray.length;
char[] retOriginalReplaceCharArray = new char[singleLineReplaceLength + 2];
System.arraycopy(singleLineReplaceCharArray, 0, retOriginalReplaceCharArray, 0,
singleLineReplaceLength);
retOriginalReplaceCharArray[singleLineReplaceLength] = 'P';
retOriginalReplaceCharArray[singleLineReplaceLength + 1] = 'W';
return retOriginalReplaceCharArray;
}
}
}