"); 14 | sb.append(title); 15 | sb.append("
\n"); 16 | } 17 | return sb.toString(); 18 | } 19 | 20 | public String renderStatBlockBreaker(String title) { 21 | StringBuilder sb = new StringBuilder(); 22 | if (title != null) { 23 | sb.append("\n"); 24 | sb.append(title); 25 | sb.append("
\n"); 26 | } 27 | return sb.toString(); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /app/src/main/java/org/evilsoft/pathfinder/reference/render/html/TableRenderer.java: -------------------------------------------------------------------------------- 1 | package org.evilsoft.pathfinder.reference.render.html; 2 | 3 | public class TableRenderer extends HtmlRenderer { 4 | public TableRenderer() { 5 | } 6 | 7 | @Override 8 | public String renderTitle() { 9 | return ""; 10 | } 11 | 12 | @Override 13 | public String renderDetails() { 14 | return ""; 15 | } 16 | 17 | @Override 18 | public String renderFooter() { 19 | return ""; 20 | } 21 | 22 | @Override 23 | public String renderHeader() { 24 | return ""; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/src/main/java/org/evilsoft/pathfinder/reference/render/html/TalentRenderer.java: -------------------------------------------------------------------------------- 1 | package org.evilsoft.pathfinder.reference.render.html; 2 | 3 | import android.database.Cursor; 4 | 5 | import org.evilsoft.pathfinder.reference.db.book.TalentAdapter; 6 | import org.evilsoft.pathfinder.reference.db.book.BookDbAdapter; 7 | 8 | public class TalentRenderer extends StatBlockRenderer { 9 | private BookDbAdapter bookDbAdapter; 10 | 11 | public TalentRenderer(BookDbAdapter bookDbAdapter) { 12 | this.bookDbAdapter = bookDbAdapter; 13 | } 14 | 15 | @Override 16 | public String renderTitle() { 17 | return renderStatBlockTitle(name, newUri, top); 18 | } 19 | 20 | @Override 21 | public String renderDetails() { 22 | Cursor cursor = bookDbAdapter.getTalentAdapter().getTalentDetails(sectionId); 23 | try { 24 | StringBuilder sb = new StringBuilder(); 25 | boolean has_next = cursor.moveToFirst(); 26 | if (has_next) { 27 | sb.append(addField("Element", TalentAdapter.TalentUtils.getElement(cursor), false)); 28 | sb.append(addField("Type", TalentAdapter.TalentUtils.getTalentType(cursor), false)); 29 | sb.append(addField("Level", TalentAdapter.TalentUtils.getLevel(cursor), false)); 30 | sb.append(addField("Burn", TalentAdapter.TalentUtils.getBurn(cursor))); 31 | sb.append(addField("Prerequisites", TalentAdapter.TalentUtils.getPrerequisite(cursor))); 32 | sb.append(addField("Blast Type", TalentAdapter.TalentUtils.getBlastType(cursor), false)); 33 | sb.append(addField("Damage", TalentAdapter.TalentUtils.getDamage(cursor))); 34 | sb.append(addField("Associated Blasts", TalentAdapter.TalentUtils.getAssociatedBlasts(cursor))); 35 | sb.append(addField("Saving Throw", TalentAdapter.TalentUtils.getSavingThrow(cursor), false)); 36 | sb.append(addField("Spell Resistance", TalentAdapter.TalentUtils.getSpellResistance(cursor))); 37 | } 38 | return sb.toString(); 39 | } finally { 40 | cursor.close(); 41 | } 42 | } 43 | 44 | @Override 45 | public String renderFooter() { 46 | return ""; 47 | } 48 | 49 | @Override 50 | public String renderHeader() { 51 | return ""; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /app/src/main/java/org/evilsoft/pathfinder/reference/render/json/AbilityRenderer.java: -------------------------------------------------------------------------------- 1 | package org.evilsoft.pathfinder.reference.render.json; 2 | 3 | import org.evilsoft.pathfinder.reference.db.book.AbilityAdapter; 4 | import org.evilsoft.pathfinder.reference.db.book.BookDbAdapter; 5 | import org.json.JSONArray; 6 | import org.json.JSONException; 7 | import org.json.JSONObject; 8 | 9 | import android.database.Cursor; 10 | 11 | public class AbilityRenderer extends JsonRenderer { 12 | private BookDbAdapter bookDbAdapter; 13 | 14 | public AbilityRenderer(BookDbAdapter bookDbAdapter) { 15 | this.bookDbAdapter = bookDbAdapter; 16 | } 17 | 18 | public JSONObject render(JSONObject section, Integer sectionId) 19 | throws JSONException { 20 | Cursor cursor = bookDbAdapter.getAbilityAdapter().getAbilityTypes( 21 | sectionId); 22 | try { 23 | boolean has_next = cursor.moveToFirst(); 24 | JSONArray ja = new JSONArray(); 25 | while (has_next) { 26 | ja.put(AbilityAdapter.AbilityUtils.getAbilityType(cursor)); 27 | has_next = cursor.moveToNext(); 28 | } 29 | if (ja.length() > 0) { 30 | section.put("ability_types", ja); 31 | } 32 | } finally { 33 | cursor.close(); 34 | } 35 | return section; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /app/src/main/java/org/evilsoft/pathfinder/reference/render/json/AfflictionRenderer.java: -------------------------------------------------------------------------------- 1 | package org.evilsoft.pathfinder.reference.render.json; 2 | 3 | import org.evilsoft.pathfinder.reference.db.book.AfflictionAdapter; 4 | import org.evilsoft.pathfinder.reference.db.book.BookDbAdapter; 5 | import org.json.JSONException; 6 | import org.json.JSONObject; 7 | 8 | import android.database.Cursor; 9 | 10 | public class AfflictionRenderer extends JsonRenderer { 11 | private BookDbAdapter bookDbAdapter; 12 | 13 | public AfflictionRenderer(BookDbAdapter bookDbAdapter) { 14 | this.bookDbAdapter = bookDbAdapter; 15 | } 16 | 17 | public JSONObject render(JSONObject section, Integer sectionId) 18 | throws JSONException { 19 | Cursor cursor = bookDbAdapter.getAfflictionAdapter() 20 | .getAfflictionDetails(sectionId); 21 | try { 22 | boolean has_next = cursor.moveToFirst(); 23 | if (has_next) { 24 | addField(section, "contracted", 25 | AfflictionAdapter.AfflictionUtils.getContracted(cursor)); 26 | addField(section, "addiction", 27 | AfflictionAdapter.AfflictionUtils.getAddiction(cursor)); 28 | addField(section, "save", 29 | AfflictionAdapter.AfflictionUtils.getSave(cursor)); 30 | addField(section, "onset", 31 | AfflictionAdapter.AfflictionUtils.getOnset(cursor)); 32 | addField(section, "frequency", 33 | AfflictionAdapter.AfflictionUtils.getFrequency(cursor)); 34 | addField(section, "effect", 35 | AfflictionAdapter.AfflictionUtils.getEffect(cursor)); 36 | addField(section, "initial_effect", 37 | AfflictionAdapter.AfflictionUtils 38 | .getInitialEffect(cursor)); 39 | addField(section, "secondary_effect", 40 | AfflictionAdapter.AfflictionUtils 41 | .getSecondaryEffect(cursor)); 42 | addField(section, "damage", AfflictionAdapter.AfflictionUtils.getDamage(cursor)); 43 | addField(section, "cure", 44 | AfflictionAdapter.AfflictionUtils.getCure(cursor)); 45 | addField(section, "cost", 46 | AfflictionAdapter.AfflictionUtils.getCost(cursor)); 47 | } 48 | } finally { 49 | cursor.close(); 50 | } 51 | return section; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /app/src/main/java/org/evilsoft/pathfinder/reference/render/json/AnimalCompanionRenderer.java: -------------------------------------------------------------------------------- 1 | package org.evilsoft.pathfinder.reference.render.json; 2 | 3 | import org.evilsoft.pathfinder.reference.db.book.AnimalCompanionAdapter; 4 | import org.evilsoft.pathfinder.reference.db.book.BookDbAdapter; 5 | import org.json.JSONException; 6 | import org.json.JSONObject; 7 | 8 | import android.database.Cursor; 9 | 10 | public class AnimalCompanionRenderer extends JsonRenderer { 11 | private BookDbAdapter bookDbAdapter; 12 | 13 | public AnimalCompanionRenderer(BookDbAdapter bookDbAdapter) { 14 | this.bookDbAdapter = bookDbAdapter; 15 | } 16 | 17 | public JSONObject render(JSONObject section, Integer sectionId) 18 | throws JSONException { 19 | Cursor cursor = bookDbAdapter.getAnimalCompanionAdapter() 20 | .getAnimalCompanionDetails(sectionId); 21 | try { 22 | boolean has_next = cursor.moveToFirst(); 23 | if (has_next) { 24 | addField(section, "ability_scores", 25 | AnimalCompanionAdapter.AnimalCompanionUtils 26 | .getAbilityScores(cursor)); 27 | addField(section, "ac", 28 | AnimalCompanionAdapter.AnimalCompanionUtils 29 | .getAc(cursor)); 30 | addField(section, "attack", 31 | AnimalCompanionAdapter.AnimalCompanionUtils 32 | .getAttack(cursor)); 33 | addField(section, "cmd", 34 | AnimalCompanionAdapter.AnimalCompanionUtils 35 | .getCmd(cursor)); 36 | addField(section, "level", 37 | AnimalCompanionAdapter.AnimalCompanionUtils 38 | .getLevel(cursor)); 39 | addField(section, "size", 40 | AnimalCompanionAdapter.AnimalCompanionUtils 41 | .getSize(cursor)); 42 | addField(section, "special_attacks", 43 | AnimalCompanionAdapter.AnimalCompanionUtils 44 | .getSpecialAttacks(cursor)); 45 | addField(section, "special_abilities", 46 | AnimalCompanionAdapter.AnimalCompanionUtils 47 | .getSpecialAbilities(cursor)); 48 | addField(section, "special_qualities", 49 | AnimalCompanionAdapter.AnimalCompanionUtils 50 | .getSpecialQualities(cursor)); 51 | addField(section, "speed", 52 | AnimalCompanionAdapter.AnimalCompanionUtils 53 | .getSpeed(cursor)); 54 | addField(section, "bonus_feat", 55 | AnimalCompanionAdapter.AnimalCompanionUtils 56 | .getBonusFeat(cursor)); 57 | } 58 | } finally { 59 | cursor.close(); 60 | } 61 | return section; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /app/src/main/java/org/evilsoft/pathfinder/reference/render/json/ArmyRenderer.java: -------------------------------------------------------------------------------- 1 | package org.evilsoft.pathfinder.reference.render.json; 2 | 3 | import org.evilsoft.pathfinder.reference.db.book.ArmyAdapter; 4 | import org.evilsoft.pathfinder.reference.db.book.BookDbAdapter; 5 | import org.json.JSONException; 6 | import org.json.JSONObject; 7 | 8 | import android.database.Cursor; 9 | 10 | public class ArmyRenderer extends JsonRenderer { 11 | private BookDbAdapter bookDbAdapter; 12 | 13 | public ArmyRenderer(BookDbAdapter bookDbAdapter) { 14 | this.bookDbAdapter = bookDbAdapter; 15 | } 16 | 17 | public JSONObject render(JSONObject section, Integer sectionId) 18 | throws JSONException { 19 | Cursor cursor = bookDbAdapter.getArmyAdapter() 20 | .getArmyDetails(sectionId); 21 | try { 22 | boolean has_next = cursor.moveToFirst(); 23 | if (has_next) { 24 | addField(section, "acr", ArmyAdapter.ArmyUtils.getAcr(cursor)); 25 | addField(section, "alignment", 26 | ArmyAdapter.ArmyUtils.getAlignment(cursor)); 27 | addField(section, "consumption", 28 | ArmyAdapter.ArmyUtils.getConsumption(cursor)); 29 | addField(section, "creature_type", 30 | ArmyAdapter.ArmyUtils.getCreatureType(cursor)); 31 | addField(section, "dv", ArmyAdapter.ArmyUtils.getDv(cursor)); 32 | addField(section, "hp", ArmyAdapter.ArmyUtils.getHp(cursor)); 33 | addField(section, "note", ArmyAdapter.ArmyUtils.getNote(cursor)); 34 | addField(section, "om", ArmyAdapter.ArmyUtils.getOm(cursor)); 35 | addField(section, "resources", 36 | ArmyAdapter.ArmyUtils.getResources(cursor)); 37 | addField(section, "size", ArmyAdapter.ArmyUtils.getSize(cursor)); 38 | addField(section, "special", 39 | ArmyAdapter.ArmyUtils.getSpecial(cursor)); 40 | addField(section, "speed", 41 | ArmyAdapter.ArmyUtils.getSpeed(cursor)); 42 | addField(section, "tactics", 43 | ArmyAdapter.ArmyUtils.getTactics(cursor)); 44 | addField(section, "xp", ArmyAdapter.ArmyUtils.getXp(cursor)); 45 | } 46 | } finally { 47 | cursor.close(); 48 | } 49 | return section; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /app/src/main/java/org/evilsoft/pathfinder/reference/render/json/ClassRenderer.java: -------------------------------------------------------------------------------- 1 | package org.evilsoft.pathfinder.reference.render.json; 2 | 3 | import org.evilsoft.pathfinder.reference.db.book.BookDbAdapter; 4 | import org.evilsoft.pathfinder.reference.db.book.ClassAdapter; 5 | import org.json.JSONException; 6 | import org.json.JSONObject; 7 | 8 | import android.database.Cursor; 9 | 10 | public class ClassRenderer extends JsonRenderer { 11 | private BookDbAdapter bookDbAdapter; 12 | 13 | public ClassRenderer(BookDbAdapter bookDbAdapter) { 14 | this.bookDbAdapter = bookDbAdapter; 15 | } 16 | 17 | public JSONObject render(JSONObject section, Integer sectionId) 18 | throws JSONException { 19 | Cursor cursor = bookDbAdapter.getClassAdapter().fetchClassDetails( 20 | sectionId); 21 | try { 22 | boolean has_next = cursor.moveToFirst(); 23 | if (has_next) { 24 | addField(section, "alignment", 25 | ClassAdapter.ClassUtils.getAlignment(cursor)); 26 | addField(section, "hit_die", 27 | ClassAdapter.ClassUtils.getHitDie(cursor)); 28 | } 29 | } finally { 30 | cursor.close(); 31 | } 32 | return section; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /app/src/main/java/org/evilsoft/pathfinder/reference/render/json/FeatRenderer.java: -------------------------------------------------------------------------------- 1 | package org.evilsoft.pathfinder.reference.render.json; 2 | 3 | import org.evilsoft.pathfinder.reference.db.book.AbilityAdapter; 4 | import org.evilsoft.pathfinder.reference.db.book.BookDbAdapter; 5 | import org.evilsoft.pathfinder.reference.db.book.FeatAdapter; 6 | import org.json.JSONArray; 7 | import org.json.JSONException; 8 | import org.json.JSONObject; 9 | 10 | import android.database.Cursor; 11 | 12 | public class FeatRenderer extends JsonRenderer { 13 | private BookDbAdapter bookDbAdapter; 14 | 15 | public FeatRenderer(BookDbAdapter bookDbAdapter) { 16 | this.bookDbAdapter = bookDbAdapter; 17 | } 18 | 19 | public JSONObject render(JSONObject section, Integer sectionId) 20 | throws JSONException { 21 | Cursor cursor = bookDbAdapter.getFeatAdapter().getFeatTypes(sectionId); 22 | try { 23 | boolean has_next = cursor.moveToFirst(); 24 | JSONArray ft = new JSONArray(); 25 | while (has_next) { 26 | addField(section, "acr", 27 | FeatAdapter.FeatTypeUtils.getFeatType(cursor)); 28 | ft.put(AbilityAdapter.AbilityUtils.getAbilityType(cursor)); 29 | has_next = cursor.moveToNext(); 30 | } 31 | if (ft.length() > 0) { 32 | section.put("feat_types", ft); 33 | } 34 | } finally { 35 | cursor.close(); 36 | } 37 | return section; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /app/src/main/java/org/evilsoft/pathfinder/reference/render/json/HauntRenderer.java: -------------------------------------------------------------------------------- 1 | package org.evilsoft.pathfinder.reference.render.json; 2 | 3 | import org.evilsoft.pathfinder.reference.db.book.BookDbAdapter; 4 | import org.evilsoft.pathfinder.reference.db.book.HauntAdapter; 5 | import org.json.JSONException; 6 | import org.json.JSONObject; 7 | 8 | import android.database.Cursor; 9 | 10 | public class HauntRenderer extends JsonRenderer { 11 | private BookDbAdapter bookDbAdapter; 12 | 13 | public HauntRenderer(BookDbAdapter bookDbAdapter) { 14 | this.bookDbAdapter = bookDbAdapter; 15 | } 16 | 17 | public JSONObject render(JSONObject section, Integer sectionId) 18 | throws JSONException { 19 | Cursor cursor = bookDbAdapter.getHauntAdapter().getHauntDetails( 20 | sectionId); 21 | try { 22 | boolean has_next = cursor.moveToFirst(); 23 | if (has_next) { 24 | addField(section, "alignment", 25 | HauntAdapter.HauntUtils.getAlignment(cursor)); 26 | addField(section, "area", 27 | HauntAdapter.HauntUtils.getArea(cursor)); 28 | addField(section, "caster_level", 29 | HauntAdapter.HauntUtils.getCasterLevel(cursor)); 30 | addField(section, "cr", HauntAdapter.HauntUtils.getCr(cursor)); 31 | addField(section, "destruction", 32 | HauntAdapter.HauntUtils.getDestruction(cursor)); 33 | addField(section, "effect", 34 | HauntAdapter.HauntUtils.getEffect(cursor)); 35 | addField(section, "haunt_type", 36 | HauntAdapter.HauntUtils.getHauntType(cursor)); 37 | addField(section, "hp", HauntAdapter.HauntUtils.getHp(cursor)); 38 | addField(section, "notice", 39 | HauntAdapter.HauntUtils.getNotice(cursor)); 40 | addField(section, "reset", 41 | HauntAdapter.HauntUtils.getReset(cursor)); 42 | addField(section, "trigger", 43 | HauntAdapter.HauntUtils.getTrigger(cursor)); 44 | addField(section, "xp", HauntAdapter.HauntUtils.getXp(cursor)); 45 | } 46 | } finally { 47 | cursor.close(); 48 | } 49 | return section; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /app/src/main/java/org/evilsoft/pathfinder/reference/render/json/ItemRenderer.java: -------------------------------------------------------------------------------- 1 | package org.evilsoft.pathfinder.reference.render.json; 2 | 3 | import org.evilsoft.pathfinder.reference.db.book.BookDbAdapter; 4 | import org.evilsoft.pathfinder.reference.db.book.ItemAdapter; 5 | import org.json.JSONArray; 6 | import org.json.JSONException; 7 | import org.json.JSONObject; 8 | 9 | import android.database.Cursor; 10 | 11 | public class ItemRenderer extends JsonRenderer { 12 | private BookDbAdapter bookDbAdapter; 13 | 14 | public ItemRenderer(BookDbAdapter bookDbAdapter) { 15 | this.bookDbAdapter = bookDbAdapter; 16 | } 17 | 18 | public JSONObject render(JSONObject section, Integer sectionId) 19 | throws JSONException { 20 | Cursor cursor = bookDbAdapter.getItemAdapter() 21 | .getItemDetails(sectionId); 22 | try { 23 | boolean has_next = cursor.moveToFirst(); 24 | if (has_next) { 25 | addField(section, "aura", ItemAdapter.ItemUtils.getAura(cursor)); 26 | addField(section, "cl", ItemAdapter.ItemUtils.getCl(cursor)); 27 | addField(section, "price", 28 | ItemAdapter.ItemUtils.getPrice(cursor)); 29 | addField(section, "slot", ItemAdapter.ItemUtils.getSlot(cursor)); 30 | addField(section, "weight", 31 | ItemAdapter.ItemUtils.getWeight(cursor)); 32 | renderItemMisc(section, sectionId); 33 | } 34 | } finally { 35 | cursor.close(); 36 | } 37 | return section; 38 | } 39 | 40 | private void renderItemMisc(JSONObject section, Integer sectionId) 41 | throws JSONException { 42 | Cursor cursor = bookDbAdapter.getItemAdapter().getItemMisc(sectionId); 43 | try { 44 | boolean has_next = cursor.moveToFirst(); 45 | JSONArray misc = new JSONArray(); 46 | while (has_next) { 47 | JSONObject m = new JSONObject(); 48 | addField(m, "field", ItemAdapter.ItemMiscUtils.getField(cursor)); 49 | addField(m, "subsection", 50 | ItemAdapter.ItemMiscUtils.getSubsection(cursor)); 51 | addField(m, "value", ItemAdapter.ItemMiscUtils.getValue(cursor)); 52 | misc.put(m); 53 | has_next = cursor.moveToNext(); 54 | } 55 | if (misc.length() > 0) { 56 | section.put("misc", misc); 57 | } 58 | } finally { 59 | cursor.close(); 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /app/src/main/java/org/evilsoft/pathfinder/reference/render/json/JsonRenderer.java: -------------------------------------------------------------------------------- 1 | package org.evilsoft.pathfinder.reference.render.json; 2 | 3 | import org.json.JSONException; 4 | import org.json.JSONObject; 5 | 6 | public abstract class JsonRenderer { 7 | public abstract JSONObject render(JSONObject section, Integer sectionId) 8 | throws JSONException; 9 | 10 | public void addField(JSONObject section, String name, Object value) 11 | throws JSONException { 12 | if (value != null) { 13 | section.put(name, value); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/java/org/evilsoft/pathfinder/reference/render/json/KingdomResourceRenderer.java: -------------------------------------------------------------------------------- 1 | package org.evilsoft.pathfinder.reference.render.json; 2 | 3 | import org.evilsoft.pathfinder.reference.db.book.BookDbAdapter; 4 | import org.evilsoft.pathfinder.reference.db.book.KingdomResourceAdapter; 5 | import org.json.JSONException; 6 | import org.json.JSONObject; 7 | 8 | import android.database.Cursor; 9 | 10 | public class KingdomResourceRenderer extends JsonRenderer { 11 | private BookDbAdapter bookDbAdapter; 12 | 13 | public KingdomResourceRenderer(BookDbAdapter bookDbAdapter) { 14 | this.bookDbAdapter = bookDbAdapter; 15 | } 16 | 17 | public JSONObject render(JSONObject section, Integer sectionId) 18 | throws JSONException { 19 | Cursor cursor = bookDbAdapter.getKingdomResourceAdapter() 20 | .getKingdomResourceDetails(sectionId); 21 | try { 22 | boolean has_next = cursor.moveToFirst(); 23 | if (has_next) { 24 | addField(section, "bp", 25 | KingdomResourceAdapter.KingdomResourceUtils 26 | .getBp(cursor)); 27 | addField(section, "discount", 28 | KingdomResourceAdapter.KingdomResourceUtils 29 | .getDiscount(cursor)); 30 | addField(section, "kingdom", 31 | KingdomResourceAdapter.KingdomResourceUtils 32 | .getKingdom(cursor)); 33 | addField(section, "limit", 34 | KingdomResourceAdapter.KingdomResourceUtils 35 | .getLimit(cursor)); 36 | addField(section, "lot", 37 | KingdomResourceAdapter.KingdomResourceUtils 38 | .getLot(cursor)); 39 | addField(section, "magic_items", 40 | KingdomResourceAdapter.KingdomResourceUtils 41 | .getMagicItems(cursor)); 42 | addField(section, "settlement", 43 | KingdomResourceAdapter.KingdomResourceUtils 44 | .getSettlement(cursor)); 45 | addField(section, "special", 46 | KingdomResourceAdapter.KingdomResourceUtils 47 | .getSpecial(cursor)); 48 | addField(section, "upgrade_from", 49 | KingdomResourceAdapter.KingdomResourceUtils 50 | .getUpgradeFrom(cursor)); 51 | addField(section, "upgrade_to", 52 | KingdomResourceAdapter.KingdomResourceUtils 53 | .getUpgradeTo(cursor)); 54 | } 55 | } finally { 56 | cursor.close(); 57 | } 58 | return section; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /app/src/main/java/org/evilsoft/pathfinder/reference/render/json/LinkRenderer.java: -------------------------------------------------------------------------------- 1 | package org.evilsoft.pathfinder.reference.render.json; 2 | 3 | import org.evilsoft.pathfinder.reference.db.book.BookDbAdapter; 4 | import org.evilsoft.pathfinder.reference.db.book.LinkAdapter; 5 | import org.json.JSONException; 6 | import org.json.JSONObject; 7 | 8 | import android.database.Cursor; 9 | 10 | public class LinkRenderer extends JsonRenderer { 11 | private BookDbAdapter bookDbAdapter; 12 | 13 | public LinkRenderer(BookDbAdapter bookDbAdapter) { 14 | this.bookDbAdapter = bookDbAdapter; 15 | } 16 | 17 | public JSONObject render(JSONObject section, Integer sectionId) 18 | throws JSONException { 19 | Cursor cursor = bookDbAdapter.getLinkAdapter() 20 | .getLinkDetails(sectionId); 21 | try { 22 | boolean has_next = cursor.moveToFirst(); 23 | if (has_next) { 24 | addField(section, "display", 25 | LinkAdapter.LinkUtils.getDisplay(cursor)); 26 | addField(section, "link_url", 27 | LinkAdapter.LinkUtils.getUrl(cursor)); 28 | } 29 | } finally { 30 | cursor.close(); 31 | } 32 | return section; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /app/src/main/java/org/evilsoft/pathfinder/reference/render/json/MythicSpellRenderer.java: -------------------------------------------------------------------------------- 1 | package org.evilsoft.pathfinder.reference.render.json; 2 | 3 | import org.evilsoft.pathfinder.reference.db.book.BookDbAdapter; 4 | import org.evilsoft.pathfinder.reference.db.book.MythicSpellDetailAdapter; 5 | import org.json.JSONException; 6 | import org.json.JSONObject; 7 | 8 | import android.database.Cursor; 9 | 10 | public class MythicSpellRenderer extends JsonRenderer { 11 | private BookDbAdapter bookDbAdapter; 12 | 13 | public MythicSpellRenderer(BookDbAdapter bookDbAdapter) { 14 | this.bookDbAdapter = bookDbAdapter; 15 | } 16 | 17 | public JSONObject render(JSONObject section, Integer sectionId) 18 | throws JSONException { 19 | Cursor cursor = bookDbAdapter.getMythicSpellDetailAdapter() 20 | .fetchMythicSpellDetails(sectionId); 21 | try { 22 | boolean has_next = cursor.moveToFirst(); 23 | if (has_next) { 24 | addField(section, "spell_source", 25 | MythicSpellDetailAdapter.MythicSpellDetailUtils 26 | .getSpellSource(cursor)); 27 | } 28 | } finally { 29 | cursor.close(); 30 | } 31 | return section; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /app/src/main/java/org/evilsoft/pathfinder/reference/render/json/NoOpRenderer.java: -------------------------------------------------------------------------------- 1 | package org.evilsoft.pathfinder.reference.render.json; 2 | 3 | import org.json.JSONException; 4 | import org.json.JSONObject; 5 | 6 | public class NoOpRenderer extends JsonRenderer { 7 | 8 | @Override 9 | public JSONObject render(JSONObject section, Integer sectionId) 10 | throws JSONException { 11 | return section; 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/java/org/evilsoft/pathfinder/reference/render/json/ResourceRenderer.java: -------------------------------------------------------------------------------- 1 | package org.evilsoft.pathfinder.reference.render.json; 2 | 3 | import org.evilsoft.pathfinder.reference.db.book.BookDbAdapter; 4 | import org.evilsoft.pathfinder.reference.db.book.ResourceAdapter; 5 | import org.json.JSONException; 6 | import org.json.JSONObject; 7 | 8 | import android.database.Cursor; 9 | 10 | public class ResourceRenderer extends JsonRenderer { 11 | private BookDbAdapter bookDbAdapter; 12 | 13 | public ResourceRenderer(BookDbAdapter bookDbAdapter) { 14 | this.bookDbAdapter = bookDbAdapter; 15 | } 16 | 17 | public JSONObject render(JSONObject section, Integer sectionId) 18 | throws JSONException { 19 | Cursor cursor = bookDbAdapter.getResourceAdapter().getResourceDetails( 20 | sectionId); 21 | try { 22 | boolean has_next = cursor.moveToFirst(); 23 | if (has_next) { 24 | addField(section, "bebefit", 25 | ResourceAdapter.ResourceUtils.getBenefit(cursor)); 26 | addField(section, "create", 27 | ResourceAdapter.ResourceUtils.getCreate(cursor)); 28 | addField(section, "earnings", 29 | ResourceAdapter.ResourceUtils.getEarnings(cursor)); 30 | addField(section, "rooms", 31 | ResourceAdapter.ResourceUtils.getRooms(cursor)); 32 | addField(section, "size", 33 | ResourceAdapter.ResourceUtils.getSize(cursor)); 34 | addField(section, "skills", 35 | ResourceAdapter.ResourceUtils.getSkills(cursor)); 36 | addField(section, "teams", 37 | ResourceAdapter.ResourceUtils.getTeams(cursor)); 38 | addField(section, "time", 39 | ResourceAdapter.ResourceUtils.getTime(cursor)); 40 | addField(section, "upgrade_from", 41 | ResourceAdapter.ResourceUtils.getUpgradeFrom(cursor)); 42 | addField(section, "upgrade_to", 43 | ResourceAdapter.ResourceUtils.getUpgradeTo(cursor)); 44 | addField(section, "wage", 45 | ResourceAdapter.ResourceUtils.getWage(cursor)); 46 | } 47 | } finally { 48 | cursor.close(); 49 | } 50 | return section; 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /app/src/main/java/org/evilsoft/pathfinder/reference/render/json/SkillRenderer.java: -------------------------------------------------------------------------------- 1 | package org.evilsoft.pathfinder.reference.render.json; 2 | 3 | import org.evilsoft.pathfinder.reference.db.book.BookDbAdapter; 4 | import org.evilsoft.pathfinder.reference.db.book.SkillAdapter; 5 | import org.json.JSONException; 6 | import org.json.JSONObject; 7 | 8 | import android.database.Cursor; 9 | 10 | public class SkillRenderer extends JsonRenderer { 11 | private BookDbAdapter bookDbAdapter; 12 | 13 | public SkillRenderer(BookDbAdapter bookDbAdapter) { 14 | this.bookDbAdapter = bookDbAdapter; 15 | } 16 | 17 | public JSONObject render(JSONObject section, Integer sectionId) 18 | throws JSONException { 19 | Cursor cursor = bookDbAdapter.getSkillAdapter().fetchSkillAttr( 20 | sectionId); 21 | try { 22 | boolean has_next = cursor.moveToFirst(); 23 | if (has_next) { 24 | addField(section, "armor_check_penalty", 25 | SkillAdapter.SkillUtils.getArmorCheckPenalty(cursor)); 26 | addField(section, "attribute", 27 | SkillAdapter.SkillUtils.getAttribute(cursor)); 28 | addField(section, "trained_only", 29 | SkillAdapter.SkillUtils.getTrainedOnly(cursor)); 30 | } 31 | } finally { 32 | cursor.close(); 33 | } 34 | return section; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /app/src/main/java/org/evilsoft/pathfinder/reference/render/json/TalentRenderer.java: -------------------------------------------------------------------------------- 1 | package org.evilsoft.pathfinder.reference.render.json; 2 | 3 | import android.database.Cursor; 4 | 5 | import org.evilsoft.pathfinder.reference.db.book.TalentAdapter; 6 | import org.evilsoft.pathfinder.reference.db.book.BookDbAdapter; 7 | import org.json.JSONException; 8 | import org.json.JSONObject; 9 | 10 | public class TalentRenderer extends JsonRenderer { 11 | private BookDbAdapter bookDbAdapter; 12 | 13 | public TalentRenderer(BookDbAdapter bookDbAdapter) { 14 | this.bookDbAdapter = bookDbAdapter; 15 | } 16 | 17 | public JSONObject render(JSONObject section, Integer sectionId) 18 | throws JSONException { 19 | Cursor cursor = bookDbAdapter.getTalentAdapter() 20 | .getTalentDetails(sectionId); 21 | try { 22 | boolean has_next = cursor.moveToFirst(); 23 | if (has_next) { 24 | addField(section, "element", 25 | TalentAdapter.TalentUtils.getElement(cursor)); 26 | addField(section, "talent_type", 27 | TalentAdapter.TalentUtils.getTalentType(cursor)); 28 | addField(section, "blast_type", 29 | TalentAdapter.TalentUtils.getBlastType(cursor)); 30 | addField(section, "level", 31 | TalentAdapter.TalentUtils.getLevel(cursor)); 32 | addField(section, "burn", 33 | TalentAdapter.TalentUtils.getBurn(cursor)); 34 | addField(section, "damage", 35 | TalentAdapter.TalentUtils.getDamage(cursor)); 36 | addField(section, "prerequisite", 37 | TalentAdapter.TalentUtils.getPrerequisite(cursor)); 38 | addField(section, "associated_blasts", 39 | TalentAdapter.TalentUtils.getAssociatedBlasts(cursor)); 40 | addField(section, "saving_throw", 41 | TalentAdapter.TalentUtils.getSavingThrow(cursor)); 42 | addField(section, "spell_resistance", 43 | TalentAdapter.TalentUtils.getSpellResistance(cursor)); 44 | } 45 | } finally { 46 | cursor.close(); 47 | } 48 | return section; 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /app/src/main/java/org/evilsoft/pathfinder/reference/render/json/TrapRenderer.java: -------------------------------------------------------------------------------- 1 | package org.evilsoft.pathfinder.reference.render.json; 2 | 3 | import org.evilsoft.pathfinder.reference.db.book.BookDbAdapter; 4 | import org.evilsoft.pathfinder.reference.db.book.TrapAdapter; 5 | import org.json.JSONException; 6 | import org.json.JSONObject; 7 | 8 | import android.database.Cursor; 9 | 10 | public class TrapRenderer extends JsonRenderer { 11 | private BookDbAdapter bookDbAdapter; 12 | 13 | public TrapRenderer(BookDbAdapter bookDbAdapter) { 14 | this.bookDbAdapter = bookDbAdapter; 15 | } 16 | 17 | public JSONObject render(JSONObject section, Integer sectionId) 18 | throws JSONException { 19 | Cursor cursor = bookDbAdapter.getTrapAdapter() 20 | .getTrapDetails(sectionId); 21 | try { 22 | boolean has_next = cursor.moveToFirst(); 23 | if (has_next) { 24 | addField(section, "cr", TrapAdapter.TrapUtils.getCr(cursor)); 25 | addField(section, "disable_device", 26 | TrapAdapter.TrapUtils.getDisableDevice(cursor)); 27 | addField(section, "duration", 28 | TrapAdapter.TrapUtils.getDuration(cursor)); 29 | addField(section, "effect", 30 | TrapAdapter.TrapUtils.getEffect(cursor)); 31 | addField(section, "perception", 32 | TrapAdapter.TrapUtils.getPerception(cursor)); 33 | addField(section, "reset", 34 | TrapAdapter.TrapUtils.getReset(cursor)); 35 | addField(section, "trap_type", 36 | TrapAdapter.TrapUtils.getTrapType(cursor)); 37 | addField(section, "trigger", 38 | TrapAdapter.TrapUtils.getTrigger(cursor)); 39 | } 40 | } finally { 41 | cursor.close(); 42 | } 43 | return section; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /app/src/main/java/org/evilsoft/pathfinder/reference/utils/LimitedSpaceException.java: -------------------------------------------------------------------------------- 1 | package org.evilsoft.pathfinder.reference.utils; 2 | 3 | public class LimitedSpaceException extends Exception { 4 | private static final long serialVersionUID = 3175084446853389252L; 5 | private long size; 6 | public LimitedSpaceException(String message, long size) { 7 | super(message); 8 | this.setSize(size); 9 | } 10 | 11 | public long getSize() { 12 | return size; 13 | } 14 | 15 | public void setSize(long size) { 16 | this.size = size; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/app_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-hdpi/app_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/btn_star_big_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-hdpi/btn_star_big_off.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/btn_star_big_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-hdpi/btn_star_big_on.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/dropdown_ic_arrow_normal_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-hdpi/dropdown_ic_arrow_normal_holo_dark.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/dropdown_ic_arrow_pressed_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-hdpi/dropdown_ic_arrow_pressed_holo_dark.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_btn_find_prev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-hdpi/ic_btn_find_prev.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_dropdown_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-hdpi/ic_dropdown_menu.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-hdpi/ic_menu.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_menu_sort_by_size.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-hdpi/ic_menu_sort_by_size.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-hdpi/ic_search.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_search_api_holo_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-hdpi/ic_search_api_holo_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_search_category_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-hdpi/ic_search_category_default.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-ldpi/app_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-ldpi/app_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-ldpi/btn_star_big_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-ldpi/btn_star_big_off.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-ldpi/btn_star_big_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-ldpi/btn_star_big_on.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-ldpi/ic_menu_sort_by_size.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-ldpi/ic_menu_sort_by_size.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-ldpi/ic_search_category_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-ldpi/ic_search_category_default.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/app_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-mdpi/app_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/btn_star_big_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-mdpi/btn_star_big_off.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/btn_star_big_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-mdpi/btn_star_big_on.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/dropdown_ic_arrow_normal_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-mdpi/dropdown_ic_arrow_normal_holo_dark.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/dropdown_ic_arrow_pressed_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-mdpi/dropdown_ic_arrow_pressed_holo_dark.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_btn_find_prev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-mdpi/ic_btn_find_prev.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_dropdown_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-mdpi/ic_dropdown_menu.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-mdpi/ic_menu.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_menu_sort_by_size.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-mdpi/ic_menu_sort_by_size.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-mdpi/ic_search.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_search_api_holo_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-mdpi/ic_search_api_holo_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_search_category_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-mdpi/ic_search_category_default.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/app_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devonjones/PathfinderOpenReference/ec252bf9e6fdd2571297934eb38643e8c77de87c/app/src/main/res/drawable-xhdpi/app_icon.png -------------------------------------------------------------------------------- /app/src/main/res/layout/actionbar_spinner.xml: -------------------------------------------------------------------------------- 1 |