Check for missing preference before setting title.

Some preferences aren't available due to DPM, so check for null
before setting the title.

Fixes bug 31184335

Change-Id: I69f97274eef87755269fd8f7897edcc36087f8b2
This commit is contained in:
Jim Miller
2016-09-09 11:54:12 -07:00
parent 20d19a89da
commit 06458be226

View File

@@ -355,14 +355,18 @@ public class ChooseLockGeneric extends SettingsActivity {
private void updatePreferenceText() { private void updatePreferenceText() {
if (mForFingerprint) { if (mForFingerprint) {
Preference pattern = findPreference(KEY_UNLOCK_SET_PATTERN); final String key[] = { KEY_UNLOCK_SET_PATTERN,
pattern.setTitle(R.string.fingerprint_unlock_set_unlock_pattern); KEY_UNLOCK_SET_PIN,
KEY_UNLOCK_SET_PASSWORD };
Preference pin = findPreference(KEY_UNLOCK_SET_PIN); final int res[] = { R.string.fingerprint_unlock_set_unlock_pattern,
pin.setTitle(R.string.fingerprint_unlock_set_unlock_pin); R.string.fingerprint_unlock_set_unlock_pin,
R.string.fingerprint_unlock_set_unlock_password };
Preference password = findPreference(KEY_UNLOCK_SET_PASSWORD); for (int i = 0; i < key.length; i++) {
password.setTitle(R.string.fingerprint_unlock_set_unlock_password); Preference pref = findPreference(key[i]);
if (pref != null) { // can be removed by device admin
pref.setTitle(res[i]);
}
}
} }
if (mManagedPasswordProvider.isSettingManagedPasswordSupported()) { if (mManagedPasswordProvider.isSettingManagedPasswordSupported()) {