Get rid of ParceledListSlice<String>

If we have to have horrible ParceledListSlice hacks, this is a
slightly less horrible way of doing it.

Test: runtest -x DevicePolicyManagerTest.java # (which has coverage for this API)
Change-Id: I6e7fad4684567a9b27907dcbbb93c21718bd96b5
diff --git a/src/com/android/keychain/KeyChainService.java b/src/com/android/keychain/KeyChainService.java
index d312d27..c5add9c 100644
--- a/src/com/android/keychain/KeyChainService.java
+++ b/src/com/android/keychain/KeyChainService.java
@@ -22,7 +22,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
-import android.content.pm.ParceledListSlice;
+import android.content.pm.StringParceledListSlice;
 import android.database.Cursor;
 import android.database.DatabaseUtils;
 import android.database.sqlite.SQLiteDatabase;
@@ -37,7 +37,6 @@
 import android.security.KeyChain;
 import android.security.KeyStore;
 import android.util.Log;
-import com.android.internal.util.ParcelableString;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.security.cert.CertificateException;
@@ -300,30 +299,19 @@
             broadcastLegacyStorageChange();
         }
 
-        private ParceledListSlice<ParcelableString> makeAliasesParcelableSynchronised(
-                Set<String> aliasSet) {
-            List<ParcelableString> aliases = new ArrayList<ParcelableString>(aliasSet.size());
-            for (String alias : aliasSet) {
-                ParcelableString parcelableString = new ParcelableString();
-                parcelableString.string = alias;
-                aliases.add(parcelableString);
-            }
-            return new ParceledListSlice<ParcelableString>(aliases);
-        }
-
         @Override
-        public ParceledListSlice<ParcelableString> getUserCaAliases() {
+        public StringParceledListSlice getUserCaAliases() {
             synchronized (mTrustedCertificateStore) {
-                Set<String> aliasSet = mTrustedCertificateStore.userAliases();
-                return makeAliasesParcelableSynchronised(aliasSet);
+                return new StringParceledListSlice(new ArrayList<String>(
+                        mTrustedCertificateStore.userAliases()));
             }
         }
 
         @Override
-        public ParceledListSlice<ParcelableString> getSystemCaAliases() {
+        public StringParceledListSlice getSystemCaAliases() {
             synchronized (mTrustedCertificateStore) {
-                Set<String> aliasSet = mTrustedCertificateStore.allSystemAliases();
-                return makeAliasesParcelableSynchronised(aliasSet);
+                return new StringParceledListSlice(new ArrayList<String>(
+                        mTrustedCertificateStore.allSystemAliases()));
             }
         }