From 4ff945301fa594210bb42ff51031210538c7707d Mon Sep 17 00:00:00 2001 From: Tom Hicks Date: Thu, 27 May 2021 03:23:23 -0700 Subject: [PATCH] Fixes passing the monster id when navigating to the edit monster screen. --- .../ui/monster/MonsterDetailFragment.java | 2 +- .../ui/monster/MonsterDetailViewModel.java | 74 +++++++------------ 2 files changed, 27 insertions(+), 49 deletions(-) diff --git a/app/src/main/java/com/majinnaibu/monstercards/ui/monster/MonsterDetailFragment.java b/app/src/main/java/com/majinnaibu/monstercards/ui/monster/MonsterDetailFragment.java index 32145c1..10f4ff7 100644 --- a/app/src/main/java/com/majinnaibu/monstercards/ui/monster/MonsterDetailFragment.java +++ b/app/src/main/java/com/majinnaibu/monstercards/ui/monster/MonsterDetailFragment.java @@ -241,7 +241,7 @@ public class MonsterDetailFragment extends MCFragment { @Override public boolean onOptionsItemSelected(@NonNull MenuItem item) { if (item.getItemId() == R.id.menu_action_edit_monster) { - NavDirections action = MonsterDetailFragmentDirections.actionNavigationMonsterToEditMonsterFragment(monsterDetailViewModel.getId().toString()); + NavDirections action = MonsterDetailFragmentDirections.actionNavigationMonsterToEditMonsterFragment(monsterDetailViewModel.getId().getValue().toString()); View view = getView(); assert view != null; Navigation.findNavController(view).navigate(action); diff --git a/app/src/main/java/com/majinnaibu/monstercards/ui/monster/MonsterDetailViewModel.java b/app/src/main/java/com/majinnaibu/monstercards/ui/monster/MonsterDetailViewModel.java index 19e6d3f..26bed24 100644 --- a/app/src/main/java/com/majinnaibu/monstercards/ui/monster/MonsterDetailViewModel.java +++ b/app/src/main/java/com/majinnaibu/monstercards/ui/monster/MonsterDetailViewModel.java @@ -12,6 +12,31 @@ import java.util.UUID; public class MonsterDetailViewModel extends ViewModel { + private final MutableLiveData> mAbilities; + private final MutableLiveData> mActions; + private final MutableLiveData mArmorClass; + private final MutableLiveData mChallenge; + private final MutableLiveData mCharisma; + private final MutableLiveData mConditionImmunities; + private final MutableLiveData mConstitution; + private final MutableLiveData mDamageResistances; + private final MutableLiveData mDamageImmunities; + private final MutableLiveData mDamageVulnerabilities; + private final MutableLiveData mDexterity; + private final MutableLiveData mHitPoints; + private final MutableLiveData mIntelligence; + private final MutableLiveData mLanguages; + private final MutableLiveData mMeta; + private final MutableLiveData mName; + private final MutableLiveData mSavingThrows; + private final MutableLiveData mSenses; + private final MutableLiveData mSkills; + private final MutableLiveData mSpeed; + private final MutableLiveData mStrength; + private final MutableLiveData mWisdom; + private final MutableLiveData mMonsterId; + private Monster mMonster; + public MonsterDetailViewModel() { mMonster = null; mAbilities = new MutableLiveData<>(); @@ -62,146 +87,98 @@ public class MonsterDetailViewModel extends ViewModel { mMonsterId.setValue(UUID.fromString("00000000-0000-0000-0000-000000000000")); } - private final MutableLiveData> mAbilities; - public LiveData> getAbilities() { return mAbilities; } - private final MutableLiveData> mActions; - public LiveData> getActions() { return mActions; } - private final MutableLiveData mArmorClass; - public LiveData getArmorClass() { return mArmorClass; } - private final MutableLiveData mChallenge; - public LiveData getChallenge() { return mChallenge; } - private final MutableLiveData mCharisma; - public LiveData getCharisma() { return mCharisma; } - private final MutableLiveData mConditionImmunities; - public LiveData getConditionImmunities() { return mConditionImmunities; } - private final MutableLiveData mConstitution; - public LiveData getConstitution() { return mConstitution; } - private final MutableLiveData mDamageResistances; - public LiveData getDamageResistances() { return mDamageResistances; } - private final MutableLiveData mDamageImmunities; - public LiveData getDamageImmunities() { return mDamageImmunities; } - private final MutableLiveData mDamageVulnerabilities; - public LiveData getDamageVulnerabilities() { return mDamageVulnerabilities; } - private final MutableLiveData mDexterity; - public LiveData getDexterity() { return mDexterity; } - private final MutableLiveData mHitPoints; - public LiveData getHitPoints() { return mHitPoints; } - private final MutableLiveData mIntelligence; - public LiveData getIntelligence() { return mIntelligence; } - private final MutableLiveData mLanguages; - public LiveData getLanguages() { return mLanguages; } - private final MutableLiveData mMeta; - public LiveData getMeta() { return mMeta; } - private final MutableLiveData mName; - public LiveData getName() { return mName; } - private final MutableLiveData mSavingThrows; - public LiveData getSavingThrows() { return mSavingThrows; } - private final MutableLiveData mSenses; - public LiveData getSenses() { return mSenses; } - private final MutableLiveData mSkills; - public LiveData getSkills() { return mSkills; } - private final MutableLiveData mSpeed; - public LiveData getSpeed() { return mSpeed; } - private final MutableLiveData mStrength; - public LiveData getStrength() { return mStrength; } - private final MutableLiveData mWisdom; - public LiveData getWisdom() { return mWisdom; } - private final MutableLiveData mMonsterId; - public LiveData getId() { return mMonsterId; } - private Monster mMonster; - public void setMonster(Monster monster) { mMonster = monster; @@ -220,6 +197,7 @@ public class MonsterDetailViewModel extends ViewModel { mIntelligence.setValue(monster.getIntelligenceDescription()); mLanguages.setValue(mMonster.getLanguagesDescription()); mMeta.setValue(mMonster.getMeta()); + mMonsterId.setValue(mMonster.id); mName.setValue(mMonster.name); mSavingThrows.setValue(monster.getSavingThrowsDescription()); mSenses.setValue(monster.getSensesDescription());