Hide password for wifi tether
Add summaryPassword variable in ValidatedEditTextPreference. If it is true, set the summary textview with password flag. Bug: 65413204 Test: RunSettingsRoboTests Change-Id: Ia0f1e3ab50e81d8f7f9fc0fb34b35c3041200a4e
This commit is contained in:
@@ -19,6 +19,7 @@ package com.android.settings.widget;
|
|||||||
import android.app.AlertDialog;
|
import android.app.AlertDialog;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.support.annotation.VisibleForTesting;
|
import android.support.annotation.VisibleForTesting;
|
||||||
|
import android.support.v7.preference.PreferenceViewHolder;
|
||||||
import android.text.Editable;
|
import android.text.Editable;
|
||||||
import android.text.InputType;
|
import android.text.InputType;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
@@ -27,6 +28,7 @@ import android.util.AttributeSet;
|
|||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.android.settingslib.CustomEditTextPreference;
|
import com.android.settingslib.CustomEditTextPreference;
|
||||||
|
|
||||||
@@ -42,6 +44,7 @@ public class ValidatedEditTextPreference extends CustomEditTextPreference {
|
|||||||
private final EditTextWatcher mTextWatcher = new EditTextWatcher();
|
private final EditTextWatcher mTextWatcher = new EditTextWatcher();
|
||||||
private Validator mValidator;
|
private Validator mValidator;
|
||||||
private boolean mIsPassword;
|
private boolean mIsPassword;
|
||||||
|
private boolean mIsSummaryPassword;
|
||||||
|
|
||||||
public ValidatedEditTextPreference(Context context, AttributeSet attrs,
|
public ValidatedEditTextPreference(Context context, AttributeSet attrs,
|
||||||
int defStyleAttr, int defStyleRes) {
|
int defStyleAttr, int defStyleRes) {
|
||||||
@@ -78,10 +81,25 @@ public class ValidatedEditTextPreference extends CustomEditTextPreference {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onBindViewHolder(PreferenceViewHolder holder) {
|
||||||
|
super.onBindViewHolder(holder);
|
||||||
|
|
||||||
|
final TextView textView = (TextView) holder.findViewById(android.R.id.summary);
|
||||||
|
if (textView != null && mIsSummaryPassword) {
|
||||||
|
textView.setInputType(
|
||||||
|
InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void setIsPassword(boolean isPassword) {
|
public void setIsPassword(boolean isPassword) {
|
||||||
mIsPassword = isPassword;
|
mIsPassword = isPassword;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setIsSummaryPassword(boolean isPassword) {
|
||||||
|
mIsSummaryPassword = isPassword;
|
||||||
|
}
|
||||||
|
|
||||||
@VisibleForTesting(otherwise = VisibleForTesting.NONE)
|
@VisibleForTesting(otherwise = VisibleForTesting.NONE)
|
||||||
public boolean isPassword() {
|
public boolean isPassword() {
|
||||||
return mIsPassword;
|
return mIsPassword;
|
||||||
|
@@ -51,6 +51,7 @@ public class WifiTetherPasswordPreferenceController extends WifiTetherBasePrefer
|
|||||||
Log.d(TAG, "Updating password in Preference, " + mPassword);
|
Log.d(TAG, "Updating password in Preference, " + mPassword);
|
||||||
}
|
}
|
||||||
((ValidatedEditTextPreference) mPreference).setValidator(this);
|
((ValidatedEditTextPreference) mPreference).setValidator(this);
|
||||||
|
((ValidatedEditTextPreference) mPreference).setIsSummaryPassword(true);
|
||||||
updatePasswordDisplay((EditTextPreference) mPreference);
|
updatePasswordDisplay((EditTextPreference) mPreference);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -17,6 +17,7 @@
|
|||||||
package com.android.settings.widget;
|
package com.android.settings.widget;
|
||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import static org.mockito.Matchers.any;
|
import static org.mockito.Matchers.any;
|
||||||
import static org.mockito.Matchers.anyInt;
|
import static org.mockito.Matchers.anyInt;
|
||||||
import static org.mockito.Mockito.never;
|
import static org.mockito.Mockito.never;
|
||||||
@@ -24,10 +25,12 @@ import static org.mockito.Mockito.spy;
|
|||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
import android.support.v7.preference.PreferenceViewHolder;
|
||||||
import android.text.InputType;
|
import android.text.InputType;
|
||||||
import android.text.TextWatcher;
|
import android.text.TextWatcher;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||||
|
|
||||||
@@ -37,6 +40,7 @@ import org.junit.runner.RunWith;
|
|||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
import org.robolectric.RuntimeEnvironment;
|
import org.robolectric.RuntimeEnvironment;
|
||||||
|
import org.robolectric.util.ReflectionHelpers;
|
||||||
|
|
||||||
@RunWith(SettingsRobolectricTestRunner.class)
|
@RunWith(SettingsRobolectricTestRunner.class)
|
||||||
public class ValidatedEditTextPreferenceTest {
|
public class ValidatedEditTextPreferenceTest {
|
||||||
@@ -46,11 +50,15 @@ public class ValidatedEditTextPreferenceTest {
|
|||||||
@Mock
|
@Mock
|
||||||
private ValidatedEditTextPreference.Validator mValidator;
|
private ValidatedEditTextPreference.Validator mValidator;
|
||||||
|
|
||||||
|
private PreferenceViewHolder mViewHolder;
|
||||||
private ValidatedEditTextPreference mPreference;
|
private ValidatedEditTextPreference mPreference;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
|
|
||||||
|
mViewHolder = spy(PreferenceViewHolder.createInstanceForTests(
|
||||||
|
new View(RuntimeEnvironment.application)));
|
||||||
mPreference = new ValidatedEditTextPreference(RuntimeEnvironment.application);
|
mPreference = new ValidatedEditTextPreference(RuntimeEnvironment.application);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -111,4 +119,17 @@ public class ValidatedEditTextPreferenceTest {
|
|||||||
& (InputType.TYPE_TEXT_VARIATION_PASSWORD | InputType.TYPE_CLASS_TEXT))
|
& (InputType.TYPE_TEXT_VARIATION_PASSWORD | InputType.TYPE_CLASS_TEXT))
|
||||||
.isNotEqualTo(0);
|
.isNotEqualTo(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void bindViewHolder_isPassword_shouldSetInputType() {
|
||||||
|
final TextView textView = spy(new TextView(RuntimeEnvironment.application));
|
||||||
|
when(mViewHolder.findViewById(android.R.id.summary)).thenReturn(textView);
|
||||||
|
|
||||||
|
mPreference.setIsSummaryPassword(true);
|
||||||
|
mPreference.onBindViewHolder(mViewHolder);
|
||||||
|
|
||||||
|
assertThat(textView.getInputType()
|
||||||
|
& (InputType.TYPE_TEXT_VARIATION_PASSWORD | InputType.TYPE_CLASS_TEXT))
|
||||||
|
.isNotEqualTo(0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user