From edc18f6ba2c7e4561e9752fcecfefc525084a17a Mon Sep 17 00:00:00 2001 From: Tom Hicks Date: Fri, 17 Dec 2021 17:21:48 -0800 Subject: [PATCH] Converts enums to Kotlin. --- Android/app/build.gradle | 3 ++ .../monstercards/data/enums/AbilityScore.java | 31 ---------------- .../monstercards/data/enums/AbilityScore.kt | 26 +++++++++++++ .../data/enums/AdvantageType.java | 27 -------------- .../monstercards/data/enums/AdvantageType.kt | 23 ++++++++++++ .../enums/{ArmorType.java => ArmorType.kt} | 37 ++++++++----------- ...hallengeRating.java => ChallengeRating.kt} | 37 ++++++++----------- .../data/enums/ProficiencyType.java | 27 -------------- .../data/enums/ProficiencyType.kt | 23 ++++++++++++ .../enums/{StringType.java => StringType.kt} | 6 +-- .../enums/{TraitType.java => TraitType.kt} | 6 +-- Android/build.gradle | 1 + 12 files changed, 114 insertions(+), 133 deletions(-) delete mode 100644 Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/AbilityScore.java create mode 100644 Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/AbilityScore.kt delete mode 100644 Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/AdvantageType.java create mode 100644 Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/AdvantageType.kt rename Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/{ArmorType.java => ArmorType.kt} (50%) rename Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/{ChallengeRating.java => ChallengeRating.kt} (64%) delete mode 100644 Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/ProficiencyType.java create mode 100644 Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/ProficiencyType.kt rename Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/{StringType.java => StringType.kt} (58%) rename Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/{TraitType.java => TraitType.kt} (57%) diff --git a/Android/app/build.gradle b/Android/app/build.gradle index 22d225b..5be96a1 100644 --- a/Android/app/build.gradle +++ b/Android/app/build.gradle @@ -1,6 +1,7 @@ plugins { id 'com.android.application' id 'androidx.navigation.safeargs' + id 'kotlin-android' } Properties properties = new Properties() @@ -65,6 +66,8 @@ dependencies { // Included libs implementation fileTree(dir: "libs", include: ["*.jar"]) + implementation "org.jetbrains.kotlin:kotlin-stdlib:1.4.20" + // Google implementation 'androidx.appcompat:appcompat:1.3.1' implementation 'com.google.android.material:material:1.4.0' diff --git a/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/AbilityScore.java b/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/AbilityScore.java deleted file mode 100644 index 5a0b24e..0000000 --- a/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/AbilityScore.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.majinnaibu.monstercards.data.enums; - -@SuppressWarnings("unused") -public enum AbilityScore { - STRENGTH("strength", "Strength", "STR"), - DEXTERITY("dexterity", "Dexterity", "DEX"), - CONSTITUTION("constitution", "Constitution", "CON"), - INTELLIGENCE("intelligence", "Intelligence", "INT"), - WISDOM("wisdom", "Wisdom", "WIS"), - CHARISMA("charisma", "Charisma", "CHA"), - ; - - public final String displayName; - public final String shortDisplayName; - public final String stringValue; - - AbilityScore(String stringValue, String displayName, String shortDisplayName) { - this.displayName = displayName; - this.stringValue = stringValue; - this.shortDisplayName = shortDisplayName; - } - - public static AbilityScore valueOfString(String string) { - for (AbilityScore abilityScore : values()) { - if (abilityScore.stringValue.equals(string)) { - return abilityScore; - } - } - return AbilityScore.STRENGTH; - } -} diff --git a/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/AbilityScore.kt b/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/AbilityScore.kt new file mode 100644 index 0000000..8bf5e0c --- /dev/null +++ b/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/AbilityScore.kt @@ -0,0 +1,26 @@ +package com.majinnaibu.monstercards.data.enums + +enum class AbilityScore( + @JvmField val stringValue: String, + @JvmField val displayName: String, + @JvmField val shortDisplayName: String +) { + STRENGTH("strength", "Strength", "STR"), + DEXTERITY("dexterity", "Dexterity", "DEX"), + CONSTITUTION("constitution", "Constitution", "CON"), + INTELLIGENCE("intelligence", "Intelligence", "INT"), + WISDOM("wisdom", "Wisdom", "WIS"), + CHARISMA("charisma", "Charisma", "CHA"); + + companion object { + @JvmStatic + fun valueOfString(string: String): AbilityScore { + for (abilityScore in values()) { + if (abilityScore.stringValue == string) { + return abilityScore + } + } + return STRENGTH + } + } +} \ No newline at end of file diff --git a/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/AdvantageType.java b/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/AdvantageType.java deleted file mode 100644 index 1405696..0000000 --- a/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/AdvantageType.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.majinnaibu.monstercards.data.enums; - -public enum AdvantageType { - NONE("none", "None", ""), - ADVANTAGE("advantage", "Advantage", "A"), - DISADVANTAGE("disadvantage", "Disadvantage", "D"), - ; - - public final String displayName; - public final String stringValue; - public final String label; - - AdvantageType(String stringValue, String displayName, String label) { - this.displayName = displayName; - this.stringValue = stringValue; - this.label = label; - } - - public static AdvantageType valueOfString(String string) { - for (AdvantageType advantageType : values()) { - if (advantageType.stringValue.equals(string)) { - return advantageType; - } - } - return AdvantageType.NONE; - } -} diff --git a/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/AdvantageType.kt b/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/AdvantageType.kt new file mode 100644 index 0000000..f7359fc --- /dev/null +++ b/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/AdvantageType.kt @@ -0,0 +1,23 @@ +package com.majinnaibu.monstercards.data.enums + +enum class AdvantageType( + val stringValue: String, + val displayName: String, + @JvmField val label: String +) { + NONE("none", "None", ""), + ADVANTAGE("advantage", "Advantage", "A"), + DISADVANTAGE("disadvantage", "Disadvantage", "D"); + + companion object { + @JvmStatic + fun valueOfString(string: String): AdvantageType { + for (advantageType in values()) { + if (advantageType.stringValue == string) { + return advantageType + } + } + return NONE + } + } +} \ No newline at end of file diff --git a/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/ArmorType.java b/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/ArmorType.kt similarity index 50% rename from Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/ArmorType.java rename to Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/ArmorType.kt index 67cf8ae..bca8c70 100644 --- a/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/ArmorType.java +++ b/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/ArmorType.kt @@ -1,7 +1,10 @@ -package com.majinnaibu.monstercards.data.enums; +package com.majinnaibu.monstercards.data.enums -@SuppressWarnings("unused") -public enum ArmorType { +enum class ArmorType( + @JvmField val stringValue: String, + @JvmField val displayName: String, + @JvmField val baseArmorClass: Int +) { NONE("none", "None", 10), NATURAL_ARMOR("natural armor", "Natural Armor", 10), MAGE_ARMOR("mage armor", "Mage Armor", 10), @@ -17,25 +20,17 @@ public enum ArmorType { CHAIN_MAIL("chain mail", "Chain Mail", 16), SPLINT_MAIL("splint", "Splint Mail", 17), PLATE_MAIL("plate", "Plate Mail", 18), - OTHER("other", "Other", 10), - ; + OTHER("other", "Other", 10); - public final String displayName; - public final String stringValue; - public final int baseArmorClass; - - ArmorType(String stringValue, String displayName, int baseArmorClass) { - this.displayName = displayName; - this.stringValue = stringValue; - this.baseArmorClass = baseArmorClass; - } - - public static ArmorType valueOfString(String string) { - for (ArmorType armorType : values()) { - if (armorType.stringValue.equals(string)) { - return armorType; + companion object { + @JvmStatic + fun valueOfString(string: String): ArmorType { + for (armorType in values()) { + if (armorType.stringValue == string) { + return armorType + } } + return NONE } - return ArmorType.NONE; } -} +} \ No newline at end of file diff --git a/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/ChallengeRating.java b/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/ChallengeRating.kt similarity index 64% rename from Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/ChallengeRating.java rename to Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/ChallengeRating.kt index be8d87c..d63c668 100644 --- a/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/ChallengeRating.java +++ b/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/ChallengeRating.kt @@ -1,7 +1,10 @@ -package com.majinnaibu.monstercards.data.enums; +package com.majinnaibu.monstercards.data.enums -@SuppressWarnings("unused") -public enum ChallengeRating { +enum class ChallengeRating( + @JvmField val stringValue: String, + @JvmField val displayName: String, + @JvmField val proficiencyBonus: Int +) { CUSTOM("custom", "Custom", 0), ZERO("zero", "0 (10 XP)", 2), ONE_EIGHTH("1/8", "1/8 (25 XP)", 2), @@ -36,25 +39,17 @@ public enum ChallengeRating { TWENTY_SEVEN("27", "27 (105,000 XP)", 8), TWENTY_EIGHT("28", "28 (120,000 XP)", 8), TWENTY_NINE("29", "29 (135,000 XP)", 9), - THIRTY("30", "30 (155,000 XP)", 9), - ; + THIRTY("30", "30 (155,000 XP)", 9); - public final String displayName; - public final String stringValue; - public final int proficiencyBonus; - - ChallengeRating(String stringValue, String displayName, int proficiencyBonus) { - this.displayName = displayName; - this.stringValue = stringValue; - this.proficiencyBonus = proficiencyBonus; - } - - public static ChallengeRating valueOfString(String string) { - for (ChallengeRating challengeRating : values()) { - if (challengeRating.stringValue.equals(string)) { - return challengeRating; + companion object { + @JvmStatic + fun valueOfString(string: String): ChallengeRating { + for (challengeRating in values()) { + if (challengeRating.stringValue == string) { + return challengeRating + } } + return ONE } - return ChallengeRating.ONE; } -} +} \ No newline at end of file diff --git a/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/ProficiencyType.java b/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/ProficiencyType.java deleted file mode 100644 index 9236ad0..0000000 --- a/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/ProficiencyType.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.majinnaibu.monstercards.data.enums; - -public enum ProficiencyType { - NONE("none", "None", ""), - PROFICIENT("proficient", "Proficient", "P"), - EXPERTISE("expertise", "Expertise", "Ex"), - ; - - public final String displayName; - public final String stringValue; - public final String label; - - ProficiencyType(String stringValue, String displayName, String label) { - this.displayName = displayName; - this.stringValue = stringValue; - this.label = label; - } - - public static ProficiencyType valueOfString(String string) { - for (ProficiencyType proficiencyType : values()) { - if (proficiencyType.stringValue.equals(string)) { - return proficiencyType; - } - } - return ProficiencyType.NONE; - } -} diff --git a/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/ProficiencyType.kt b/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/ProficiencyType.kt new file mode 100644 index 0000000..21ad6e2 --- /dev/null +++ b/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/ProficiencyType.kt @@ -0,0 +1,23 @@ +package com.majinnaibu.monstercards.data.enums + +enum class ProficiencyType( + @JvmField val stringValue: String, + @JvmField val displayName: String, + @JvmField val label: String +) { + NONE("none", "None", ""), + PROFICIENT("proficient", "Proficient", "P"), + EXPERTISE("expertise", "Expertise", "Ex"); + + companion object { + @JvmStatic + fun valueOfString(string: String): ProficiencyType { + for (proficiencyType in values()) { + if (proficiencyType.stringValue == string) { + return proficiencyType + } + } + return NONE + } + } +} \ No newline at end of file diff --git a/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/StringType.java b/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/StringType.kt similarity index 58% rename from Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/StringType.java rename to Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/StringType.kt index 67b7497..cb2675e 100644 --- a/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/StringType.java +++ b/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/StringType.kt @@ -1,9 +1,9 @@ -package com.majinnaibu.monstercards.data.enums; +package com.majinnaibu.monstercards.data.enums -public enum StringType { +enum class StringType { CONDITION_IMMUNITY, DAMAGE_IMMUNITY, DAMAGE_RESISTANCE, DAMAGE_VULNERABILITY, SENSE -} +} \ No newline at end of file diff --git a/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/TraitType.java b/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/TraitType.kt similarity index 57% rename from Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/TraitType.java rename to Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/TraitType.kt index ab7e858..b69eb05 100644 --- a/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/TraitType.java +++ b/Android/app/src/main/java/com/majinnaibu/monstercards/data/enums/TraitType.kt @@ -1,10 +1,10 @@ -package com.majinnaibu.monstercards.data.enums; +package com.majinnaibu.monstercards.data.enums -public enum TraitType { +enum class TraitType { ABILITY, ACTION, LAIR_ACTION, LEGENDARY_ACTION, REGIONAL_ACTION, REACTIONS -} +} \ No newline at end of file diff --git a/Android/build.gradle b/Android/build.gradle index 9a94312..ef55099 100644 --- a/Android/build.gradle +++ b/Android/build.gradle @@ -7,6 +7,7 @@ buildscript { dependencies { classpath 'com.android.tools.build:gradle:7.0.4' classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.3.5" + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files