Use Collator to sort saved networks.

Bug: 36570745
Test: m RunSettingsRoboTests && manually checking Saved networks
Change-Id: I58bfc07c8456746bba88bffdc9c6c7df8650e012
(cherry picked from commit 0c0fc19aef603470fc42ca33771e57c3656510eb)
diff --git a/src/com/android/settings/wifi/SavedAccessPointsWifiSettings.java b/src/com/android/settings/wifi/SavedAccessPointsWifiSettings.java
index b8fb07d..b9ffcaf 100644
--- a/src/com/android/settings/wifi/SavedAccessPointsWifiSettings.java
+++ b/src/com/android/settings/wifi/SavedAccessPointsWifiSettings.java
@@ -19,6 +19,7 @@
 import android.app.Dialog;
 import android.content.Context;
 import android.content.res.Resources;
+import android.icu.text.Collator;
 import android.net.wifi.WifiManager;
 import android.os.Bundle;
 import android.provider.SearchIndexableResource;
@@ -49,6 +50,19 @@
 public class SavedAccessPointsWifiSettings extends SettingsPreferenceFragment
         implements Indexable, WifiDialog.WifiDialogListener {
     private static final String TAG = "SavedAccessPointsWifiSettings";
+    private static final Comparator<AccessPoint> SAVED_NETWORK_COMPARATOR =
+            new Comparator<AccessPoint>() {
+        final Collator mCollator = Collator.getInstance();
+        @Override
+        public int compare(AccessPoint ap1, AccessPoint ap2) {
+            return mCollator.compare(
+                    nullToEmpty(ap1.getConfigName()), nullToEmpty(ap2.getConfigName()));
+        }
+
+        private String nullToEmpty(String string) {
+            return (string == null) ? "" : string;
+        }
+    };
 
     private WifiDialog mDialog;
     private WifiManager mWifiManager;
@@ -98,15 +112,7 @@
 
         final List<AccessPoint> accessPoints = WifiTracker.getCurrentAccessPoints(context, true,
                 false, true);
-        Collections.sort(accessPoints, new Comparator<AccessPoint>() {
-            public int compare(AccessPoint ap1, AccessPoint ap2) {
-                if (ap1.getConfigName() != null) {
-                    return ap1.getConfigName().compareToIgnoreCase(ap2.getConfigName());
-                } else {
-                    return -1;
-                }
-            }
-        });
+        Collections.sort(accessPoints, SAVED_NETWORK_COMPARATOR);
         preferenceScreen.removeAll();
 
         final int accessPointsSize = accessPoints.size();