@@ -15,24 +15,29 @@ class AmiiboComparator(var settings: BrowserSettings) : Comparator<Amiibo> {
15
15
settings.amiiboManager?.let {
16
16
val amiibo1 = it.amiibos[amiiboId1]
17
17
val amiibo2 = it.amiibos[amiiboId2]
18
- if (null == amiibo1 && null == amiibo2)
19
- value = 0
20
- else if (null == amiibo1)
21
- value = 1
22
- else if (null == amiibo2)
23
- value = - 1
24
- else if (sort == SORT .NAME .value) {
25
- value = compareAmiiboName(amiibo1, amiibo2)
26
- } else if (sort == SORT .AMIIBO_SERIES .value) {
27
- value = compareAmiiboSeries(amiibo1, amiibo2)
28
- } else if (sort == SORT .AMIIBO_TYPE .value) {
29
- value = compareAmiiboType(amiibo1, amiibo2)
30
- } else if (sort == SORT .GAME_SERIES .value) {
31
- value = compareGameSeries(amiibo1, amiibo2)
32
- } else if (sort == SORT .CHARACTER .value) {
33
- value = compareCharacter(amiibo1, amiibo2)
18
+ value = when {
19
+ null == amiibo1 && null == amiibo2 -> 0
20
+ null == amiibo1 -> 1
21
+ null == amiibo2 -> - 1
22
+ sort == SORT .NAME .value -> {
23
+ compareAmiiboName(amiibo1, amiibo2)
24
+ }
25
+ sort == SORT .AMIIBO_SERIES .value -> {
26
+ compareAmiiboSeries(amiibo1, amiibo2)
27
+ }
28
+ sort == SORT .AMIIBO_TYPE .value -> {
29
+ compareAmiiboType(amiibo1, amiibo2)
30
+ }
31
+ sort == SORT .GAME_SERIES .value -> {
32
+ compareGameSeries(amiibo1, amiibo2)
33
+ }
34
+ sort == SORT .CHARACTER .value -> {
35
+ compareCharacter(amiibo1, amiibo2)
36
+ }
37
+ else -> {
38
+ amiibo1.compareTo(amiibo2)
39
+ }
34
40
}
35
- if (value == 0 && null != amiibo1) value = amiibo1.compareTo(amiibo2!! )
36
41
}
37
42
if (value == 0 ) value = compareAmiiboId(amiiboId1, amiiboId2)
38
43
}
@@ -46,70 +51,100 @@ class AmiiboComparator(var settings: BrowserSettings) : Comparator<Amiibo> {
46
51
private fun compareAmiiboName (amiibo1 : Amiibo , amiibo2 : Amiibo ): Int {
47
52
val name1 = amiibo1.name
48
53
val name2 = amiibo2.name
49
- if (null == name1 && null == name2) {
50
- return 0
51
- }
52
- if (null == name1) {
53
- return 1
54
- } else if (null == name2) {
55
- return - 1
54
+ return when {
55
+ null == name1 && null == name2 -> {
56
+ 0
57
+ }
58
+
59
+ null == name1 -> {
60
+ 1
61
+ }
62
+
63
+ null == name2 -> {
64
+ - 1
65
+ }
66
+
67
+ else -> name1.compareTo(name2)
56
68
}
57
- return name1.compareTo(name2)
58
69
}
59
70
60
71
private fun compareAmiiboSeries (amiibo1 : Amiibo , amiibo2 : Amiibo ): Int {
61
72
val amiiboSeries1 = amiibo1.amiiboSeries
62
73
val amiiboSeries2 = amiibo2.amiiboSeries
63
- if (null == amiiboSeries1 && null == amiiboSeries2) {
64
- return 0
65
- }
66
- if (null == amiiboSeries1) {
67
- return 1
68
- } else if (null == amiiboSeries2) {
69
- return - 1
74
+ return when {
75
+ null == amiiboSeries1 && null == amiiboSeries2 -> {
76
+ 0
77
+ }
78
+
79
+ null == amiiboSeries1 -> {
80
+ 1
81
+ }
82
+
83
+ null == amiiboSeries2 -> {
84
+ - 1
85
+ }
86
+
87
+ else -> amiiboSeries1.compareTo(amiiboSeries2)
70
88
}
71
- return amiiboSeries1.compareTo(amiiboSeries2)
72
89
}
73
90
74
91
private fun compareAmiiboType (amiibo1 : Amiibo , amiibo2 : Amiibo ): Int {
75
92
val amiiboType1 = amiibo1.amiiboType
76
93
val amiiboType2 = amiibo2.amiiboType
77
- if (null == amiiboType1 && null == amiiboType2) {
78
- return 0
79
- }
80
- if (null == amiiboType1) {
81
- return 1
82
- } else if (null == amiiboType2) {
83
- return - 1
94
+ return when {
95
+ null == amiiboType1 && null == amiiboType2 -> {
96
+ 0
97
+ }
98
+
99
+ null == amiiboType1 -> {
100
+ 1
101
+ }
102
+
103
+ null == amiiboType2 -> {
104
+ - 1
105
+ }
106
+
107
+ else -> amiiboType1.compareTo(amiiboType2)
84
108
}
85
- return amiiboType1.compareTo(amiiboType2)
86
109
}
87
110
88
111
private fun compareGameSeries (amiibo1 : Amiibo , amiibo2 : Amiibo ): Int {
89
112
val gameSeries1 = amiibo1.gameSeries
90
113
val gameSeries2 = amiibo2.gameSeries
91
- if (null == gameSeries1 && null == gameSeries2) {
92
- return 0
93
- }
94
- if (null == gameSeries1) {
95
- return 1
96
- } else if (null == gameSeries2) {
97
- return - 1
114
+ return when {
115
+ null == gameSeries1 && null == gameSeries2 -> {
116
+ 0
117
+ }
118
+
119
+ null == gameSeries1 -> {
120
+ 1
121
+ }
122
+
123
+ null == gameSeries2 -> {
124
+ - 1
125
+ }
126
+
127
+ else -> gameSeries1.compareTo(gameSeries2)
98
128
}
99
- return gameSeries1.compareTo(gameSeries2)
100
129
}
101
130
102
131
private fun compareCharacter (amiibo1 : Amiibo , amiibo2 : Amiibo ): Int {
103
132
val character1 = amiibo1.character
104
133
val character2 = amiibo2.character
105
- if (null == character1 && null == character2) {
106
- return 0
107
- }
108
- if (null == character1) {
109
- return 1
110
- } else if (null == character2) {
111
- return - 1
134
+ return when {
135
+ null == character1 && null == character2 -> {
136
+ 0
137
+ }
138
+
139
+ null == character1 -> {
140
+ 1
141
+ }
142
+
143
+ null == character2 -> {
144
+ - 1
145
+ }
146
+
147
+ else -> character1.compareTo(character2)
112
148
}
113
- return character1.compareTo(character2)
114
149
}
115
150
}
0 commit comments