diff --git a/app/src/main/java/gr/thmmy/mthmmy/activities/upload/UploadActivity.java b/app/src/main/java/gr/thmmy/mthmmy/activities/upload/UploadActivity.java index 26156382..e0b5b986 100644 --- a/app/src/main/java/gr/thmmy/mthmmy/activities/upload/UploadActivity.java +++ b/app/src/main/java/gr/thmmy/mthmmy/activities/upload/UploadActivity.java @@ -421,7 +421,7 @@ public class UploadActivity extends BaseActivity { generateFieldsButton.setEnabled(true); } FirebaseRemoteConfig firebaseRemoteConfig = FirebaseRemoteConfig.getInstance(); - String uploadsCoursesString = firebaseRemoteConfig.getString(firebaseConfigUploadsCoursesKey); + String uploadsCoursesString = firebaseRemoteConfig.getValue(firebaseConfigUploadsCoursesKey).asString(); JSONObject uploadsCoursesJSON; try { uploadsCoursesJSON = new JSONObject(uploadsCoursesString); diff --git a/app/src/main/java/gr/thmmy/mthmmy/activities/upload/UploadsCourse.java b/app/src/main/java/gr/thmmy/mthmmy/activities/upload/UploadsCourse.java index 25aa9af5..7c2877a9 100644 --- a/app/src/main/java/gr/thmmy/mthmmy/activities/upload/UploadsCourse.java +++ b/app/src/main/java/gr/thmmy/mthmmy/activities/upload/UploadsCourse.java @@ -6,6 +6,8 @@ import org.json.JSONObject; import java.util.HashMap; +import timber.log.Timber; + public class UploadsCourse { private final int id; private final String name, minifiedName, greeklishName; @@ -43,7 +45,9 @@ public class UploadsCourse { String name = course.getString("name"); String minifiedName = course.getString("minified"); String greeklisName = course.getString("greeklish"); - coursesHashMap.put(course.getInt("id"), new UploadsCourse(id, name, minifiedName, greeklisName)); + if(coursesHashMap.containsKey(id)) + Timber.w("Added a duplicate id (%d) in uploads courses!", id); + coursesHashMap.put(id, new UploadsCourse(id, name, minifiedName, greeklisName)); } } diff --git a/app/src/main/res/raw/uploads_courses.json b/app/src/main/res/raw/uploads_courses.json index 7f04e34e..53501bc5 100644 --- a/app/src/main/res/raw/uploads_courses.json +++ b/app/src/main/res/raw/uploads_courses.json @@ -437,62 +437,68 @@ "name": "8ο εξάμηνο", "categories": [ { - "id": "990", - "name": "Μαθήματα Επιλογής [ΠΠΣ]", - "courses": [ - { - "id": "5538", - "name": "Αρχές Οικονομίας [ΠΠΣ]", - "minified": "Αρχές Οικονομίας", - "greeklish": "Arxes_Oikonomias" - }, - { - "id": "5530", - "name": "Διανεμημένη Παραγωγή [ΠΠΣ]", - "minified": "Διανεμημένη Παραγωγή", - "greeklish": "Dianemimeni_Paragogi" - }, - { - "id": "5529", - "name": "Διαχείριση Συστημάτων Ηλεκτρικής Ενέργειας [ΠΠΣ]", - "minified": "ΔΣΗΕ", - "greeklish": "DSHE" - }, - { - "id": "5533", - "name": "Υψηλές Τάσεις III [ΠΠΣ]", - "minified": "Υψηλές Τάσεις III", - "greeklish": "Ypsiles_III" - } - ] - }, - { - "id": "991", - "name": "Υποχρεωτικά Μαθήματα [ΠΠΣ]", - "courses": [ - { - "id": "4896", - "name": "Ανάλυση Συστημάτων Ηλεκτρικής Ενέργειας [ΠΠΣ]", - "minified": "ΑΣΗΕ", - "greeklish": "ASHE" - }, - { - "id": "85", - "name": "Ηλεκτρικές Μηχανές Β\\' [ΠΠΣ]", - "minified": "Ηλεκτρικές Μηχανές Β\\'", - "greeklish": "Mixanes_B" - }, + "id": "5526", + "name": "8ο εξάμηνο [ΠΠΣ]", + "categories": [ { - "id": "4902", - "name": "Ηλεκτρονικά Ισχύος I [ΠΠΣ]", - "minified": "Ηλεκτρονικά Ισχύος I", - "greeklish": "Isxyos_I" + "id": "990", + "name": "Μαθήματα Επιλογής [ΠΠΣ]", + "courses": [ + { + "id": "5538", + "name": "Αρχές Οικονομίας [ΠΠΣ]", + "minified": "Αρχές Οικονομίας", + "greeklish": "Arxes_Oikonomias" + }, + { + "id": "5530", + "name": "Διανεμημένη Παραγωγή [ΠΠΣ]", + "minified": "Διανεμημένη Παραγωγή", + "greeklish": "Dianemimeni_Paragogi" + }, + { + "id": "5529", + "name": "Διαχείριση Συστημάτων Ηλεκτρικής Ενέργειας [ΠΠΣ]", + "minified": "ΔΣΗΕ", + "greeklish": "DSHE" + }, + { + "id": "5533", + "name": "Υψηλές Τάσεις III [ΠΠΣ]", + "minified": "Υψηλές Τάσεις III", + "greeklish": "Ypsiles_III" + } + ] }, { - "id": "5528", - "name": "Συστήματα Ηλεκτρικής Ενέργειας III [ΠΠΣ]", - "minified": "ΣΗΕ III", - "greeklish": "SHE_III" + "id": "991", + "name": "Υποχρεωτικά Μαθήματα [ΠΠΣ]", + "courses": [ + { + "id": "4896", + "name": "Ανάλυση Συστημάτων Ηλεκτρικής Ενέργειας [ΠΠΣ]", + "minified": "ΑΣΗΕ", + "greeklish": "ASHE" + }, + { + "id": "85", + "name": "Ηλεκτρικές Μηχανές Β\\' [ΠΠΣ]", + "minified": "Ηλεκτρικές Μηχανές Β\\'", + "greeklish": "Mixanes_B" + }, + { + "id": "4902", + "name": "Ηλεκτρονικά Ισχύος I [ΠΠΣ]", + "minified": "Ηλεκτρονικά Ισχύος I", + "greeklish": "Isxyos_I" + }, + { + "id": "5528", + "name": "Συστήματα Ηλεκτρικής Ενέργειας III [ΠΠΣ]", + "minified": "ΣΗΕ III", + "greeklish": "SHE_III" + } + ] } ] } @@ -763,38 +769,32 @@ "name": "7ο εξάμηνο [ΠΠΣ]", "categories": [ { - "id": "4943", - "name": "7ο εξάμηνο [ΠΠΣ]", - "categories": [ + "id": "985", + "name": "Μαθήματα Επιλογης [ΠΠΣ]", + "courses": [ { - "id": "985", - "name": "Μαθήματα Επιλογης [ΠΠΣ]", - "courses": [ - { - "id": "5108", - "name": "Προγραμματιζόμενα Κυκλώματα ASIC [ΠΠΣ]", - "minified": "ASIC", - "greeklish": "ASIC" - }, - { - "id": "5107", - "name": "Προσομοίωση και Μοντελοποίηση Συστημάτων [ΠΠΣ]", - "minified": "Προσομοίωση και Μοντελοποίηση Συστημάτων", - "greeklish": "Montelopoiisi" - } - ] + "id": "5108", + "name": "Προγραμματιζόμενα Κυκλώματα ASIC [ΠΠΣ]", + "minified": "ASIC", + "greeklish": "ASIC" }, { - "id": "984", - "name": "Υποχρεωτικά Μαθήματα [ΠΠΣ]", - "courses": [ - { - "id": "91", - "name": "Συστήματα Μικροϋπολογιστών [ΠΠΣ]", - "minified": "Συστήματα Μικροϋπολογιστών", - "greeklish": "Mikro_I" - } - ] + "id": "5107", + "name": "Προσομοίωση και Μοντελοποίηση Συστημάτων [ΠΠΣ]", + "minified": "Προσομοίωση και Μοντελοποίηση Συστημάτων", + "greeklish": "Montelopoiisi" + } + ] + }, + { + "id": "984", + "name": "Υποχρεωτικά Μαθήματα [ΠΠΣ]", + "courses": [ + { + "id": "91", + "name": "Συστήματα Μικροϋπολογιστών [ΠΠΣ]", + "minified": "Συστήματα Μικροϋπολογιστών", + "greeklish": "Mikro_I" } ] } @@ -1462,12 +1462,6 @@ "minified": "Γεωηλεκτρομαγνητισμός", "greeklish": "Geoilektromagnitismos" }, - { - "id": "150", - "name": "Μικροκυματική Τηλεπισκόπηση [ΠΠΣ]", - "minified": "Μικροκυματική Τηλεπισκόπηση", - "greeklish": "MRS" - }, { "id": "157", "name": "Τεχνικές Κωδικοποίησης [ΠΠΣ]", @@ -1480,6 +1474,12 @@ "id": "6000", "name": "Υποχρεωτικά Μαθήματα [ΠΠΣ]", "courses": [ + { + "id": "150", + "name": "Μικροκυματική Τηλεπισκόπηση [ΠΠΣ]", + "minified": "Μικροκυματική Τηλεπισκόπηση", + "greeklish": "MRS" + }, { "id": "149", "name": "Σύνθεση Τηλεπικοινωνιακών Διατάξεων [ΠΠΣ]", @@ -1487,78 +1487,78 @@ "greeklish": "Synthesi_Tilepikoinoniakon_Diatakseon" } ] + } + ] + }, + { + "id": "2024", + "name": "Μαθήματα Επιλογής", + "courses": [ + { + "id": "121", + "name": "Ειδικά Θέματα Διάδοσης και Ραδιοζεύξεων", + "minified": "Ειδικά Θέματα Διάδοσης και Ραδιοζεύξεων", + "greeklish": "Eidika_Themata_Diadosis_kai_Radiosyzeuxeon" }, { - "id": "2024", - "name": "Μαθήματα Επιλογής", - "courses": [ - { - "id": "121", - "name": "Ειδικά Θέματα Διάδοσης και Ραδιοζεύξεων", - "minified": "Ειδικά Θέματα Διάδοσης και Ραδιοζεύξεων", - "greeklish": "Eidika_Themata_Diadosis_kai_Radiosyzeuxeon" - }, - { - "id": "1754", - "name": "Ευρυζωνικά Δίκτυα", - "minified": "Ευρυζωνικά Δίκτυα", - "greeklish": "Broadband_Networks" - }, - { - "id": "2084", - "name": "Ηλεκτρομαγνητική Συμβατότητα", - "minified": "Ηλεκτρομαγνητική Συμβατότητα", - "greeklish": "EMC" - }, - { - "id": "5555", - "name": "Κώδικες Διόρθωσης Σφαλμάτων", - "minified": "Κώδικες Διόρθωσης Σφαλμάτων", - "greeklish": "Error_Correction_Codes" - }, - { - "id": "155", - "name": "Τεχνικές μη Καταστρεπτικών Δοκιμών", - "minified": "Τεχνικές μη Καταστρεπτικών Δοκιμών", - "greeklish": "Non_Destructive_Testing_Techniques" - }, - { - "id": "1768", - "name": "Τεχνολογία Ήχου και Εικόνας: Αποθήκευση, Επεξεργασία, Μετάδοση", - "minified": "Τεχνολογία Ήχου και Εικόνας", - "greeklish": "Texnologia_Ixou_Eikonas" - }, - { - "id": "153", - "name": "Φωτονική Τεχνολογία", - "minified": "Φωτονική Τεχνολογία", - "greeklish": "Fotoniki_Texnologia" - } - ] + "id": "1754", + "name": "Ευρυζωνικά Δίκτυα", + "minified": "Ευρυζωνικά Δίκτυα", + "greeklish": "Broadband_Networks" }, { - "id": "2025", - "name": "Υποχρεωτικά Μαθήματα", - "courses": [ - { - "id": "5557", - "name": "Ανάλυση και Σύνθεση Ραδιοσυστημάτων", - "minified": "Ανάλυση και Σύνθεση Ραδιοσυστημάτων", - "greeklish": "ASRS" - }, - { - "id": "307", - "name": "Ασύρματες Επικοινωνίες", - "minified": "Ασύρματες Επικοινωνίες", - "greeklish": "Asyrmates_Epikoinonies" - }, - { - "id": "151", - "name": "Μικροκυματική Τεχνολογία", - "minified": "Μικροκυματική Τεχνολογία", - "greeklish": "Microwave_Technology" - } - ] + "id": "2084", + "name": "Ηλεκτρομαγνητική Συμβατότητα", + "minified": "Ηλεκτρομαγνητική Συμβατότητα", + "greeklish": "EMC" + }, + { + "id": "5555", + "name": "Κώδικες Διόρθωσης Σφαλμάτων", + "minified": "Κώδικες Διόρθωσης Σφαλμάτων", + "greeklish": "Error_Correction_Codes" + }, + { + "id": "155", + "name": "Τεχνικές μη Καταστρεπτικών Δοκιμών", + "minified": "Τεχνικές μη Καταστρεπτικών Δοκιμών", + "greeklish": "Non_Destructive_Testing_Techniques" + }, + { + "id": "1768", + "name": "Τεχνολογία Ήχου και Εικόνας: Αποθήκευση, Επεξεργασία, Μετάδοση", + "minified": "Τεχνολογία Ήχου και Εικόνας", + "greeklish": "Texnologia_Ixou_Eikonas" + }, + { + "id": "153", + "name": "Φωτονική Τεχνολογία", + "minified": "Φωτονική Τεχνολογία", + "greeklish": "Fotoniki_Texnologia" + } + ] + }, + { + "id": "2025", + "name": "Υποχρεωτικά Μαθήματα", + "courses": [ + { + "id": "5557", + "name": "Ανάλυση και Σύνθεση Ραδιοσυστημάτων", + "minified": "Ανάλυση και Σύνθεση Ραδιοσυστημάτων", + "greeklish": "ASRS" + }, + { + "id": "307", + "name": "Ασύρματες Επικοινωνίες", + "minified": "Ασύρματες Επικοινωνίες", + "greeklish": "Asyrmates_Epikoinonies" + }, + { + "id": "151", + "name": "Μικροκυματική Τεχνολογία", + "minified": "Μικροκυματική Τεχνολογία", + "greeklish": "Microwave_Technology" } ] }