Lines Matching full:quality
192 int quality = intent.getIntExtra(LockPatternUtils.PASSWORD_TYPE_KEY, -1);
193 if (quality == -1) {
194 // If caller didn't specify password quality, show UI and allow the user to choose.
195 quality = intent.getIntExtra(MINIMUM_QUALITY_KEY, -1);
197 quality = upgradeQuality(quality, allowBiometric);
203 disableUnusablePreferences(quality, allowBiometric);
205 updateUnlockMethodAndFinish(quality, false);
209 /** increases the quality if necessary, and returns whether biometric is allowed */
210 private int upgradeQuality(int quality, MutableBoolean allowBiometric) {
211 quality = upgradeQualityForDPM(quality);
212 quality = upgradeQualityForKeyStore(quality);
213 int encryptionQuality = upgradeQualityForEncryption(quality);
214 if (encryptionQuality > quality) {
218 allowBiometric.value = quality <=
220 } else if (quality == DevicePolicyManager.PASSWORD_QUALITY_BIOMETRIC_WEAK) {
223 return quality;
229 private int upgradeQualityForDPM(int quality) {
230 // Compare min allowed password quality
232 if (quality < minQuality) {
233 quality = minQuality;
235 return quality;
239 * Mix in "encryption minimums" to any given quality value. This prevents users
242 * ASSUMPTION: Setting quality is sufficient (e.g. minimum lengths will be set
245 private int upgradeQualityForEncryption(int quality) {
250 if (quality < CryptKeeperSettings.MIN_PASSWORD_QUALITY) {
251 quality = CryptKeeperSettings.MIN_PASSWORD_QUALITY;
254 return quality;
257 private int upgradeQualityForKeyStore(int quality) {
259 if (quality < CredentialStorage.MIN_PASSWORD_QUALITY) {
260 quality = CredentialStorage.MIN_PASSWORD_QUALITY;
263 return quality;
267 * Disables preferences that are less secure than required quality.
269 * @param quality the requested quality.
271 private void disableUnusablePreferences(final int quality, MutableBoolean allowBiometric) {
290 enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
293 enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
295 enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_BIOMETRIC_WEAK ||
299 enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_SOMETHING;
301 enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_NUMERIC;
303 enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_COMPLEX;
345 * Invokes an activity to change the user's pattern, password or PIN based on given quality
346 * and minimum quality specified by DevicePolicyManager. If quality is
349 * @param quality the desired quality. Ignored if DevicePolicyManager requires more security
350 * @param disabled whether or not to show LockScreen at all. Only meaningful when quality is
353 void updateUnlockMethodAndFinish(int quality, boolean disabled) {
362 quality = upgradeQuality(quality, null);
364 if (quality >= DevicePolicyManager.PASSWORD_QUALITY_NUMERIC) {
369 final int maxLength = mDPM.getPasswordMaximumLength(quality);
371 intent.putExtra(LockPatternUtils.PASSWORD_TYPE_KEY, quality);
385 } else if (quality == DevicePolicyManager.PASSWORD_QUALITY_SOMETHING) {
403 } else if (quality == DevicePolicyManager.PASSWORD_QUALITY_BIOMETRIC_WEAK) {
407 } else if (quality == DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED) {