diff --git a/.idea/.name b/.idea/.name
index 5b9dbdd24e57fcc990f46349e28d3b9d1a309e32..56725f8ee5cc33070ad5ea723bb5bb498fecc512 100644
--- a/.idea/.name
+++ b/.idea/.name
@@ -1 +1 @@
-MiceandMysticsCampaignTracker
\ No newline at end of file
+MiceAndMysticsTracker
\ No newline at end of file
diff --git a/.idea/codeStyleSettings.xml b/.idea/codeStyleSettings.xml
deleted file mode 100644
index 7fb8ed00def85cd0fa9e3692d2786fc224c2273e..0000000000000000000000000000000000000000
--- a/.idea/codeStyleSettings.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 98313e82dbfe4292743f52f21c6c7468d593b780..508bc355d557fabaee78fff7f394331cddd523c3 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -3,9 +3,10 @@
-
+
-
+
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index e816eddb963807f4486d466cb91f5aca53f13398..71f92fa33342fd4d4df74f7714dffe91cbdb28b3 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -3,8 +3,29 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -16,7 +37,7 @@
-
+
diff --git a/.idea/modules.xml b/.idea/modules.xml
index 00bc483268a654cc8d729519c1bc6b11f47029b9..13b4c3604c63a15d8e2dd2790155778be1997939 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -2,8 +2,8 @@
-
-
+
+
\ No newline at end of file
diff --git a/MiceAndMysticsTracker/build.gradle b/MiceAndMysticsTracker/build.gradle
index 75f93313ef0bbc350b692a3cba5fb94f9dc933f2..8056f9fbf068cd06c05ccf4c0b9aad094e611540 100644
--- a/MiceAndMysticsTracker/build.gradle
+++ b/MiceAndMysticsTracker/build.gradle
@@ -3,7 +3,7 @@ buildscript {
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:1.1.1'
+ classpath 'com.android.tools.build:gradle:1.3.1'
}
}
apply plugin: 'com.android.application'
@@ -20,8 +20,8 @@ android {
applicationId "com.eyecreate.miceandmystics.miceandmystics"
minSdkVersion 16
targetSdkVersion 21
- versionCode 3
- versionName "1.0.2"
+ versionCode 4
+ versionName "1.0.3"
}
compileOptions {
@@ -39,7 +39,7 @@ android {
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.0.0'
- compile 'io.realm:realm-android:0.80.1'
+ compile 'io.realm:realm-android:0.87.0'
compile 'uk.co.chrisjenx:calligraphy:2.0.2'
compile 'com.android.support:recyclerview-v7:21.0.+'
compile 'com.android.support:cardview-v7:21.0.+'
diff --git a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/CampaignActivity.java b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/CampaignActivity.java
index 16dbe4b98caf933141a233006a3a8823c6527bcc..2dc97e44018775fe71fa03c1c0e1d447cbfd8b50 100644
--- a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/CampaignActivity.java
+++ b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/CampaignActivity.java
@@ -22,7 +22,7 @@ public class CampaignActivity extends RecyclerViewActivity {
super.onCreate(savedInstanceState);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setIcon(R.mipmap.ic_launcher);
- setTitle("Campaigns");
+ setTitle(getString(R.string.campaign_activity));
setLayoutManager(new LinearLayoutManager(this));
setAdapter(new CampaignAdapter());
}
@@ -57,15 +57,15 @@ public class CampaignActivity extends RecyclerViewActivity {
typeSpinner.setAdapter(new ArrayAdapter(this, R.layout.simple_spinner_item, CampaignType.values()));
typeSpinner.setSelection(0);
AlertDialog addDialog = new AlertDialogPro.Builder(this,R.style.dialogTheme)
- .setMessage("Please give your new campaign a unique name:")
+ .setMessage(getString(R.string.campaign_name_request))
.setView(dialogView)
- .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
+ .setPositiveButton(getString(R.string.dialog_confirm), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
- if(((EditText) dialogView.findViewById(R.id.campaign_name)).getText().length()>0) {
- ((CampaignAdapter) getAdapter()).addItem(((EditText) dialogView.findViewById(R.id.campaign_name)).getText().toString(), CampaignType.valueOf(((CampaignType)typeSpinner.getSelectedItem()).name()));
+ if (((EditText) dialogView.findViewById(R.id.campaign_name)).getText().length() > 0) {
+ ((CampaignAdapter) getAdapter()).addItem(((EditText) dialogView.findViewById(R.id.campaign_name)).getText().toString(), CampaignType.valueOf(((CampaignType) typeSpinner.getSelectedItem()).name()));
} else {
- Toast.makeText(CampaignActivity.this,"Can not have blank name!",Toast.LENGTH_LONG).show();
+ Toast.makeText(CampaignActivity.this, R.string.campaign_name_blank, Toast.LENGTH_LONG).show();
}
}
})
diff --git a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/CampaignDetailsActivity.java b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/CampaignDetailsActivity.java
index 9cc92fdb6dd0bef2a862905afba4661d368dd426..a41f833dd01e0ad309f9ea7d53ff591d74bf5cdb 100644
--- a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/CampaignDetailsActivity.java
+++ b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/CampaignDetailsActivity.java
@@ -35,7 +35,7 @@ public class CampaignDetailsActivity extends RecyclerViewActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setTitle("Game Details");
+ setTitle(getString(R.string.campaign_details_Activity));
if(getIntent().hasExtra("campaignName")) {
campaign = MiceAndMysticsApplication.getRealmInstance().where(Campaign.class).equalTo("campaignName",getIntent().getStringExtra("campaignName")).findFirst();
} else if(savedInstanceState.containsKey("campaignName")) {
@@ -89,9 +89,9 @@ public class CampaignDetailsActivity extends RecyclerViewActivity {
final View dialogView = inflator.inflate(R.layout.dialog_new_player, null, false);
final EditText playerEdit = ((EditText)dialogView.findViewById(R.id.player_name));
AlertDialog addDialog = new AlertDialogPro.Builder(ctx,R.style.dialogTheme)
- .setMessage("Please name the new player:")
+ .setMessage(ctx.getString(R.string.player_name_request))
.setView(dialogView)
- .setPositiveButton("Create", new DialogInterface.OnClickListener() {
+ .setPositiveButton(ctx.getString(R.string.dialog_create), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
RealmResults matchingPlayers = MiceAndMysticsApplication.getRealmInstance().where(Player.class).equalTo("playerName", playerEdit.getText().toString()).findAll();
@@ -102,9 +102,9 @@ public class CampaignDetailsActivity extends RecyclerViewActivity {
MiceAndMysticsApplication.getRealmInstance().copyToRealmOrUpdate(player);
MiceAndMysticsApplication.getRealmInstance().commitTransaction();
} else if (playerEdit.getText().length() == 0) {
- Toast.makeText(ctx, "Can not have a blank name!", Toast.LENGTH_LONG).show();
+ Toast.makeText(ctx, R.string.player_name_blank, Toast.LENGTH_LONG).show();
} else if (matchingPlayers.size() > 0) {
- Toast.makeText(ctx, "Can not have same name as another player!", Toast.LENGTH_LONG).show();
+ Toast.makeText(ctx, R.string.player_name_dup, Toast.LENGTH_LONG).show();
}
}
})
@@ -125,22 +125,22 @@ public class CampaignDetailsActivity extends RecyclerViewActivity {
achievementSpinner.setAdapter(new ArrayAdapter(this, R.layout.simple_spinner_item, com.eyecreate.miceandmystics.miceandmystics.model.Enums.Achievement.values()));
achievementSpinner.setSelection(0);
AlertDialog addDialog = new AlertDialogPro.Builder(this,R.style.dialogTheme)
- .setMessage("Please select the achievement to add to party:")
+ .setMessage(getString(R.string.achievement_add_request))
.setView(dialogView)
- .setPositiveButton("Add", new DialogInterface.OnClickListener() {
+ .setPositiveButton(getString(R.string.dialog_add), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
- RealmList currentPartyAchievements = MiceAndMysticsApplication.getRealmInstance().where(Campaign.class).equalTo("campaignName",campaign.getCampaignName()).findFirst().getPartyStoryAchievements();
+ RealmList currentPartyAchievements = MiceAndMysticsApplication.getRealmInstance().where(Campaign.class).equalTo("campaignName", campaign.getCampaignName()).findFirst().getPartyStoryAchievements();
boolean hasAlready = false;
- for (Achievement achievement:currentPartyAchievements) {
- if(((com.eyecreate.miceandmystics.miceandmystics.model.Enums.Achievement)achievementSpinner.getSelectedItem()).name().equals(achievement.getAchievementName())){
+ for (Achievement achievement : currentPartyAchievements) {
+ if (((com.eyecreate.miceandmystics.miceandmystics.model.Enums.Achievement) achievementSpinner.getSelectedItem()).name().equals(achievement.getAchievementName())) {
hasAlready = true;
}
}
if (!hasAlready) {
((CampaignDetailsAdapter) getAdapter()).addPartyAchievement((com.eyecreate.miceandmystics.miceandmystics.model.Enums.Achievement) achievementSpinner.getSelectedItem());
} else {
- Toast.makeText(CampaignDetailsActivity.this, "Can not have more than one of same achievement.", Toast.LENGTH_LONG).show();
+ Toast.makeText(CampaignDetailsActivity.this, R.string.achievement_dup, Toast.LENGTH_LONG).show();
}
}
})
@@ -159,15 +159,15 @@ public class CampaignDetailsActivity extends RecyclerViewActivity {
playerSpinner.setAdapter(new ArrayAdapter(this, R.layout.simple_spinner_item, Player.convertPlayerListToStringArray(players.subList(0,players.size()))));
playerSpinner.setSelection(0);
AlertDialog addDialog = new AlertDialogPro.Builder(this,R.style.dialogTheme)
- .setMessage("Please select your character and controlling player:")
+ .setMessage(getString(R.string.character_add_request))
.setView(dialogView)
- .setPositiveButton("Create", new DialogInterface.OnClickListener() {
+ .setPositiveButton(getString(R.string.dialog_create), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
if(playerSpinner.getSelectedItem() != null) {
((CampaignDetailsAdapter) getAdapter()).addCharacter(((CharacterNames)charSpinner.getSelectedItem()), MiceAndMysticsApplication.getRealmInstance().where(Player.class).equalTo("playerName", playerSpinner.getSelectedItem().toString()).findFirst());
} else {
- Toast.makeText(CampaignDetailsActivity.this,"No player selected. Maybe try making one first.",Toast.LENGTH_LONG).show();
+ Toast.makeText(CampaignDetailsActivity.this, R.string.character_player_blank,Toast.LENGTH_LONG).show();
}
}
})
diff --git a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/CharacterDetailsActivity.java b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/CharacterDetailsActivity.java
index bfe0163b88f3cea77d289ee82b7ffbc345b02bd3..c266aa0b5db748285f064c541843745ece3e4445 100644
--- a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/CharacterDetailsActivity.java
+++ b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/CharacterDetailsActivity.java
@@ -25,7 +25,7 @@ public class CharacterDetailsActivity extends RecyclerViewActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setTitle("Character Details");
+ setTitle(getString(R.string.character_activity));
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
if(getIntent().hasExtra("characterId")) {
currentCharacter = MiceAndMysticsApplication.getRealmInstance().where(Character.class).equalTo("uuid",getIntent().getStringExtra("characterId")).findFirst();
@@ -71,16 +71,16 @@ public class CharacterDetailsActivity extends RecyclerViewActivity {
abilitySpinner.setAdapter(new ArrayAdapter(this, R.layout.simple_spinner_item, Abilities.getMatchingCharacterAbilities(CharacterNames.valueOf(currentCharacter.getCharacterName()).characterTypes())));
abilitySpinner.setSelection(0);
AlertDialog addDialog = new AlertDialogPro.Builder(this,R.style.dialogTheme)
- .setMessage("Please select the ability to be added:")
+ .setMessage(getString(R.string.character_ability_request))
.setView(dialogView)
- .setPositiveButton("Add", new DialogInterface.OnClickListener() {
+ .setPositiveButton(getString(R.string.dialog_add), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
RealmResults duplicates = MiceAndMysticsApplication.getRealmInstance().where(Character.class).equalTo("abilities.abilityName", ((Abilities) abilitySpinner.getSelectedItem()).name()).equalTo("uuid", currentCharacter.getUuid()).findAll();
- if(duplicates.size()==0) {
+ if (duplicates.size() == 0) {
((CharacterDetailsAdapter) getAdapter()).addAbility((Abilities) abilitySpinner.getSelectedItem());
} else {
- Toast.makeText(CharacterDetailsActivity.this,"That ability is already on this character.",Toast.LENGTH_LONG).show();
+ Toast.makeText(CharacterDetailsActivity.this, R.string.character_ability_exists, Toast.LENGTH_LONG).show();
}
}
})
@@ -93,15 +93,15 @@ public class CharacterDetailsActivity extends RecyclerViewActivity {
final View dialogView = inflator.inflate(R.layout.dialog_new_item, null, false);
final EditText itemEdit = ((EditText)dialogView.findViewById(R.id.item_name));
AlertDialog addDialog = new AlertDialogPro.Builder(this,R.style.dialogTheme)
- .setMessage("Please name the item to mark as held:")
+ .setMessage(getString(R.string.character_item_request))
.setView(dialogView)
- .setPositiveButton("Add", new DialogInterface.OnClickListener() {
+ .setPositiveButton(getString(R.string.dialog_add), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
if (itemEdit.getText().length() > 0) {
((CharacterDetailsAdapter) getAdapter()).addItem(itemEdit.getText().toString());
} else if (itemEdit.getText().length() == 0) {
- Toast.makeText(CharacterDetailsActivity.this, "Can not have a blank item name!", Toast.LENGTH_LONG).show();
+ Toast.makeText(CharacterDetailsActivity.this, R.string.character_item_blank, Toast.LENGTH_LONG).show();
}
}
})
diff --git a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/MiceAndMysticsApplication.java b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/MiceAndMysticsApplication.java
index 243dd1298a0700bbee3cf33515bb86c74840837a..14ec8bc2afc84ab32539f966761cb689bed641be 100644
--- a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/MiceAndMysticsApplication.java
+++ b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/MiceAndMysticsApplication.java
@@ -10,6 +10,7 @@ import com.eyecreate.miceandmystics.miceandmystics.model.Enums.CampaignType;
import com.eyecreate.miceandmystics.miceandmystics.model.Enums.CharacterNames;
import io.realm.Realm;
+import io.realm.RealmConfiguration;
import io.realm.RealmResults;
import uk.co.chrisjenx.calligraphy.CalligraphyConfig;
@@ -17,18 +18,20 @@ public class MiceAndMysticsApplication extends Application {
private static MiceAndMysticsApplication singletonApplication;
private static Realm singletonRealm;
+ private RealmConfiguration realmConfig;
@Override
public void onCreate() {
super.onCreate();
singletonApplication = this;
- singletonRealm = Realm.getInstance(this);
+ realmConfig = new RealmConfiguration.Builder(this).schemaVersion(1).migration(new RealmMigrator()).build();
+ singletonRealm = Realm.getInstance(realmConfig);
CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
- .setDefaultFontPath("ArchitectsDaughter.ttf")
- .setFontAttrId(R.attr.fontPath)
- .build()
+ .setDefaultFontPath("ArchitectsDaughter.ttf")
+ .setFontAttrId(R.attr.fontPath)
+ .build()
);
- checkForPreLocalization();
+ //checkForPreLocalization();
}
private void checkForPreLocalization() {
diff --git a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/PlayerManagerActivity.java b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/PlayerManagerActivity.java
index 0dffc2a91267e8d357330aa5d8cc213720b8fbc6..97c337f70c7c62be8dfe6ce36d60cfc893a8c743 100644
--- a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/PlayerManagerActivity.java
+++ b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/PlayerManagerActivity.java
@@ -10,7 +10,7 @@ public class PlayerManagerActivity extends RecyclerViewActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setTitle("Manage Players");
+ setTitle(getString(R.string.players_activity));
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
setLayoutManager(new LinearLayoutManager(this));
setAdapter(new PlayerManagerAdapter());
diff --git a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/RealmMigrator.java b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/RealmMigrator.java
new file mode 100644
index 0000000000000000000000000000000000000000..9be3df4aecf11bec15c7a92f8d5144056684ee34
--- /dev/null
+++ b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/RealmMigrator.java
@@ -0,0 +1,13 @@
+package com.eyecreate.miceandmystics.miceandmystics;
+
+import io.realm.DynamicRealm;
+import io.realm.RealmMigration;
+
+public class RealmMigrator implements RealmMigration {
+ @Override
+ public void migrate(DynamicRealm dynamicRealm, long oldVersion, long newVersion) {
+ if(oldVersion == 0 && newVersion == 1) {
+ //Nothing
+ }
+ }
+}
diff --git a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/adapters/CampaignDetailsAdapter.java b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/adapters/CampaignDetailsAdapter.java
index 9410ec157d5b2ede1ed66bed492b8f926902e375..f6b4c5f533edaf3d23dd8c4a61eaa095fc86a10e 100644
--- a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/adapters/CampaignDetailsAdapter.java
+++ b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/adapters/CampaignDetailsAdapter.java
@@ -76,7 +76,7 @@ public class CampaignDetailsAdapter extends RecyclerView.Adapter
.equalTo("controllingPlayer.playerName", playerName).findAll();
if(playerCharacters.size()>0) {
AlertDialog removeDialog = new AlertDialogPro.Builder(ctx,R.style.dialogTheme)
- .setMessage("Removing player "+playerName+" must first remove all characters owned by player. Do you want to continue still?")
- .setNegativeButton("No", new DialogInterface.OnClickListener() {
+ .setMessage(ctx.getString(R.string.remove_player_confirm_1)+playerName+ctx.getString(R.string.remove_player_confirm_2))
+ .setNegativeButton(ctx.getString(R.string.dialog_no), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
})
- .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
+ .setPositiveButton(ctx.getString(R.string.dialog_yes), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
- for(Iterator iter = playerCharacters.iterator();playerCharacters.iterator().hasNext();) {
- CampaignDetailsAdapter.removeCharacterFromDB((Character)iter.next());
+ for (Iterator iter = playerCharacters.iterator(); playerCharacters.iterator().hasNext(); ) {
+ CampaignDetailsAdapter.removeCharacterFromDB((Character) iter.next());
}
MiceAndMysticsApplication.getRealmInstance().beginTransaction();
- MiceAndMysticsApplication.getRealmInstance().where(Player.class).equalTo("playerName",playerName).findFirst().removeFromRealm();
+ MiceAndMysticsApplication.getRealmInstance().where(Player.class).equalTo("playerName", playerName).findFirst().removeFromRealm();
MiceAndMysticsApplication.getRealmInstance().commitTransaction();
notifyDataSetChanged();
}
@@ -70,14 +70,14 @@ public class PlayerManagerAdapter extends RecyclerView.Adapter
removeDialog.show();
} else {
AlertDialog removeDialog = new AlertDialogPro.Builder(ctx, R.style.dialogTheme)
- .setMessage("Do you want to remove player: " + playerName + "?")
- .setNegativeButton("No", new DialogInterface.OnClickListener() {
+ .setMessage(ctx.getString(R.string.remove_empty_player_confirm) + playerName + "?")
+ .setNegativeButton(ctx.getString(R.string.dialog_no), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
})
- .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
+ .setPositiveButton(ctx.getString(R.string.dialog_yes), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
MiceAndMysticsApplication.getRealmInstance().beginTransaction();
diff --git a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/model/Ability.java b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/model/Ability.java
index 6537ab19eb680e4cccfb3d699befc707fd9dae1c..ecb80b75ce9c6d1568d694ae20d7ca73a252d921 100644
--- a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/model/Ability.java
+++ b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/model/Ability.java
@@ -2,12 +2,14 @@ package com.eyecreate.miceandmystics.miceandmystics.model;
import io.realm.RealmObject;
import io.realm.annotations.PrimaryKey;
+import io.realm.annotations.Required;
import java.util.UUID;
public class Ability extends RealmObject {
@PrimaryKey
private String uuid;
+ @Required
private String abilityName;
public Ability() {}
diff --git a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/model/Achievement.java b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/model/Achievement.java
index 34513619f371c2234a9885d1570d914d8a87b18f..ccf19f332a8c188cac0746420f245a748b6953d8 100644
--- a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/model/Achievement.java
+++ b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/model/Achievement.java
@@ -2,12 +2,14 @@ package com.eyecreate.miceandmystics.miceandmystics.model;
import io.realm.RealmObject;
import io.realm.annotations.PrimaryKey;
+import io.realm.annotations.Required;
import java.util.UUID;
public class Achievement extends RealmObject {
@PrimaryKey
private String uuid;
+ @Required
private String achievementName;
public Achievement() {}
diff --git a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/model/BackpackItem.java b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/model/BackpackItem.java
index 9b8a16f9c9b950caf7bf9732f09db07f7f8fa860..24acb78538b252afdd0387950b9d3121e028093a 100644
--- a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/model/BackpackItem.java
+++ b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/model/BackpackItem.java
@@ -2,11 +2,13 @@ package com.eyecreate.miceandmystics.miceandmystics.model;
import io.realm.RealmObject;
import io.realm.annotations.PrimaryKey;
+import io.realm.annotations.Required;
public class BackpackItem extends RealmObject {
//TODO:Look into seeing if it's worth hard coding these instead of manual entry.
@PrimaryKey
private String uuid;
+ @Required
private String itemName;
public BackpackItem() {}
diff --git a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/model/Campaign.java b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/model/Campaign.java
index e27df656ae86516c41dad6c459742c4b3c430826..f908e883e62414c7623b1079f371e5c6df2d01dd 100644
--- a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/model/Campaign.java
+++ b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/model/Campaign.java
@@ -3,10 +3,12 @@ package com.eyecreate.miceandmystics.miceandmystics.model;
import io.realm.RealmList;
import io.realm.RealmObject;
import io.realm.annotations.PrimaryKey;
+import io.realm.annotations.Required;
public class Campaign extends RealmObject {
@PrimaryKey
private String campaignName;
+ @Required
private String campaignType;
private RealmList currentCharacters;
private RealmList partyStoryAchievements;
diff --git a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/model/Character.java b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/model/Character.java
index 94626a8e487b20c51be09c4830c7b02e6d93a860..6ff1d017486dcf52d6710707203e0bc2a5e92002 100644
--- a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/model/Character.java
+++ b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/model/Character.java
@@ -3,10 +3,12 @@ package com.eyecreate.miceandmystics.miceandmystics.model;
import io.realm.RealmList;
import io.realm.RealmObject;
import io.realm.annotations.PrimaryKey;
+import io.realm.annotations.Required;
public class Character extends RealmObject {
@PrimaryKey
private String uuid;
+ @Required
private String characterName;
private RealmList abilities;
private RealmList storedItems; //Not sure why I made this a list when rulebook says you can only have one xD
diff --git a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/viewholders/CampaignDetailsViewHolder.java b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/viewholders/CampaignDetailsViewHolder.java
index a327e0991d07941a071606b40b5799b6dcdea868..66effb4a44cf26300ef622aa688dd4e29a1ab1aa 100644
--- a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/viewholders/CampaignDetailsViewHolder.java
+++ b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/viewholders/CampaignDetailsViewHolder.java
@@ -48,14 +48,14 @@ public class CampaignDetailsViewHolder extends RecyclerView.ViewHolder implement
@Override
public boolean onLongClick(View view) {
AlertDialog removeDialog = new AlertDialogPro.Builder(view.getContext(),R.style.dialogTheme)
- .setMessage("Do you want to remove character: "+characterName.getText()+"?")
- .setNegativeButton("No", new DialogInterface.OnClickListener() {
+ .setMessage(view.getContext().getString(R.string.remove_character_confirm)+characterName.getText()+"?")
+ .setNegativeButton(view.getContext().getString(R.string.dialog_no), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
})
- .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
+ .setPositiveButton(view.getContext().getString(R.string.dialog_yes), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
adapter.removeCharacter(boundCharacter);
diff --git a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/viewholders/CampaignViewHolder.java b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/viewholders/CampaignViewHolder.java
index b60085bf81d56344ed5f6b5941b1c38a0800a753..7d51faec19fa86a9cdf8873c20e1846acd2cb64e 100644
--- a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/viewholders/CampaignViewHolder.java
+++ b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/viewholders/CampaignViewHolder.java
@@ -76,14 +76,14 @@ public class CampaignViewHolder extends RecyclerView.ViewHolder implements View.
@Override
public boolean onLongClick(View view) {
AlertDialog removeDialog = new AlertDialogPro.Builder(view.getContext(),R.style.dialogTheme)
- .setMessage("Do you want to remove campaign: "+campaignName.getText()+"?")
- .setNegativeButton("No", new DialogInterface.OnClickListener() {
+ .setMessage(view.getContext().getString(R.string.remove_campaign_confirm)+campaignName.getText()+"?")
+ .setNegativeButton(view.getContext().getString(R.string.dialog_no), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
})
- .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
+ .setPositiveButton(view.getContext().getString(R.string.dialog_yes), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
adapter.removeItem((String) campaignName.getText());
diff --git a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/viewholders/CharacterAbilityViewHolder.java b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/viewholders/CharacterAbilityViewHolder.java
index 603b3bd4ff1d308a29ae1f4010bed8d0e75ffd3c..276adf4723d3b73037c2d827b1be28cb90758e7e 100644
--- a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/viewholders/CharacterAbilityViewHolder.java
+++ b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/viewholders/CharacterAbilityViewHolder.java
@@ -32,14 +32,14 @@ public class CharacterAbilityViewHolder extends RecyclerView.ViewHolder implemen
@Override
public boolean onLongClick(View view) {
AlertDialog removeDialog = new AlertDialogPro.Builder(view.getContext(),R.style.dialogTheme)
- .setMessage("Do you want to remove ability: "+abilityName.getText()+"?")
- .setNegativeButton("No", new DialogInterface.OnClickListener() {
+ .setMessage(view.getContext().getString(R.string.remove_ability_confirm)+abilityName.getText()+"?")
+ .setNegativeButton(view.getContext().getString(R.string.dialog_no), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
})
- .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
+ .setPositiveButton(view.getContext().getString(R.string.dialog_yes), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
adapter.removeAbility(uuid);
diff --git a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/viewholders/CharacterItemViewHolder.java b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/viewholders/CharacterItemViewHolder.java
index 4be28cc67a96c65d71bdcfd71fcf2366429b5e9d..691c8c478a024ad10cdcff6d5b19109b30f66538 100644
--- a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/viewholders/CharacterItemViewHolder.java
+++ b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/viewholders/CharacterItemViewHolder.java
@@ -31,14 +31,14 @@ public class CharacterItemViewHolder extends RecyclerView.ViewHolder implements
@Override
public boolean onLongClick(View view) {
AlertDialog removeDialog = new AlertDialogPro.Builder(view.getContext(),R.style.dialogTheme)
- .setMessage("Do you want to remove item: "+itemName.getText()+"?")
- .setNegativeButton("No", new DialogInterface.OnClickListener() {
+ .setMessage(view.getContext().getString(R.string.remove_item_confirm)+itemName.getText()+"?")
+ .setNegativeButton(view.getContext().getString(R.string.dialog_no), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
})
- .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
+ .setPositiveButton(view.getContext().getString(R.string.dialog_yes), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
adapter.removeItem(uuid);
diff --git a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/viewholders/PartyAchievementViewHolder.java b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/viewholders/PartyAchievementViewHolder.java
index 8cb2bd57af04cbb571521ddf4049f31fc5227d57..98090923c2341a61b4b40925bafb53d9c595186b 100644
--- a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/viewholders/PartyAchievementViewHolder.java
+++ b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/viewholders/PartyAchievementViewHolder.java
@@ -35,14 +35,14 @@ public class PartyAchievementViewHolder extends RecyclerView.ViewHolder implemen
@Override
public boolean onLongClick(View view) {
AlertDialog removeDialog = new AlertDialogPro.Builder(view.getContext(),R.style.dialogTheme)
- .setMessage("Do you want to remove achievement: "+achievementName.getText()+"?")
- .setNegativeButton("No", new DialogInterface.OnClickListener() {
+ .setMessage(view.getContext().getString(R.string.remove_achievement_confirm)+achievementName.getText()+"?")
+ .setNegativeButton(view.getContext().getString(R.string.dialog_no), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
})
- .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
+ .setPositiveButton(view.getContext().getString(R.string.dialog_yes), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
adapter.removeAchievement(boundAchievement);
diff --git a/MiceAndMysticsTracker/src/main/res/layout/item_character_ability_header.xml b/MiceAndMysticsTracker/src/main/res/layout/item_character_ability_header.xml
index 7b030948ec528d6adb1b9be7e3ce1a40b37902bf..afb23eca992e6176c77e71869100e4a3bf1a6022 100644
--- a/MiceAndMysticsTracker/src/main/res/layout/item_character_ability_header.xml
+++ b/MiceAndMysticsTracker/src/main/res/layout/item_character_ability_header.xml
@@ -13,5 +13,5 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/parchment_yellow"
- android:text="Abilities"/>
+ android:text="@string/ability_item_header"/>
\ No newline at end of file
diff --git a/MiceAndMysticsTracker/src/main/res/layout/item_character_items_header.xml b/MiceAndMysticsTracker/src/main/res/layout/item_character_items_header.xml
index cb814a01538549f717c44576e7f14f467dc645f2..0a7500128a9f950ea03a21aa643af1a424f11e6d 100644
--- a/MiceAndMysticsTracker/src/main/res/layout/item_character_items_header.xml
+++ b/MiceAndMysticsTracker/src/main/res/layout/item_character_items_header.xml
@@ -8,5 +8,5 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/parchment_yellow"
- android:text="Items:"/>
+ android:text="@string/char_item_header"/>
\ No newline at end of file
diff --git a/MiceAndMysticsTracker/src/main/res/layout/item_partyachievements_header.xml b/MiceAndMysticsTracker/src/main/res/layout/item_partyachievements_header.xml
index fcf6d5d436f964764843d85752546f5b3b62168f..cc551fdf8d7d15dad2139265801c9ccb54139440 100644
--- a/MiceAndMysticsTracker/src/main/res/layout/item_partyachievements_header.xml
+++ b/MiceAndMysticsTracker/src/main/res/layout/item_partyachievements_header.xml
@@ -10,5 +10,5 @@
android:textSize="16sp"
android:textColor="@color/parchment_yellow"
android:gravity="center_horizontal"
- android:text="Party Achievements"/>
+ android:text="@string/party_item_header"/>
\ No newline at end of file
diff --git a/MiceAndMysticsTracker/src/main/res/values/strings.xml b/MiceAndMysticsTracker/src/main/res/values/strings.xml
index 7b44a6167cfebfbc390ca06a916c494c56a8231d..8f4b1f986b92d9ccb21aa692f169a4ee6503150f 100644
--- a/MiceAndMysticsTracker/src/main/res/values/strings.xml
+++ b/MiceAndMysticsTracker/src/main/res/values/strings.xml
@@ -62,4 +62,41 @@
Give Order
Energy Rush
+
+ Ok
+ Add
+ Create
+ Yes
+ No
+ Items:
+ Party Achievements
+ Abilities
+ Campaigns
+ Please give your new campaign a unique name:
+ Can not have blank name!
+ Character Details
+ Please select the ability to be added:
+ That ability is already on this character.
+ Please name the item to mark as held:
+ Can not have a blank item name!
+ Game Details
+ Please name the new player:
+ Can not have a blank name!
+ Can not have same name as another player!
+ Please select the achievement to add to party:
+ Can not have more than one of same achievement.
+ Please select your character and controlling player:
+ No player selected. Maybe try making one first.
+ Manage Players
+ Can not have two of same character in game.
+ "Removing player "
+ " must first remove all characters owned by player. Do you want to continue still?"
+ "Do you want to remove player: "
+ "Do you want to remove character: "
+ "Do you want to remove campaign: "
+ "Do you want to remove ability: "
+ "Do you want to remove item: "
+ "Do you want to remove achievement: "
+
+
diff --git a/build.gradle b/build.gradle
index 4f7a2f17472a991f8ae2ca84e0ae0af5df673a9f..c6371d6cdcc0203ee574baa951d0ccccfd5f5e6c 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,7 +5,7 @@ buildscript {
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:1.1.1'
+ classpath 'com.android.tools.build:gradle:1.3.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files