public MessageConverter(Context context,
Preferences preferences,
String userEmail,
PersonLookup personLookup,
ContactAccessor contactAccessor) {
this.context = context;
markAsReadType = preferences.getMarkAsReadType();
this.personLookup = personLookup;
markAsReadOnRestore = preferences.getMarkAsReadOnRestore();
String referenceUid = preferences.getReferenceUid();
if (referenceUid == null) {
referenceUid = generateReferenceValue();
preferences.setReferenceUid(referenceUid);
}
final ContactGroup backupContactGroup = preferences.getBackupContactGroup();
ContactGroupIds allowedIds = contactAccessor.getGroupContactIds(context.getContentResolver(), backupContactGroup);
if (LOCAL_LOGV) Log.v(TAG, "whitelisted ids for backup: " + allowedIds);
messageGenerator = new MessageGenerator(context,
new Address(userEmail),
preferences.getEmailAddressStyle(),
new HeaderGenerator(referenceUid, App.getVersionCode(context)),
personLookup,
preferences.getMailSubjectPrefix(),
allowedIds,
new MmsSupport(context.getContentResolver(), personLookup),
preferences.getCallLogType(),
preferences.getDataTypePreferences());
}