diff --git a/.idea/.name b/.idea/.name
index 5b9dbdd..56725f8 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 7fb8ed0..0000000
--- 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 98313e8..508bc35 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -3,9 +3,10 @@
-
+
-
+
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index e816edd..71f92fa 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 00bc483..13b4c36 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 75f9331..8056f9f 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 16dbe4b..2dc97e4 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 9cc92fd..a41f833 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 bfe0163..c266aa0 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 243dd12..14ec8bc 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 0dffc2a..97c337f 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 0000000..9be3df4
--- /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 9410ec1..f6b4c5f 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 6537ab1..ecb80b7 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 3451361..ccf19f3 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 9b8a16f..24acb78 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 e27df65..f908e88 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 94626a8..6ff1d01 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 a327e09..66effb4 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 b60085b..7d51fae 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 603b3bd..276adf4 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 4be28cc..691c8c4 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 8cb2bd5..9809092 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 7b03094..afb23ec 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 cb814a0..0a75001 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 fcf6d5d..cc551fd 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 7b44a61..8f4b1f9 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 4f7a2f1..c6371d6 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