Honor password visible setting in CryptKeeper
Requires matching framework change: https://googleplex-android-review.git.corp.google.com/#/c/692822/ Bug: 20184626 Change-Id: I04bfb9ed61a7b40fbc28fbc0b4b10bf848b34a2c
This commit is contained in:
@@ -474,6 +474,7 @@ public class CryptKeeper extends Activity implements TextView.OnEditorActionList
|
|||||||
int passwordType = StorageManager.CRYPT_TYPE_PASSWORD;
|
int passwordType = StorageManager.CRYPT_TYPE_PASSWORD;
|
||||||
String owner_info;
|
String owner_info;
|
||||||
boolean pattern_visible;
|
boolean pattern_visible;
|
||||||
|
boolean password_visible;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Void doInBackground(Void... v) {
|
public Void doInBackground(Void... v) {
|
||||||
@@ -482,6 +483,7 @@ public class CryptKeeper extends Activity implements TextView.OnEditorActionList
|
|||||||
passwordType = service.getPasswordType();
|
passwordType = service.getPasswordType();
|
||||||
owner_info = service.getField(StorageManager.OWNER_INFO_KEY);
|
owner_info = service.getField(StorageManager.OWNER_INFO_KEY);
|
||||||
pattern_visible = !("0".equals(service.getField(StorageManager.PATTERN_VISIBLE_KEY)));
|
pattern_visible = !("0".equals(service.getField(StorageManager.PATTERN_VISIBLE_KEY)));
|
||||||
|
password_visible = !("0".equals(service.getField(StorageManager.PASSWORD_VISIBLE_KEY)));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Log.e(TAG, "Error calling mount service " + e);
|
Log.e(TAG, "Error calling mount service " + e);
|
||||||
}
|
}
|
||||||
@@ -491,6 +493,9 @@ public class CryptKeeper extends Activity implements TextView.OnEditorActionList
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPostExecute(java.lang.Void v) {
|
public void onPostExecute(java.lang.Void v) {
|
||||||
|
Settings.System.putInt(getContentResolver(), Settings.System.TEXT_SHOW_PASSWORD,
|
||||||
|
password_visible ? 1 : 0);
|
||||||
|
|
||||||
if (passwordType == StorageManager.CRYPT_TYPE_PIN) {
|
if (passwordType == StorageManager.CRYPT_TYPE_PIN) {
|
||||||
setContentView(R.layout.crypt_keeper_pin_entry);
|
setContentView(R.layout.crypt_keeper_pin_entry);
|
||||||
mStatusString = R.string.enter_pin;
|
mStatusString = R.string.enter_pin;
|
||||||
|
@@ -27,6 +27,7 @@ import android.os.IBinder;
|
|||||||
import android.os.ServiceManager;
|
import android.os.ServiceManager;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.os.storage.IMountService;
|
import android.os.storage.IMountService;
|
||||||
|
import android.provider.Settings;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@@ -127,6 +128,11 @@ public class CryptKeeperConfirm extends InstrumentedFragment {
|
|||||||
utils.setOwnerInfo(utils.getOwnerInfo(UserHandle.USER_OWNER),
|
utils.setOwnerInfo(utils.getOwnerInfo(UserHandle.USER_OWNER),
|
||||||
UserHandle.USER_OWNER);
|
UserHandle.USER_OWNER);
|
||||||
}
|
}
|
||||||
|
int value = Settings.System.getInt(getContext().getContentResolver(),
|
||||||
|
Settings.System.TEXT_SHOW_PASSWORD,
|
||||||
|
1);
|
||||||
|
utils.setVisiblePasswordEnabled(value != 0, UserHandle.USER_OWNER);
|
||||||
|
|
||||||
Intent intent = new Intent(getActivity(), Blank.class);
|
Intent intent = new Intent(getActivity(), Blank.class);
|
||||||
intent.putExtras(getArguments());
|
intent.putExtras(getArguments());
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
|
@@ -689,6 +689,7 @@ public class SecuritySettings extends SettingsPreferenceFragment
|
|||||||
} else if (KEY_SHOW_PASSWORD.equals(key)) {
|
} else if (KEY_SHOW_PASSWORD.equals(key)) {
|
||||||
Settings.System.putInt(getContentResolver(), Settings.System.TEXT_SHOW_PASSWORD,
|
Settings.System.putInt(getContentResolver(), Settings.System.TEXT_SHOW_PASSWORD,
|
||||||
((Boolean) value) ? 1 : 0);
|
((Boolean) value) ? 1 : 0);
|
||||||
|
lockPatternUtils.setVisiblePasswordEnabled((Boolean) value, MY_USER_ID);
|
||||||
} else if (KEY_TOGGLE_INSTALL_APPLICATIONS.equals(key)) {
|
} else if (KEY_TOGGLE_INSTALL_APPLICATIONS.equals(key)) {
|
||||||
if ((Boolean) value) {
|
if ((Boolean) value) {
|
||||||
mToggleAppInstallation.setChecked(false);
|
mToggleAppInstallation.setChecked(false);
|
||||||
|
Reference in New Issue
Block a user