package com.eyecreate.miceandmystics.miceandmystics; import android.app.Application; import android.content.SharedPreferences; import com.eyecreate.miceandmystics.miceandmystics.model.*; import com.eyecreate.miceandmystics.miceandmystics.model.Character; import com.eyecreate.miceandmystics.miceandmystics.model.Enums.Abilities; import com.eyecreate.miceandmystics.miceandmystics.model.Enums.CampaignType; import com.eyecreate.miceandmystics.miceandmystics.model.Enums.CharacterNames; import io.realm.Realm; import io.realm.RealmResults; import uk.co.chrisjenx.calligraphy.CalligraphyConfig; public class MiceAndMysticsApplication extends Application { private static MiceAndMysticsApplication singletonApplication; private static Realm singletonRealm; @Override public void onCreate() { super.onCreate(); singletonApplication = this; singletonRealm = Realm.getInstance(this); CalligraphyConfig.initDefault(new CalligraphyConfig.Builder() .setDefaultFontPath("ArchitectsDaughter.ttf") .setFontAttrId(R.attr.fontPath) .build() ); checkForPreLocalization(); } private void checkForPreLocalization() { //Check if there are DB items and migration check flag isn't set yet. //If so, take all abilities, achievements, campaign names, and character names and make them enum names. //Optionally, be sad I didn't think of this before now. if(!getSharedPreferences("dbcheck", MODE_PRIVATE).contains("localizationchecked") && getRealmInstance().where(Campaign.class).findAll().size()>0) { getRealmInstance().beginTransaction(); RealmResults abilities = getRealmInstance().where(Ability.class).findAll(); for(int i = 0; i achievements = getRealmInstance().where(Achievement.class).findAll(); for(int i = 0; i campaigns = getRealmInstance().where(Campaign.class).findAll(); for(int i = 0;i characters = getRealmInstance().where(Character.class).findAll(); for(int i = 0;i