package de.devland.masterpassword.util;
import android.content.Context;
import com.google.common.base.Strings;
import com.lyndir.masterpassword.MPSiteType;
import java.util.ArrayList;
import java.util.List;
import de.devland.esperandro.Esperandro;
import de.devland.masterpassword.model.Category;
import de.devland.masterpassword.model.Site;
import de.devland.masterpassword.prefs.DefaultPrefs;
/**
* Created by deekay on 01/10/14.
*/
public class UpgradeManager {
private Context context;
public UpgradeManager(Context context) {
this.context = context;
}
public void onUpgrade(int oldVersion, int newVersion) {
DefaultPrefs defaultPrefs = Esperandro.getPreferences(DefaultPrefs.class, context);
if (defaultPrefs.defaultPasswordType().equals("\"GeneratedMaximum\"")) {
defaultPrefs.defaultPasswordType(MPSiteType.GeneratedMaximum.toString());
}
if (defaultPrefs.sortBy().equals(Site.SITE_NAME)) {
defaultPrefs.sortBy(Site.SITE_NAME + Site.NOCASE_ORDER_SUFFIX);
}
List<Category> categories = defaultPrefs.categories();
List<Category> toRemove = new ArrayList<>();
if (categories != null) {
for (Category category : categories) {
if (Strings.isNullOrEmpty(category.getName())) {
toRemove.add(category);
}
}
categories.removeAll(toRemove);
}
}
}