CrackMe.apk
Download file
package com.google.android.material.textfield;
import android.text.Editable;
import android.text.TextWatcher;
import android.text.method.PasswordTransformationMethod;
import android.text.method.TransformationMethod;
import android.view.View;
import android.widget.EditText;
import androidx.appcompat.content.res.AppCompatResources;
import com.google.android.material.R;
import com.google.android.material.textfield.TextInputLayout;
class PasswordToggleEndIconDelegate extends EndIconDelegate {
private final TextInputLayout.OnEditTextAttachedListener onEditTextAttachedListener = new TextInputLayout.OnEditTextAttachedListener() {
public void onEditTextAttached(TextInputLayout textInputLayout) {
EditText editText = textInputLayout.getEditText();
textInputLayout.setEndIconVisible(true);
PasswordToggleEndIconDelegate.this.endIconView.setChecked(true ^ PasswordToggleEndIconDelegate.this.hasPasswordTransformation());
editText.removeTextChangedListener(PasswordToggleEndIconDelegate.this.textWatcher);
editText.addTextChangedListener(PasswordToggleEndIconDelegate.this.textWatcher);
}
};
private final TextInputLayout.OnEndIconChangedListener onEndIconChangedListener = new TextInputLayout.OnEndIconChangedListener() {
public void onEndIconChanged(TextInputLayout textInputLayout, int i) {
EditText editText = textInputLayout.getEditText();
if (editText != null && i == 1) {
editText.setTransformationMethod(PasswordTransformationMethod.getInstance());
}
}
};
/* access modifiers changed from: private */
public final TextWatcher textWatcher = new TextWatcher() {
public void afterTextChanged(Editable editable) {
}
public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {
}
public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) {
PasswordToggleEndIconDelegate.this.endIconView.setChecked(!PasswordToggleEndIconDelegate.this.hasPasswordTransformation());
}
};
PasswordToggleEndIconDelegate(TextInputLayout textInputLayout) {
super(textInputLayout);
}
/* access modifiers changed from: package-private */
public void initialize() {
this.textInputLayout.setEndIconDrawable(AppCompatResources.getDrawable(this.context, R.drawable.design_password_eye));
this.textInputLayout.setEndIconContentDescription(this.textInputLayout.getResources().getText(R.string.password_toggle_content_description));
this.textInputLayout.setEndIconOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
EditText editText = PasswordToggleEndIconDelegate.this.textInputLayout.getEditText();
if (editText != null) {
int selectionEnd = editText.getSelectionEnd();
if (PasswordToggleEndIconDelegate.this.hasPasswordTransformation()) {
editText.setTransformationMethod((TransformationMethod) null);
} else {
editText.setTransformationMethod(PasswordTransformationMethod.getInstance());
}
if (selectionEnd >= 0) {
editText.setSelection(selectionEnd);
}
}
}
});
this.textInputLayout.addOnEditTextAttachedListener(this.onEditTextAttachedListener);
this.textInputLayout.addOnEndIconChangedListener(this.onEndIconChangedListener);
}
/* access modifiers changed from: private */
public boolean hasPasswordTransformation() {
EditText editText = this.textInputLayout.getEditText();
return editText != null && (editText.getTransformationMethod() instanceof PasswordTransformationMethod);
}
}
Download file