title: Android contacts: Incorrect localized collation/sorting
body: <p>this is my problem: I'm writing an alternative contacts app which is specified to work with A LOT of different languages and alphabets. When querying names in my own language, Swedish, the names using umlaut characters are sorted in an illogical manner to me, but logical to unicode i suppose:</p>
  
  <p>Should be/Swedish style: A, B, C, ..., Z, Å, Ä, Ö.</p>
  
  <p>Query result: A, Å, Ä, B, ..., N, O, Ö, P, ...</p>
  
  <p>I assume this will be a problem in any language that deviates from the latin alphabet. All tests I've made are on the emulator. My dev group are making changes to the framework so low-level answers are welcome as well.</p>
  
  <pre><code>Uri uri = ContactsContract.Contacts.CONTENT_URI;
  String[] projection = new String[] {
         ContactsContract.Contacts._ID,
         ContactsContract.Contacts.DISPLAY_NAME,
         ContactsContract.Contacts.PHOTO_ID
         };
  String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '1'";
  String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC";
  mCursor = managedQuery(uri, projection, null, null, sortOrder);
  </code></pre>
  
  <p>Update: we're currently investigating this track: <a href="http://www.rgagnon.com/javadetails/java-0343.html" rel="nofollow">Sort a String array</a>, TBC...
  I also added it as an issue on Google Code.</p>