Fix refresh issue w/ mSecurityFlags preference stored as an int

Bug: 2803604
Change-Id: I150ca8b5049e6aec022819eb768caa1e3c3ce183
This commit is contained in:
Marc Blank 2010-07-02 15:19:25 -07:00
parent 42ff939e3a
commit d07cb4ba4e

View File

@ -177,7 +177,13 @@ public class Account {
mBackupFlags = preferences.mSharedPreferences.getInt(mUuid + KEY_BACKUP_FLAGS, 0); mBackupFlags = preferences.mSharedPreferences.getInt(mUuid + KEY_BACKUP_FLAGS, 0);
mProtocolVersion = preferences.mSharedPreferences.getString(mUuid + KEY_PROTOCOL_VERSION, mProtocolVersion = preferences.mSharedPreferences.getString(mUuid + KEY_PROTOCOL_VERSION,
null); null);
mSecurityFlags = preferences.mSharedPreferences.getLong(mUuid + KEY_SECURITY_FLAGS, 0); // Wrap this in a try/catch, as this preference was formerly saved as an int (the value no
// longer fits in an int, and is now stored as a long)
try {
mSecurityFlags = preferences.mSharedPreferences.getLong(mUuid + KEY_SECURITY_FLAGS, 0);
} catch (ClassCastException e) {
mSecurityFlags = preferences.mSharedPreferences.getInt(mUuid + KEY_SECURITY_FLAGS, 0);
}
mSignature = preferences.mSharedPreferences.getString(mUuid + KEY_SIGNATURE, null); mSignature = preferences.mSharedPreferences.getString(mUuid + KEY_SIGNATURE, null);
} }