Bimba.git

ref: ef9c50aed3aab8d733a725c2aeb539cba7d3880e

app/src/main/java/ml/adamsprogs/bimba/models/suggestions/LineSuggestion.kt


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package ml.adamsprogs.bimba.models.suggestions

import android.content.Context
import ml.adamsprogs.bimba.R
import ml.adamsprogs.bimba.models.gtfs.Route

class LineSuggestion(name: String, private val route: Route) : GtfsSuggestion(name) {
    override fun getIcon(): Int {
        return when (route.type) {
            Route.TYPE_BUS -> R.drawable.ic_bus
            Route.TYPE_TRAM -> R.drawable.ic_tram
            else -> R.drawable.ic_vehicle
        }
    }

    override fun getBody(context: Context): String {
        return name
    }

    override fun getColour(): Int {
        return route.colour
    }

    override fun getBgColour(): Int {
        return route.textColour
    }

    override fun compareTo(other: GtfsSuggestion): Int {
        return if (other is LineSuggestion)
            name.padStart(3, '0').compareTo(other.name.padStart(3, '0'))
        else
            name.compareTo(other.name)
    }

    override fun equals(other: Any?): Boolean {
        if (other == null || other !is GtfsSuggestion)
            return false
        return if (other is LineSuggestion)
            name.padStart(3, '0') == other.name.padStart(3, '0')
        else
            name == other.name
    }

    override fun hashCode(): Int {
        var result = route.hashCode()
        result = 31 * result + name.hashCode()
        return result
    }
}