Fixes passing the monster id when navigating to the edit monster screen.

This commit is contained in:
2021-05-27 03:23:23 -07:00
parent 71c0fdb43e
commit 4ff945301f
2 changed files with 27 additions and 49 deletions

View File

@@ -241,7 +241,7 @@ public class MonsterDetailFragment extends MCFragment {
@Override @Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) { public boolean onOptionsItemSelected(@NonNull MenuItem item) {
if (item.getItemId() == R.id.menu_action_edit_monster) { 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(); View view = getView();
assert view != null; assert view != null;
Navigation.findNavController(view).navigate(action); Navigation.findNavController(view).navigate(action);

View File

@@ -12,6 +12,31 @@ import java.util.UUID;
public class MonsterDetailViewModel extends ViewModel { public class MonsterDetailViewModel extends ViewModel {
private final MutableLiveData<List<String>> mAbilities;
private final MutableLiveData<List<String>> mActions;
private final MutableLiveData<String> mArmorClass;
private final MutableLiveData<String> mChallenge;
private final MutableLiveData<String> mCharisma;
private final MutableLiveData<String> mConditionImmunities;
private final MutableLiveData<String> mConstitution;
private final MutableLiveData<String> mDamageResistances;
private final MutableLiveData<String> mDamageImmunities;
private final MutableLiveData<String> mDamageVulnerabilities;
private final MutableLiveData<String> mDexterity;
private final MutableLiveData<String> mHitPoints;
private final MutableLiveData<String> mIntelligence;
private final MutableLiveData<String> mLanguages;
private final MutableLiveData<String> mMeta;
private final MutableLiveData<String> mName;
private final MutableLiveData<String> mSavingThrows;
private final MutableLiveData<String> mSenses;
private final MutableLiveData<String> mSkills;
private final MutableLiveData<String> mSpeed;
private final MutableLiveData<String> mStrength;
private final MutableLiveData<String> mWisdom;
private final MutableLiveData<UUID> mMonsterId;
private Monster mMonster;
public MonsterDetailViewModel() { public MonsterDetailViewModel() {
mMonster = null; mMonster = null;
mAbilities = new MutableLiveData<>(); mAbilities = new MutableLiveData<>();
@@ -62,146 +87,98 @@ public class MonsterDetailViewModel extends ViewModel {
mMonsterId.setValue(UUID.fromString("00000000-0000-0000-0000-000000000000")); mMonsterId.setValue(UUID.fromString("00000000-0000-0000-0000-000000000000"));
} }
private final MutableLiveData<List<String>> mAbilities;
public LiveData<List<String>> getAbilities() { public LiveData<List<String>> getAbilities() {
return mAbilities; return mAbilities;
} }
private final MutableLiveData<List<String>> mActions;
public LiveData<List<String>> getActions() { public LiveData<List<String>> getActions() {
return mActions; return mActions;
} }
private final MutableLiveData<String> mArmorClass;
public LiveData<String> getArmorClass() { public LiveData<String> getArmorClass() {
return mArmorClass; return mArmorClass;
} }
private final MutableLiveData<String> mChallenge;
public LiveData<String> getChallenge() { public LiveData<String> getChallenge() {
return mChallenge; return mChallenge;
} }
private final MutableLiveData<String> mCharisma;
public LiveData<String> getCharisma() { public LiveData<String> getCharisma() {
return mCharisma; return mCharisma;
} }
private final MutableLiveData<String> mConditionImmunities;
public LiveData<String> getConditionImmunities() { public LiveData<String> getConditionImmunities() {
return mConditionImmunities; return mConditionImmunities;
} }
private final MutableLiveData<String> mConstitution;
public LiveData<String> getConstitution() { public LiveData<String> getConstitution() {
return mConstitution; return mConstitution;
} }
private final MutableLiveData<String> mDamageResistances;
public LiveData<String> getDamageResistances() { public LiveData<String> getDamageResistances() {
return mDamageResistances; return mDamageResistances;
} }
private final MutableLiveData<String> mDamageImmunities;
public LiveData<String> getDamageImmunities() { public LiveData<String> getDamageImmunities() {
return mDamageImmunities; return mDamageImmunities;
} }
private final MutableLiveData<String> mDamageVulnerabilities;
public LiveData<String> getDamageVulnerabilities() { public LiveData<String> getDamageVulnerabilities() {
return mDamageVulnerabilities; return mDamageVulnerabilities;
} }
private final MutableLiveData<String> mDexterity;
public LiveData<String> getDexterity() { public LiveData<String> getDexterity() {
return mDexterity; return mDexterity;
} }
private final MutableLiveData<String> mHitPoints;
public LiveData<String> getHitPoints() { public LiveData<String> getHitPoints() {
return mHitPoints; return mHitPoints;
} }
private final MutableLiveData<String> mIntelligence;
public LiveData<String> getIntelligence() { public LiveData<String> getIntelligence() {
return mIntelligence; return mIntelligence;
} }
private final MutableLiveData<String> mLanguages;
public LiveData<String> getLanguages() { public LiveData<String> getLanguages() {
return mLanguages; return mLanguages;
} }
private final MutableLiveData<String> mMeta;
public LiveData<String> getMeta() { public LiveData<String> getMeta() {
return mMeta; return mMeta;
} }
private final MutableLiveData<String> mName;
public LiveData<String> getName() { public LiveData<String> getName() {
return mName; return mName;
} }
private final MutableLiveData<String> mSavingThrows;
public LiveData<String> getSavingThrows() { public LiveData<String> getSavingThrows() {
return mSavingThrows; return mSavingThrows;
} }
private final MutableLiveData<String> mSenses;
public LiveData<String> getSenses() { public LiveData<String> getSenses() {
return mSenses; return mSenses;
} }
private final MutableLiveData<String> mSkills;
public LiveData<String> getSkills() { public LiveData<String> getSkills() {
return mSkills; return mSkills;
} }
private final MutableLiveData<String> mSpeed;
public LiveData<String> getSpeed() { public LiveData<String> getSpeed() {
return mSpeed; return mSpeed;
} }
private final MutableLiveData<String> mStrength;
public LiveData<String> getStrength() { public LiveData<String> getStrength() {
return mStrength; return mStrength;
} }
private final MutableLiveData<String> mWisdom;
public LiveData<String> getWisdom() { public LiveData<String> getWisdom() {
return mWisdom; return mWisdom;
} }
private final MutableLiveData<UUID> mMonsterId;
public LiveData<UUID> getId() { public LiveData<UUID> getId() {
return mMonsterId; return mMonsterId;
} }
private Monster mMonster;
public void setMonster(Monster monster) { public void setMonster(Monster monster) {
mMonster = monster; mMonster = monster;
@@ -220,6 +197,7 @@ public class MonsterDetailViewModel extends ViewModel {
mIntelligence.setValue(monster.getIntelligenceDescription()); mIntelligence.setValue(monster.getIntelligenceDescription());
mLanguages.setValue(mMonster.getLanguagesDescription()); mLanguages.setValue(mMonster.getLanguagesDescription());
mMeta.setValue(mMonster.getMeta()); mMeta.setValue(mMonster.getMeta());
mMonsterId.setValue(mMonster.id);
mName.setValue(mMonster.name); mName.setValue(mMonster.name);
mSavingThrows.setValue(monster.getSavingThrowsDescription()); mSavingThrows.setValue(monster.getSavingThrowsDescription());
mSenses.setValue(monster.getSensesDescription()); mSenses.setValue(monster.getSensesDescription());