diff options
author | tiansiming <tiansiming@xiaomi.com> | 2017-11-13 19:52:12 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-11-13 19:52:12 +0000 |
commit | 78d7e2a096e6dfdd4a20b75ff4de3aa2b72fc0ba (patch) | |
tree | f9e76f932e30470ba19325264dd33494c808f79b /src/com/android/settings/datetime | |
parent | bfc698394720a292a7cc6b464ea5b4d677f82f7a (diff) | |
parent | cd2e1c1535700304fae776b70468fd3c912d12ab (diff) | |
download | packages_apps_Settings-78d7e2a096e6dfdd4a20b75ff4de3aa2b72fc0ba.tar.gz packages_apps_Settings-78d7e2a096e6dfdd4a20b75ff4de3aa2b72fc0ba.tar.bz2 packages_apps_Settings-78d7e2a096e6dfdd4a20b75ff4de3aa2b72fc0ba.zip |
Merge "Modify Comparator in ZonePicker" am: 3c03207f9f
am: cd2e1c1535
Change-Id: I97ec8751980a29d953f1a49b36cc78b66461e3e7
Diffstat (limited to 'src/com/android/settings/datetime')
-rw-r--r-- | src/com/android/settings/datetime/ZonePicker.java | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/com/android/settings/datetime/ZonePicker.java b/src/com/android/settings/datetime/ZonePicker.java index 2d58dd8b42..87f2b75f95 100644 --- a/src/com/android/settings/datetime/ZonePicker.java +++ b/src/com/android/settings/datetime/ZonePicker.java @@ -22,6 +22,7 @@ import android.app.AlarmManager; import android.app.ListFragment; import android.content.Context; import android.os.Bundle; +import android.support.annotation.VisibleForTesting; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; @@ -38,6 +39,7 @@ import com.android.settings.core.instrumentation.Instrumentable; import com.android.settings.core.instrumentation.VisibilityLoggerMixin; import com.android.settingslib.datetime.ZoneGetter; +import java.text.Collator; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; @@ -257,15 +259,21 @@ public class ZonePicker extends ListFragment implements Instrumentable { mVisibilityLoggerMixin.onPause(); } - private static class MyComparator implements Comparator<Map<?, ?>> { + @VisibleForTesting + static class MyComparator implements Comparator<Map<?, ?>> { + private final Collator mCollator; private String mSortingKey; + private boolean mSortedByName; public MyComparator(String sortingKey) { + mCollator = Collator.getInstance(); mSortingKey = sortingKey; + mSortedByName = ZoneGetter.KEY_DISPLAY_LABEL.equals(sortingKey); } public void setSortingKey(String sortingKey) { mSortingKey = sortingKey; + mSortedByName = ZoneGetter.KEY_DISPLAY_LABEL.equals(sortingKey); } public int compare(Map<?, ?> map1, Map<?, ?> map2) { @@ -282,7 +290,11 @@ public class ZonePicker extends ListFragment implements Instrumentable { return -1; } - return ((Comparable) value1).compareTo(value2); + if (mSortedByName) { + return mCollator.compare(value1, value2); + } else { + return ((Comparable) value1).compareTo(value2); + } } private boolean isComparable(Object value) { |