blob: 69235d57722dd3ed42e2247d2303ece3dd860141 [file] [log] [blame]
package com.xtremelabs.robolectric.shadows;
import android.graphics.Rect;
import android.text.method.PasswordTransformationMethod;
import android.text.method.TransformationMethod;
import android.view.View;
import com.xtremelabs.robolectric.internal.Implementation;
import com.xtremelabs.robolectric.internal.Implements;
@Implements(PasswordTransformationMethod.class)
public class ShadowPasswordTransformationMethod implements TransformationMethod {
private static ShadowPasswordTransformationMethod transformationMethod;
@Implementation
public CharSequence getTransformation(CharSequence charSequence, View view) {
if(isEmpty(charSequence)) {
return "";
}
return String.format(String.format("%%0%dd", charSequence.length()), 0).replace("0", "\u2022");
}
@Implementation
public static ShadowPasswordTransformationMethod getInstance() {
if(transformationMethod == null){
transformationMethod = new ShadowPasswordTransformationMethod();
}
return transformationMethod;
}
@Implementation @Override
public void onFocusChanged(View view, CharSequence charSequence, boolean b, int i, Rect rect) { }
private boolean isEmpty(CharSequence value) {
return (value == null || value.length() == 0);
}
}