All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.xtremelabs.robolectric.shadows.ShadowPasswordTransformationMethod Maven / Gradle / Ivy

There is a newer version: 1.2
Show newest version
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);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy