From 50bd394151720653ed743c03d95bfedc4f3b51db Mon Sep 17 00:00:00 2001 From: Kevin Whitaker Date: Tue, 1 Nov 2016 23:46:11 -0400 Subject: [PATCH] Stop using for loops to delete items in the loop. Can confuse Realm and make it think there are items where there are not. Luckily, there's a simple delete all method. Update gradle plugin. --- .../miceandmystics/adapters/CampaignAdapter.java | 13 +++++++------ .../adapters/CampaignDetailsAdapter.java | 16 +++++++--------- build.gradle | 2 +- 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/adapters/CampaignAdapter.java b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/adapters/CampaignAdapter.java index 5129a6e..1eea9b7 100644 --- a/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/adapters/CampaignAdapter.java +++ b/MiceAndMysticsTracker/src/main/java/com/eyecreate/miceandmystics/miceandmystics/adapters/CampaignAdapter.java @@ -4,11 +4,13 @@ import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.ViewGroup; + import com.eyecreate.miceandmystics.miceandmystics.MiceAndMysticsApplication; import com.eyecreate.miceandmystics.miceandmystics.R; -import com.eyecreate.miceandmystics.miceandmystics.model.*; +import com.eyecreate.miceandmystics.miceandmystics.model.Character; import com.eyecreate.miceandmystics.miceandmystics.model.Enums.CampaignType; import com.eyecreate.miceandmystics.miceandmystics.viewholders.CampaignViewHolder; + import io.realm.RealmResults; public class CampaignAdapter extends RecyclerView.Adapter { @@ -50,13 +52,12 @@ public class CampaignAdapter extends RecyclerView.Adapter { .where(com.eyecreate.miceandmystics.miceandmystics.model.Campaign.class) .equalTo("campaignName",campaignName) .findFirst(); - for(com.eyecreate.miceandmystics.miceandmystics.model.Character character:campaign.getCurrentCharacters()) { - CampaignDetailsAdapter.removeCharacterFromDB(character); + for(Character character:campaign.getCurrentCharacters()) { + CampaignDetailsAdapter.removeItemsAndAbilities(character); } MiceAndMysticsApplication.getRealmInstance().beginTransaction(); - for(Achievement achievement:campaign.getPartyStoryAchievements()) { - achievement.deleteFromRealm(); - } + campaign.getCurrentCharacters().deleteAllFromRealm(); + campaign.getPartyStoryAchievements().deleteAllFromRealm(); campaign.deleteFromRealm(); MiceAndMysticsApplication.getRealmInstance().commitTransaction(); fullRefresh(); 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 317630e..7f6a622 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 @@ -5,12 +5,14 @@ import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.ViewGroup; import android.widget.Toast; + import com.eyecreate.miceandmystics.miceandmystics.MiceAndMysticsApplication; import com.eyecreate.miceandmystics.miceandmystics.R; -import com.eyecreate.miceandmystics.miceandmystics.model.*; import com.eyecreate.miceandmystics.miceandmystics.model.Achievement; +import com.eyecreate.miceandmystics.miceandmystics.model.Campaign; import com.eyecreate.miceandmystics.miceandmystics.model.Character; -import com.eyecreate.miceandmystics.miceandmystics.model.Enums.*; +import com.eyecreate.miceandmystics.miceandmystics.model.Enums.CharacterNames; +import com.eyecreate.miceandmystics.miceandmystics.model.Player; import com.eyecreate.miceandmystics.miceandmystics.viewholders.CampaignDetailsViewHolder; import com.eyecreate.miceandmystics.miceandmystics.viewholders.CampaignHeaderViewHolder; import com.eyecreate.miceandmystics.miceandmystics.viewholders.PartyAchievementViewHolder; @@ -92,14 +94,10 @@ public class CampaignDetailsAdapter extends RecyclerView.Adapter