Make SortedStringKeys call SortedKeys

I realized this could work if I make it generic.

Bug: 193460475
Test: m nothing
Change-Id: I2071b4cdbccb642ebdbb1342f7d91e581aab9f0f
diff --git a/android/util.go b/android/util.go
index 6c0ddf4..38e0a4d 100644
--- a/android/util.go
+++ b/android/util.go
@@ -65,21 +65,8 @@
 // SortedStringKeys returns the keys of the given map in the ascending order.
 //
 // Deprecated: Use SortedKeys instead.
-func SortedStringKeys(m interface{}) []string {
-	v := reflect.ValueOf(m)
-	if v.Kind() != reflect.Map {
-		panic(fmt.Sprintf("%#v is not a map", m))
-	}
-	if v.Len() == 0 {
-		return nil
-	}
-	iter := v.MapRange()
-	s := make([]string, 0, v.Len())
-	for iter.Next() {
-		s = append(s, iter.Key().String())
-	}
-	sort.Strings(s)
-	return s
+func SortedStringKeys[V any](m map[string]V) []string {
+	return SortedKeys(m)
 }
 
 type Ordered interface {
diff --git a/android/util_test.go b/android/util_test.go
index 51d8e32..1034d9e 100644
--- a/android/util_test.go
+++ b/android/util_test.go
@@ -671,44 +671,6 @@
 	testSortedKeysHelper(t, "empty", map[string]string{}, nil)
 }
 
-func TestSortedStringKeys(t *testing.T) {
-	testCases := []struct {
-		name     string
-		in       interface{}
-		expected []string
-	}{
-		{
-			name:     "nil",
-			in:       map[string]string(nil),
-			expected: nil,
-		},
-		{
-			name:     "empty",
-			in:       map[string]string{},
-			expected: nil,
-		},
-		{
-			name:     "simple",
-			in:       map[string]string{"a": "foo", "b": "bar"},
-			expected: []string{"a", "b"},
-		},
-		{
-			name:     "interface values",
-			in:       map[string]interface{}{"a": nil, "b": nil},
-			expected: []string{"a", "b"},
-		},
-	}
-
-	for _, tt := range testCases {
-		t.Run(tt.name, func(t *testing.T) {
-			got := SortedStringKeys(tt.in)
-			if g, w := got, tt.expected; !reflect.DeepEqual(g, w) {
-				t.Errorf("wanted %q, got %q", w, g)
-			}
-		})
-	}
-}
-
 func TestSortedStringValues(t *testing.T) {
 	testCases := []struct {
 		name     string