summaryrefslogtreecommitdiff
path: root/android/util.go
diff options
context:
space:
mode:
Diffstat (limited to 'android/util.go')
-rw-r--r--android/util.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/android/util.go b/android/util.go
index 71ded5e07..81f481d5f 100644
--- a/android/util.go
+++ b/android/util.go
@@ -93,6 +93,20 @@ func SortedStringKeys(m interface{}) []string {
return s
}
+func SortedStringMapValues(m interface{}) []string {
+ v := reflect.ValueOf(m)
+ if v.Kind() != reflect.Map {
+ panic(fmt.Sprintf("%#v is not a map", m))
+ }
+ keys := v.MapKeys()
+ s := make([]string, 0, len(keys))
+ for _, key := range keys {
+ s = append(s, v.MapIndex(key).String())
+ }
+ sort.Strings(s)
+ return s
+}
+
func IndexList(s string, list []string) int {
for i, l := range list {
if l == s {
@@ -352,3 +366,14 @@ func ShardStrings(s []string, shardSize int) [][]string {
}
return ret
}
+
+func CheckDuplicate(values []string) (duplicate string, found bool) {
+ seen := make(map[string]string)
+ for _, v := range values {
+ if duplicate, found = seen[v]; found {
+ return
+ }
+ seen[v] = v
+ }
+ return
+}