hotfix app crash and some ui updates, release 1.0.3
This commit is contained in:
@@ -575,7 +575,7 @@ class DayFragment : Fragment() {
|
||||
dayEndTextView.text = Vars.dayEndString
|
||||
dayEndTextView.typeface = customFont
|
||||
dayEndTextView.setAutoSizeTextTypeUniformWithConfiguration(55, 85, 1, 0)
|
||||
dayEndTextView.setPadding(0, 30, 0, 30)
|
||||
dayEndTextView.setPadding(0, 25, 0, 25)
|
||||
dayEndTextView.textAlignment = View.TEXT_ALIGNMENT_CENTER
|
||||
dayEndTextView.gravity = Gravity.CENTER
|
||||
dayEndTextView.setTextColor(
|
||||
@@ -670,6 +670,25 @@ class Subject {
|
||||
|
||||
return s
|
||||
}
|
||||
|
||||
fun empty(): Subject {
|
||||
val s = Subject()
|
||||
|
||||
s.name = "err"
|
||||
s.place = "error"
|
||||
s.teacher = "error"
|
||||
s.substitute = "0"
|
||||
s.number = "0"
|
||||
s.start = "00:00"
|
||||
s.end = "00:00"
|
||||
s.free = false
|
||||
|
||||
return s
|
||||
}
|
||||
}
|
||||
|
||||
override fun toString(): String {
|
||||
return "subject ${this.name} at ${this.place} from ${this.start} to ${this.end}; free? ${this.free}"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -144,7 +144,10 @@ class Network {
|
||||
|
||||
try {
|
||||
val resp = Vars.client.newCall(request).execute()
|
||||
resp.body?.string().toString()
|
||||
val s = resp.body?.string().toString()
|
||||
val s2 = JSONObject(s).getJSONArray("days").getString(1)
|
||||
Log.d("TIMETABLE", s2)
|
||||
s
|
||||
} catch (e: IOException) {
|
||||
"""{"error": "network"}"""
|
||||
}
|
||||
|
||||
@@ -7,6 +7,42 @@ import java.time.format.DateTimeFormatter
|
||||
|
||||
class Parsing {
|
||||
companion object {
|
||||
private fun eventLecture(subject: Subject, subj: JSONObject, subjects: MutableList<Subject>) {
|
||||
subject.name = subj.get("title").toString()
|
||||
subject.place = ""
|
||||
subject.teacher = ""
|
||||
subject.substitute = "2" // 2 means school event
|
||||
|
||||
val hourspan = subj.getJSONArray("detailHours").length()
|
||||
if (hourspan == 1) {
|
||||
val detailHours = subj.getJSONArray("detailHours")
|
||||
subject.number = detailHours.getJSONObject(0).get("id").toString()
|
||||
subject.start = detailHours.getJSONObject(0).get("timeFrom").toString()
|
||||
subject.start = subject.start.slice(0..subject.start.length - 4)
|
||||
subject.end = detailHours.getJSONObject(0).get("timeto").toString()
|
||||
subject.end = subject.end.slice(0..subject.end.length - 4)
|
||||
subjects.add(subject)
|
||||
} else {
|
||||
for (i in 0..<hourspan) {
|
||||
val newSubject = Subject()
|
||||
newSubject.name = subject.name
|
||||
newSubject.place = subject.place
|
||||
newSubject.teacher = subject.teacher
|
||||
newSubject.substitute = subject.substitute
|
||||
|
||||
val detailHours = subj.getJSONArray("detailHours")
|
||||
newSubject.number = detailHours.getJSONObject(i).get("id").toString()
|
||||
newSubject.start =
|
||||
detailHours.getJSONObject(i).get("timeFrom").toString()
|
||||
newSubject.start =
|
||||
newSubject.start.slice(0..newSubject.start.length - 4)
|
||||
newSubject.end = detailHours.getJSONObject(i).get("timeto").toString()
|
||||
newSubject.end = newSubject.end.slice(0..newSubject.end.length - 4)
|
||||
subjects.add(newSubject)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun userIsParent(): Boolean {
|
||||
return if (Vars.userData != "") {
|
||||
JSONObject(Vars.userData).getString("userType") == "parent"
|
||||
@@ -94,86 +130,77 @@ class Parsing {
|
||||
val hourspan = subj.getJSONArray("detailHours").length()
|
||||
subject.number = "1 - $hourspan"
|
||||
subject.start = subj.get("beginTime").toString()
|
||||
subject.start = subject.start.slice(0..subject.start.length-4)
|
||||
subject.start = subject.start.slice(0..subject.start.length - 4)
|
||||
subject.end = subj.get("endTime").toString()
|
||||
subject.end = subject.end.slice(0..subject.end.length-4)
|
||||
subject.end = subject.end.slice(0..subject.end.length - 4)
|
||||
|
||||
subjects.add(subject)
|
||||
}
|
||||
"S_NAHRADOU_SKOL_AKCE" -> {
|
||||
subject.name = subj.get("title").toString()
|
||||
subject.place = ""
|
||||
subject.teacher = ""
|
||||
subject.substitute = "2" // 2 means school event
|
||||
|
||||
val hourspan = subj.getJSONArray("detailHours").length()
|
||||
if (hourspan == 1) {
|
||||
val detailHours = subj.getJSONArray("detailHours")
|
||||
subject.number = detailHours.getJSONObject(0).get("id").toString()
|
||||
subject.start = detailHours.getJSONObject(0).get("timeFrom").toString()
|
||||
subject.start = subject.start.slice(0..subject.start.length - 4)
|
||||
subject.end = detailHours.getJSONObject(0).get("timeto").toString()
|
||||
subject.end = subject.end.slice(0..subject.end.length - 4)
|
||||
subjects.add(subject)
|
||||
} else {
|
||||
for (i in 0..<hourspan) {
|
||||
val newSubject = Subject()
|
||||
newSubject.name = subject.name
|
||||
newSubject.place = subject.place
|
||||
newSubject.teacher = subject.teacher
|
||||
newSubject.substitute = subject.substitute
|
||||
|
||||
val detailHours = subj.getJSONArray("detailHours")
|
||||
newSubject.number = detailHours.getJSONObject(i).get("id").toString()
|
||||
newSubject.start =
|
||||
detailHours.getJSONObject(i).get("timeFrom").toString()
|
||||
newSubject.start =
|
||||
newSubject.start.slice(0..newSubject.start.length - 4)
|
||||
newSubject.end = detailHours.getJSONObject(i).get("timeto").toString()
|
||||
newSubject.end = newSubject.end.slice(0..newSubject.end.length - 4)
|
||||
subjects.add(newSubject)
|
||||
}
|
||||
}
|
||||
}
|
||||
"S_NAHRADOU_SKOL_AKCE" -> eventLecture(subject, subj, subjects)
|
||||
"S_NAHRADOU_VYUKA" -> eventLecture(subject, subj, subjects)
|
||||
}
|
||||
} else {
|
||||
subject.name = subj.getJSONObject("subject").get("abbrev").toString()
|
||||
subject.place =
|
||||
subj.getJSONArray("rooms").getJSONObject(0).get("abbrev").toString()
|
||||
subject.teacher = "" +
|
||||
"${subj.getJSONArray("teachers").getJSONObject(0).get("name")} " +
|
||||
"${subj.getJSONArray("teachers").getJSONObject(0).get("surname")}"
|
||||
if (type == "ROZVRH") {
|
||||
subject.substitute = "0"
|
||||
} else if (type == "SUPLOVANI") {
|
||||
subject.substitute = "1"
|
||||
"${
|
||||
subj.getJSONArray("teachers").getJSONObject(0).get("name")
|
||||
} " +
|
||||
"${
|
||||
subj.getJSONArray("teachers").getJSONObject(0)
|
||||
.get("surname")
|
||||
}"
|
||||
subject.substitute = when (type) {
|
||||
"ROZVRH" -> "0"
|
||||
"SUPLOVANI" -> "1"
|
||||
else -> "2"
|
||||
}
|
||||
val hourspan = subj.getJSONArray("detailHours").length()
|
||||
if (hourspan == 1) {
|
||||
val detailHours = subj.getJSONArray("detailHours")
|
||||
subject.number = detailHours.getJSONObject(0).get("id").toString()
|
||||
subject.start = detailHours.getJSONObject(0).get("timeFrom").toString()
|
||||
subject.start =
|
||||
detailHours.getJSONObject(0).get("timeFrom").toString()
|
||||
subject.start = subject.start.slice(0..subject.start.length - 4)
|
||||
subject.end = detailHours.getJSONObject(0).get("timeto").toString()
|
||||
subject.end = subject.end.slice(0..subject.end.length - 4)
|
||||
subjects.add(subject)
|
||||
} else {
|
||||
for (i in 0..<hourspan) {
|
||||
val newSubject = Subject()
|
||||
newSubject.name = subject.name
|
||||
newSubject.place = subject.place
|
||||
newSubject.teacher = subject.teacher
|
||||
newSubject.substitute = subject.substitute
|
||||
|
||||
if (subject.substitute == "2") {
|
||||
val detailHours = subj.getJSONArray("detailHours")
|
||||
newSubject.number = detailHours.getJSONObject(i).get("id").toString()
|
||||
newSubject.start =
|
||||
detailHours.getJSONObject(i).get("timeFrom").toString()
|
||||
newSubject.start =
|
||||
newSubject.start.slice(0..newSubject.start.length - 4)
|
||||
newSubject.end = detailHours.getJSONObject(i).get("timeto").toString()
|
||||
newSubject.end = newSubject.end.slice(0..newSubject.end.length - 4)
|
||||
subjects.add(newSubject)
|
||||
val latestTime =
|
||||
detailHours.getJSONObject(detailHours.length() - 1)
|
||||
subject.number = latestTime.get("id").toString()
|
||||
subject.start = latestTime.get("timeFrom").toString()
|
||||
subject.start =
|
||||
subject.start.slice(0..subject.start.length - 4)
|
||||
subject.end = latestTime.get("timeto").toString()
|
||||
subject.end = subject.end.slice(0..subject.end.length - 4)
|
||||
subjects.add(subject)
|
||||
} else {
|
||||
for (i in 0..<hourspan) {
|
||||
val newSubject = Subject()
|
||||
newSubject.name = subject.name
|
||||
newSubject.place = subject.place
|
||||
newSubject.teacher = subject.teacher
|
||||
newSubject.substitute = subject.substitute
|
||||
|
||||
val detailHours = subj.getJSONArray("detailHours")
|
||||
newSubject.number =
|
||||
detailHours.getJSONObject(i).get("id").toString()
|
||||
newSubject.start =
|
||||
detailHours.getJSONObject(i).get("timeFrom")
|
||||
.toString()
|
||||
newSubject.start =
|
||||
newSubject.start.slice(0..newSubject.start.length - 4)
|
||||
newSubject.end =
|
||||
detailHours.getJSONObject(i).get("timeto")
|
||||
.toString()
|
||||
newSubject.end =
|
||||
newSubject.end.slice(0..newSubject.end.length - 4)
|
||||
subjects.add(newSubject)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -218,8 +245,10 @@ class Parsing {
|
||||
}
|
||||
}
|
||||
auxSubjects.add(subjects[subjects.size - 1])
|
||||
} else {
|
||||
} else if (subjects.size > 0) {
|
||||
auxSubjects.add(subjects[0])
|
||||
} else {
|
||||
auxSubjects.add(Subject.empty())
|
||||
}
|
||||
|
||||
for ((i, s) in auxSubjects.withIndex()) {
|
||||
@@ -234,6 +263,21 @@ class Parsing {
|
||||
day.date = date
|
||||
day.subjects = auxSubjects
|
||||
|
||||
val nextSubjects: MutableList<Subject> = mutableListOf()
|
||||
var prevSubject: Subject = Subject.empty()
|
||||
|
||||
for (s in day.subjects) {
|
||||
if (prevSubject.name != s.name) {
|
||||
nextSubjects.add(s)
|
||||
}
|
||||
prevSubject = s
|
||||
}
|
||||
|
||||
nextSubjects[nextSubjects.size-1].start = day.subjects[day.subjects.size-1].start
|
||||
nextSubjects[nextSubjects.size-1].end = day.subjects[day.subjects.size-1].end
|
||||
|
||||
day.subjects = nextSubjects
|
||||
|
||||
week.add(day)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user