From d91dfcf477c623c97251601ce6f42690b892563e Mon Sep 17 00:00:00 2001 From: Ezerous Date: Sat, 6 Jul 2019 15:37:14 +0300 Subject: [PATCH] Uploads improvements --- .../activities/upload/UploadActivity.java | 44 ++++++------------- .../activities/upload/UploadsCourse.java | 5 ++- app/src/main/res/values/uploads_courses.xml | 4 ++ 3 files changed, 21 insertions(+), 32 deletions(-) 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 dcf9b90e..6d0a2d9b 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 @@ -130,7 +130,7 @@ public class UploadActivity extends BaseActivity { private EditText uploadTitle; private EditText uploadFilename; private EditText uploadDescription; - private AppCompatButton titleDescriptionBuilderButton; + private AppCompatButton generateFieldsButton; private LinearLayout filesListView; @Override @@ -174,9 +174,9 @@ public class UploadActivity extends BaseActivity { rootCategorySpinner = findViewById(R.id.upload_spinner_category_root); rootCategorySpinner.setOnItemSelectedListener(new CustomOnItemSelectedListener(uploadRootCategories)); - titleDescriptionBuilderButton = findViewById(R.id.upload_title_description_builder); - titleDescriptionBuilderButton.setEnabled(false); - titleDescriptionBuilderButton.setOnClickListener(view -> { + generateFieldsButton = findViewById(R.id.upload_title_description_builder); + generateFieldsButton.setEnabled(false); + generateFieldsButton.setOnClickListener(view -> { if(uploadsCourse!=null && !uploadsCourse.getName().equals("") && !semester.equals("")){ Intent intent = new Intent(UploadActivity.this, UploadFieldsBuilderActivity.class); Bundle builderExtras = new Bundle(); @@ -410,7 +410,7 @@ public class UploadActivity extends BaseActivity { } else { //Renders the already parsed data updateUIElements(); - titleDescriptionBuilderButton.setEnabled(true); + generateFieldsButton.setEnabled(true); } Resources res = getResources(); @@ -841,7 +841,7 @@ public class UploadActivity extends BaseActivity { } categorySelected = parentCategories.get(position).getValue(); - setCourseAndSemester(); + generateFieldsButton.setEnabled(false); //Adds new sub-category spinner if (parentCategories.get(position).hasSubCategories()) { @@ -882,6 +882,8 @@ public class UploadActivity extends BaseActivity { } } } + else + setCourseAndSemester(); } @Override @@ -890,21 +892,13 @@ public class UploadActivity extends BaseActivity { private void setCourseAndSemester(){ uploadsCourse = null; semester = ""; - - if (categorySelected.equals("-1")) { - titleDescriptionBuilderButton.setEnabled(false); - return; - } + if (categorySelected.equals("-1")) return; int numberOfSpinners = categoriesSpinners.getChildCount(); - if (numberOfSpinners < 3) { - titleDescriptionBuilderButton.setEnabled(false); - return; - } + if (numberOfSpinners < 3) return; - String maybeSemester = ""; - String maybeCourse = ""; + String maybeSemester, maybeCourse; if (numberOfSpinners == 5) { if (((AppCompatSpinnerWithoutDefault) categoriesSpinners.getChildAt(numberOfSpinners - 1)). @@ -927,15 +921,8 @@ public class UploadActivity extends BaseActivity { categoriesSpinners.getChildAt(numberOfSpinners - 1)).getSelectedItem(); } - if (!maybeSemester.contains("εξάμηνο") && !maybeSemester.contains("Εξάμηνο")) { - titleDescriptionBuilderButton.setEnabled(false); - return; - } - - if (maybeCourse == null) { - titleDescriptionBuilderButton.setEnabled(false); - return; - } + if (!maybeSemester.contains("εξάμηνο") && !maybeSemester.contains("Εξάμηνο")) return; + if (maybeCourse == null) return; String retrievedCourse = maybeCourse.replaceAll("-", "").replace("(ΝΠΣ)", "").trim(); String retrievedSemester = maybeSemester.replaceAll("-", "").trim().substring(0, 1); @@ -947,12 +934,9 @@ public class UploadActivity extends BaseActivity { uploadsCourse = foundUploadsCourse; semester = retrievedSemester; Timber.d("Selected course: %s, semester: %s", uploadsCourse.getName(), semester); - titleDescriptionBuilderButton.setEnabled(true); - return; + generateFieldsButton.setEnabled(true); } } - - titleDescriptionBuilderButton.setEnabled(false); } } 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 1a2f55ae..12f0475f 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 @@ -52,8 +52,9 @@ class UploadsCourse { String foundKey = null; for (Map.Entry entry : uploadsCourses.entrySet()) { String key = entry.getKey(); - if ((key.contains(retrievedCourse))&& (foundKey==null || key.length()>foundKey.length())) - foundKey = key; + if ((key.contains(retrievedCourse) || retrievedCourse.contains(key)) + && (foundKey==null || key.length()>foundKey.length())) + foundKey = key; } if(foundKey==null){ diff --git a/app/src/main/res/values/uploads_courses.xml b/app/src/main/res/values/uploads_courses.xml index 8f872389..6fb45b37 100644 --- a/app/src/main/res/values/uploads_courses.xml +++ b/app/src/main/res/values/uploads_courses.xml @@ -35,6 +35,7 @@ Διακριτά Μαθηματικά:Διακριτά Μαθηματικά:Diakrita Διακριτά μαθηματικά:Διακριτά Μαθηματικά:Diakrita Διανεμημένη Παραγωγή:Διανεμημένη Παραγωγή:Dian_Paragogi + Διατάξεις Υψηλών Συχνοτήτων:ΔΥΣ:DYS Διαφορικές Εξισώσεις:Διαφορικές:Diaforikes Διαχείριση Συστημάτων Ηλεκτρικής Ενέργειας:ΔΣΗΕ:DSHE Δομές Δεδομένων:Δομ. Δεδομ.:Domes_Dedomenon @@ -63,6 +64,7 @@ Ηλεκτρικά Κυκλώματα III:Κυκλώματα 3:Kyklomata_I Ηλεκτρικές Μετρήσεις I:Μετρήσεις 1:Metriseis_I Ηλεκτρικές Μετρήσεις II:Μετρήσεις 2:Metriseis_II + Ηλεκτρικές Μηχανές I:Μηχανές I:Mixanes_I Ηλεκτρικές Μηχανές Α\':Μηχανές Α:Mixanes_A Ηλεκτρικές Μηχανές Β\':Μηχανές Β:Mixanes_B Ηλεκτρικές Μηχανές Γ\':Μηχανές Γ:Mixanes_C @@ -132,6 +134,8 @@ Τεχνολογία Ηλεκτροτεχνικών Υλικών:Ηλεκτροτεχνικά Υλικά:Ilektrotexnika_Ylika Τεχνολογία Λογισμικού:Τεχνολογία Λογισμικού:SE Τηλεοπτικά Συστήματα:Τηλεοπτικά:Tileoptika + Τηλεπικοινωνιακά Συστήματα I:Τηλεπικοινωνιακά I:Tilepikoinoniaka_I + Τηλεπικοινωνιακά Συστήματα II:Τηλεπικοινωνιακά II:Tilepikoinoniaka_II Τηλεπικοινωνιακή Ηλεκτρονική:Τηλεπ. Ηλεκτρ.:Tilep_Ilektr Υπολογιστικές Μέθοδοι στα Ενεργειακά Συστήματα:ΥΜΕΣ:YMES Υπολογιστικός Ηλεκτρομαγνητισμός:Υπολογιστικός Η/Μ:Ypologistikos_HM